diff --git a/forge/sterling/build/0290acce3ff1bbc4a6c8.woff2 b/forge/sterling/build/0290acce3ff1bbc4a6c8.woff2
new file mode 100644
index 000000000..82b767139
Binary files /dev/null and b/forge/sterling/build/0290acce3ff1bbc4a6c8.woff2 differ
diff --git a/forge/sterling/build/07b51bea67bf7c0369f5.woff2 b/forge/sterling/build/07b51bea67bf7c0369f5.woff2
new file mode 100644
index 000000000..c9b0ada0c
Binary files /dev/null and b/forge/sterling/build/07b51bea67bf7c0369f5.woff2 differ
diff --git a/forge/sterling/build/0e81dfaccdc5adb60d7c.woff2 b/forge/sterling/build/0e81dfaccdc5adb60d7c.woff2
new file mode 100644
index 000000000..d7248cd03
Binary files /dev/null and b/forge/sterling/build/0e81dfaccdc5adb60d7c.woff2 differ
diff --git a/forge/sterling/build/1118.bundle.js b/forge/sterling/build/1118.bundle.js
new file mode 100644
index 000000000..b08d74a34
--- /dev/null
+++ b/forge/sterling/build/1118.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1118.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1118],{21118(e,t,n){n.r(t),n.d(t,{conf:()=>i,language:()=>o});var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],autoCloseBefore:".,=}])>' \n\t",indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},o={defaultToken:"",tokenPostfix:".proto",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>/,{token:"@brackets",bracket:"@close",switchTo:"identifier"}]],field:[{include:"@whitespace"},["group",{cases:{"$S2==proto2":{token:"keyword",switchTo:"@groupDecl.$S2"}}}],[/(@identifier)(\s*)(=)/,["identifier","white",{token:"delimiter",next:"@pop"}]],[/@fullIdentifier|\./,{cases:{"@builtinTypes":"keyword","@default":"type.identifier"}}]],groupDecl:[{include:"@whitespace"},[/@identifier/,"identifier"],["=","operator"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@messageBody.$S2"}],{include:"@constant"}],type:[{include:"@whitespace"},[/@identifier/,"type.identifier","@pop"],[/./,"delimiter"]],identifier:[{include:"@whitespace"},[/@identifier/,"identifier","@pop"]],serviceDecl:[{include:"@whitespace"},[/@identifier/,"identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@serviceBody.$S2"}]],serviceBody:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],[/option\b/,"keyword","@option.$S2"],[/rpc\b/,"keyword","@rpc.$S2"],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],rpc:[{include:"@whitespace"},[/@identifier/,"identifier"],[/\(/,{token:"@brackets",bracket:"@open",switchTo:"@request.$S2"}],[/{/,{token:"@brackets",bracket:"@open",next:"@methodOptions.$S2"}],[/;/,"delimiter","@pop"]],request:[{include:"@whitespace"},[/@messageType/,{cases:{stream:{token:"keyword",next:"@type.$S2"},"@default":"type.identifier"}}],[/\)/,{token:"@brackets",bracket:"@close",switchTo:"@returns.$S2"}]],returns:[{include:"@whitespace"},[/returns\b/,"keyword"],[/\(/,{token:"@brackets",bracket:"@open",switchTo:"@response.$S2"}]],response:[{include:"@whitespace"},[/@messageType/,{cases:{stream:{token:"keyword",next:"@type.$S2"},"@default":"type.identifier"}}],[/\)/,{token:"@brackets",bracket:"@close",switchTo:"@rpc.$S2"}]],methodOptions:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],["option","keyword"],[/@optionName/,"annotation"],[/[()]/,"annotation.brackets"],[/=/,"operator"],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],constant:[["@boolLit","keyword.constant"],["@hexLit","number.hex"],["@octalLit","number.octal"],["@decimalLit","number"],["@floatLit","number.float"],[/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'/,{token:"string.quote",bracket:"@open",next:"@stringSingle"}],[/{/,{token:"@brackets",bracket:"@open",next:"@prototext"}],[/identifier/,"identifier"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],prototext:[{include:"@whitespace"},{include:"@constant"},[/@identifier/,"identifier"],[/[:;]/,"delimiter"],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1118.bundle.js.LICENSE.txt b/forge/sterling/build/1118.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1118.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1122.bundle.js b/forge/sterling/build/1122.bundle.js
new file mode 100644
index 000000000..4dc61a32b
--- /dev/null
+++ b/forge/sterling/build/1122.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1122.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1122],{1122(e,t,n){n.r(t),n.d(t,{conf:()=>i,language:()=>r});var i={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},r={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1122.bundle.js.LICENSE.txt b/forge/sterling/build/1122.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1122.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1282.bundle.js b/forge/sterling/build/1282.bundle.js
new file mode 100644
index 000000000..deade1263
--- /dev/null
+++ b/forge/sterling/build/1282.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1282.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1282],{61282(e,s,t){t.r(s),t.d(s,{conf:()=>n,language:()=>r});var n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"'",close:"'",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"}]},r={defaultToken:"",tokenPostfix:".rq",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["add","as","asc","ask","base","by","clear","construct","copy","create","data","delete","desc","describe","distinct","drop","false","filter","from","graph","group","having","in","insert","limit","load","minus","move","named","not","offset","optional","order","prefix","reduced","select","service","silent","to","true","undef","union","using","values","where","with"],builtinFunctions:["a","abs","avg","bind","bnode","bound","ceil","coalesce","concat","contains","count","datatype","day","encode_for_uri","exists","floor","group_concat","hours","if","iri","isblank","isiri","isliteral","isnumeric","isuri","lang","langmatches","lcase","max","md5","min","minutes","month","now","rand","regex","replace","round","sameterm","sample","seconds","sha1","sha256","sha384","sha512","str","strafter","strbefore","strdt","strends","strlang","strlen","strstarts","struuid","substr","sum","timezone","tz","ucase","uri","uuid","year"],ignoreCase:!0,tokenizer:{root:[[/<[^\s\u00a0>]*>?/,"tag"],{include:"@strings"},[/#.*/,"comment"],[/[{}()\[\]]/,"@brackets"],[/[;,.]/,"delimiter"],[/[_\w\d]+:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])*/,"tag"],[/:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/,"tag"],[/[$?]?[_\w\d]+/,{cases:{"@keywords":{token:"keyword"},"@builtinFunctions":{token:"predefined.sql"},"@default":"identifier"}}],[/\^\^/,"operator.sql"],[/\^[*+\-<>=&|^\/!?]*/,"operator.sql"],[/[*+\-<>=&|\/!?]/,"operator.sql"],[/@[a-z\d\-]*/,"metatag.html"],[/\s+/,"white"]],strings:[[/'([^'\\]|\\.)*$/,"string.invalid"],[/'$/,"string.sql","@pop"],[/'/,"string.sql","@stringBody"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"$/,"string.sql","@pop"],[/"/,"string.sql","@dblStringBody"]],stringBody:[[/[^\\']+/,"string.sql"],[/\\./,"string.escape"],[/'/,"string.sql","@pop"]],dblStringBody:[[/[^\\"]+/,"string.sql"],[/\\./,"string.escape"],[/"/,"string.sql","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1282.bundle.js.LICENSE.txt b/forge/sterling/build/1282.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1282.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1420.bundle.js b/forge/sterling/build/1420.bundle.js
new file mode 100644
index 000000000..b60688a36
--- /dev/null
+++ b/forge/sterling/build/1420.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1420.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1420],{21420(e,t,n){n.r(t),n.d(t,{conf:()=>i,language:()=>s});var i={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},s={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1420.bundle.js.LICENSE.txt b/forge/sterling/build/1420.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1420.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1438.bundle.js b/forge/sterling/build/1438.bundle.js
new file mode 100644
index 000000000..0c3656351
--- /dev/null
+++ b/forge/sterling/build/1438.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1438.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1438],{1438(e,t,n){n.r(t),n.d(t,{conf:()=>c,language:()=>d});var a=n(88349),o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,m={};o(m,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of l(t))r.call(e,a)||"default"===a||o(e,a,{get:()=>t[a],enumerable:!(n=i(t,a))||n.enumerable})})(m,a);var c={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp("<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:m.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:m.languages.IndentAction.Indent}}]},d={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[/|$)/,O.html=M(O.html,"i").replace("comment",O._comment).replace("tag",O._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),O.paragraph=M(O._paragraph).replace("hr",O.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",O._tag).getRegex(),O.blockquote=M(O.blockquote).replace("paragraph",O.paragraph).getRegex(),O.normal=T({},O),O.gfm=T({},O.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)\\|?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),O.gfm.table=M(O.gfm.table).replace("hr",O.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",O._tag).getRegex(),O.pedantic=T({},O.normal,{html:M("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",O._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:A,paragraph:M(O.normal._paragraph).replace("hr",O.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",O.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var P={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:A,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:A,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};P.punctuation=M(P.punctuation).replace(/punctuation/g,P._punctuation).getRegex(),P.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,P.escapedEmSt=/\\\*|\\_/g,P._comment=M(O._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),P.emStrong.lDelim=M(P.emStrong.lDelim).replace(/punct/g,P._punctuation).getRegex(),P.emStrong.rDelimAst=M(P.emStrong.rDelimAst,"g").replace(/punct/g,P._punctuation).getRegex(),P.emStrong.rDelimUnd=M(P.emStrong.rDelimUnd,"g").replace(/punct/g,P._punctuation).getRegex(),P._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,P._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,P._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,P.autolink=M(P.autolink).replace("scheme",P._scheme).replace("email",P._email).getRegex(),P._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,P.tag=M(P.tag).replace("comment",P._comment).replace("attribute",P._attribute).getRegex(),P._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,P._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,P._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,P.link=M(P.link).replace("label",P._label).replace("href",P._href).replace("title",P._title).getRegex(),P.reflink=M(P.reflink).replace("label",P._label).getRegex(),P.reflinkSearch=M(P.reflinkSearch,"g").replace("reflink",P.reflink).replace("nolink",P.nolink).getRegex(),P.normal=T({},P),P.pedantic=T({},P.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:M(/^!?\[(label)\]\((.*?)\)/).replace("label",P._label).getRegex(),reflink:M(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",P._label).getRegex()}),P.gfm=T({},P.normal,{escape:M(P.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1;)1&t&&(n+=e),t>>=1,e+=e;return n+e};function H(e){return e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function j(e){var t,n,i="",o=e.length;for(t=0;t.5&&(n="x"+n.toString(16)),i+=""+n+";";return i}var U=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||B,this.options.tokenizer=this.options.tokenizer||new F,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var t={block:W.normal,inline:V.normal};this.options.pedantic?(t.block=W.pedantic,t.inline=V.pedantic):this.options.gfm&&(t.block=W.gfm,this.options.breaks?t.inline=V.breaks:t.inline=V.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n,i,o=t.prototype;return o.lex=function(e){var t;for(e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens},o.blockTokens=function(e,t){var n,i,o,r,s=this;for(void 0===t&&(t=[]),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(i){return!!(n=i.call({lexer:s},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)})))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),n.type&&t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?t.push(n):(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(i.raw+="\n"+n.raw,i.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else if(o=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),i=void 0;s.options.extensions.startBlock.forEach(function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),this.state.top&&(n=this.tokenizer.paragraph(o)))i=t[t.length-1],r&&"paragraph"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n),r=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n);else if(e){var a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}return this.state.top=!0,t},o.inline=function(e,t){this.inlineQueue.push({src:e,tokens:t})},o.inlineTokens=function(e,t){var n,i,o,r=this;void 0===t&&(t=[]);var s,a,l,c=e;if(this.tokens.links){var d=Object.keys(this.tokens.links);if(d.length>0)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(c));)d.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,s.index)+"["+z("a",s[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,s.index)+"["+z("a",s[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(s=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,s.index)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(a||(l=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(i){return!!(n=i.call({lexer:r},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)})))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,c,l))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,j))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,j))){if(o=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),n=this.tokenizer.inlineText(o,H))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(l=n.raw.slice(-1)),a=!0,(i=t[t.length-1])&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else e=e.substring(n.raw.length),t.push(n);return t},n=t,i=[{key:"rules",get:function(){return{block:W,inline:V}}}],null&&e(n.prototype,null),i&&e(n,i),t}(),K=i.exports.defaults,$=function(e,t,n){if(e){var i;try{i=decodeURIComponent(u(n)).replace(g,"").toLowerCase()}catch(e){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!p.test(n)&&(n=function(e,t){f[" "+e]||(m.test(e)?f[" "+e]=e+"/":f[" "+e]=b(e,"/",!0));var n=-1===(e=f[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(v,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(_,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n},q=y,G=function(){function e(e){this.options=e||K}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,i);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",i?''+(n?e:q(e,!0))+"
\n":""+(n?e:q(e,!0))+"
\n"},t.blockquote=function(e){return"\n"+e+"
\n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
\n":"
\n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+i+">\n"},t.listitem=function(e){return""+e+"\n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return""+e+"
\n"},t.table=function(e,t){return t&&(t=""+t+""),"\n"},t.tablerow=function(e){return"\n"+e+"
\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
":"
"},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=$(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},t.image=function(e,t,n){if(null===(e=$(this.options.sanitize,this.options.baseUrl,e)))return n;var i='
":">")},t.text=function(e){return e},e}(),Z=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Y=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),X=G,Q=Z,J=Y,ee=i.exports.defaults,te=w,ne=function(){function e(e){this.options=e||ee,this.options.renderer=this.options.renderer||new X,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Q,this.slugger=new J}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,o,r,s,a,l,c,d,u,h,g,p,f,m,v,_,b,y,w="",C=e.length;for(n=0;n0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=b+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=b+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:b}):f+=b),f+=this.parse(m.tokens,p),d+=this.renderer.listitem(f,_,v);w+=this.renderer.list(d,h,g);continue;case"html":w+=this.renderer.html(u.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(d=u.tokens?this.parseInline(u.tokens):u.text;n+1An error occurred:
"+ue(e.message+"",!0)+"
";throw e}}return fe.options=fe.setOptions=function(e){return ce(fe.defaults,e),ge(fe.defaults),fe},fe.getDefaults=he,fe.defaults=pe,fe.use=function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;iAn error occurred:"+ue(e.message+"",!0)+"
";throw e}},fe.Parser=oe,fe.parser=oe.parse,fe.Renderer=se,fe.TextRenderer=ae,fe.Lexer=ie,fe.lexer=ie.lex,fe.Tokenizer=re,fe.Slugger=le,fe.parse=fe,fe},"object"==typeof exports?e.exports=o():t.amd?t(o):(n="undefined"!=typeof globalThis?globalThis:n||self).marked=o()}(),(i||exports).Parser,(i||exports).parser;var o=(i||exports).Renderer,r=((i||exports).TextRenderer,(i||exports).Lexer,(i||exports).lexer,(i||exports).Tokenizer,(i||exports).Slugger,(i||exports).parse)},2694(e,t,n){"use strict";var i=n(6925);function o(){}function r(){}r.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,r,s){if(s!==i){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return n.PropTypes=n,n}},5556(e,t,n){e.exports=n(2694)()},6925(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551(e,t,n){"use strict";var i=n(96540),o=n(69982);function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nt}return!1}(t,n,o,i)&&(n=null),i||null===o?function(e){return!!u.call(p,e)||!u.call(g,e)&&(h.test(e)?p[e]=!0:(g[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,i=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(v,_);m[t]=new f(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(v,_);m[t]=new f(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(v,_);m[t]=new f(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){m[e]=new f(e,1,!1,e.toLowerCase(),null,!1,!1)}),m.xlinkHref=new f("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){m[e]=new f(e,1,!1,e.toLowerCase(),null,!0,!0)});var y=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),C=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),L=Symbol.for("react.provider"),E=Symbol.for("react.context"),D=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),M=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var T=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function P(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var R,F=Object.assign;function B(e){if(void 0===R)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);R=t&&t[1]||""}return"\n"+R+e}var W=!1;function V(e,t){if(!e||W)return"";W=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),r=i.stack.split("\n"),s=o.length-1,a=r.length-1;1<=s&&0<=a&&o[s]!==r[a];)a--;for(;1<=s&&0<=a;s--,a--)if(o[s]!==r[a]){if(1!==s||1!==a)do{if(s--,0>--a||o[s]!==r[a]){var l="\n"+o[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}}while(1<=s&&0<=a);break}}}finally{W=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?B(e):""}function z(e){switch(e.tag){case 5:return B(e.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return V(e.type,!1);case 11:return V(e.type.render,!1);case 1:return V(e.type,!0);default:return""}}function H(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case C:return"Portal";case k:return"Profiler";case x:return"StrictMode";case N:return"Suspense";case I:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case E:return(e.displayName||"Context")+".Consumer";case L:return(e._context.displayName||"Context")+".Provider";case D:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:H(e.type)||"Memo";case M:t=e._payload,e=e._init;try{return H(e(t))}catch(e){}}return null}function j(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return H(t);case 8:return t===x?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function U(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function $(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){i=""+e,r.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=K(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=U(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function X(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function Q(e,t){X(e,t);var n=U(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,U(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,i){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction(function(){return de(e,t)})}:de);function he(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ge={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pe=["Webkit","ms","Moz","O"];function fe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ge.hasOwnProperty(e)&&ge[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),o=fe(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,o):e[n]=o}}Object.keys(ge).forEach(function(e){pe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ge[t]=ge[e]})});var ve=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _e(e,t){if(t){if(ve[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(r(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(r(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(r(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(r(62))}}function be(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ye=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Se=null,xe=null;function ke(e){if(e=yo(e)){if("function"!=typeof Ce)throw Error(r(280));var t=e.stateNode;t&&(t=Co(t),Ce(e.stateNode,e.type,t))}}function Le(e){Se?xe?xe.push(e):xe=[e]:Se=e}function Ee(){if(Se){var e=Se,t=xe;if(xe=Se=null,ke(e),t)for(e=0;e>>=0)?32:31-(at(e)/lt|0)|0},at=Math.log,lt=Math.LN2,ct=64,dt=4194304;function ut(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var n=e.pendingLanes;if(0===n)return 0;var i=0,o=e.suspendedLanes,r=e.pingedLanes,s=268435455&n;if(0!==s){var a=s&~o;0!==a?i=ut(a):0!==(r&=s)&&(i=ut(r))}else 0!==(s=n&~o)?i=ut(s):0!==r&&(i=ut(r));if(0===i)return 0;if(0!==t&&t!==i&&0===(t&o)&&((o=i&-i)>=(r=t&-t)||16===o&&4194240&r))return t;if(4&i&&(i|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function vt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function _t(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-st(n),o=1<=Pn),Bn=String.fromCharCode(32),Wn=!1;function Vn(e,t){switch(e){case"keyup":return-1!==Tn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Hn=!1,jn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Un(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!jn[e.type]:"textarea"===t}function Kn(e,t,n,i){Le(i),0<(t=$i(t,"onChange")).length&&(n=new dn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var $n=null,qn=null;function Gn(e){Bi(e,0)}function Zn(e){if(q(wo(e)))return e}function Yn(e,t){if("change"===e)return t}var Xn=!1;if(d){var Qn;if(d){var Jn="oninput"in document;if(!Jn){var ei=document.createElement("div");ei.setAttribute("oninput","return;"),Jn="function"==typeof ei.oninput}Qn=Jn}else Qn=!1;Xn=Qn&&(!document.documentMode||9=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=ci(i)}}function ui(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?ui(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hi(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function gi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function pi(e){var t=hi(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ui(n.ownerDocument.documentElement,n)){if(null!==i&&gi(n))if(t=i.start,void 0===(e=i.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,r=Math.min(i.start,o);i=void 0===i.end?r:Math.min(i.end,o),!e.extend&&r>i&&(o=i,i=r,r=o),o=di(n,r);var s=di(n,i);o&&s&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),r>i?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n=document.documentMode,mi=null,vi=null,_i=null,bi=!1;function yi(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;bi||null==mi||mi!==G(i)||(i="selectionStart"in(i=mi)&&gi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},_i&&li(_i,i)||(_i=i,0<(i=$i(vi,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=mi)))}function wi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ci={animationend:wi("Animation","AnimationEnd"),animationiteration:wi("Animation","AnimationIteration"),animationstart:wi("Animation","AnimationStart"),transitionend:wi("Transition","TransitionEnd")},Si={},xi={};function ki(e){if(Si[e])return Si[e];if(!Ci[e])return e;var t,n=Ci[e];for(t in n)if(n.hasOwnProperty(t)&&t in xi)return Si[e]=n[t];return e}d&&(xi=document.createElement("div").style,"AnimationEvent"in window||(delete Ci.animationend.animation,delete Ci.animationiteration.animation,delete Ci.animationstart.animation),"TransitionEvent"in window||delete Ci.transitionend.transition);var Li=ki("animationend"),Ei=ki("animationiteration"),Di=ki("animationstart"),Ni=ki("transitionend"),Ii=new Map,Ai="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Mi(e,t){Ii.set(e,t),l(t,[e])}for(var Ti=0;Tixo||(e.current=So[xo],So[xo]=null,xo--)}function Eo(e,t){xo++,So[xo]=e.current,e.current=t}var Do={},No=ko(Do),Io=ko(!1),Ao=Do;function Mo(e,t){var n=e.type.contextTypes;if(!n)return Do;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var o,r={};for(o in n)r[o]=t[o];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function To(e){return null!=e.childContextTypes}function Oo(){Lo(Io),Lo(No)}function Po(e,t,n){if(No.current!==Do)throw Error(r(168));Eo(No,t),Eo(Io,n)}function Ro(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var o in i=i.getChildContext())if(!(o in t))throw Error(r(108,j(e)||"Unknown",o));return F({},n,i)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Do,Ao=No.current,Eo(No,e),Eo(Io,Io.current),!0}function Bo(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Ro(e,t,Ao),i.__reactInternalMemoizedMergedChildContext=e,Lo(Io),Lo(No),Eo(No,e)):Lo(Io),Eo(Io,n)}var Wo=null,Vo=!1,zo=!1;function Ho(e){null===Wo?Wo=[e]:Wo.push(e)}function jo(){if(!zo&&null!==Wo){zo=!0;var e=0,t=bt;try{var n=Wo;for(bt=1;e>=s,o-=s,Xo=1<<32-st(t)+o|n<f?(m=u,u=null):m=u.sibling;var v=g(o,u,a[f],l);if(null===v){null===u&&(u=m);break}e&&u&&null===v.alternate&&t(o,u),r=s(v,r,f),null===d?c=v:d.sibling=v,d=v,u=m}if(f===a.length)return n(o,u),rr&&Jo(o,f),c;if(null===u){for(;fm?(v=f,f=null):v=f.sibling;var b=g(o,f,_.value,c);if(null===b){null===f&&(f=v);break}e&&f&&null===b.alternate&&t(o,f),a=s(b,a,m),null===u?d=b:u.sibling=b,u=b,f=v}if(_.done)return n(o,f),rr&&Jo(o,m),d;if(null===f){for(;!_.done;m++,_=l.next())null!==(_=h(o,_.value,c))&&(a=s(_,a,m),null===u?d=_:u.sibling=_,u=_);return rr&&Jo(o,m),d}for(f=i(o,f);!_.done;m++,_=l.next())null!==(_=p(f,o,m,_.value,c))&&(e&&null!==_.alternate&&f.delete(null===_.key?m:_.key),a=s(_,a,m),null===u?d=_:u.sibling=_,u=_);return e&&f.forEach(function(e){return t(o,e)}),rr&&Jo(o,m),d}return function e(i,r,s,l){if("object"==typeof s&&null!==s&&s.type===S&&null===s.key&&(s=s.props.children),"object"==typeof s&&null!==s){switch(s.$$typeof){case w:e:{for(var c=s.key,d=r;null!==d;){if(d.key===c){if((c=s.type)===S){if(7===d.tag){n(i,d.sibling),(r=o(d,s.props.children)).return=i,i=r;break e}}else if(d.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===M&&br(c)===d.type){n(i,d.sibling),(r=o(d,s.props)).ref=vr(i,d,s),r.return=i,i=r;break e}n(i,d);break}t(i,d),d=d.sibling}s.type===S?((r=Oc(s.props.children,i.mode,l,s.key)).return=i,i=r):((l=Tc(s.type,s.key,s.props,null,i.mode,l)).ref=vr(i,r,s),l.return=i,i=l)}return a(i);case C:e:{for(d=s.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===s.containerInfo&&r.stateNode.implementation===s.implementation){n(i,r.sibling),(r=o(r,s.children||[])).return=i,i=r;break e}n(i,r);break}t(i,r),r=r.sibling}(r=Fc(s,i.mode,l)).return=i,i=r}return a(i);case M:return e(i,r,(d=s._init)(s._payload),l)}if(te(s))return f(i,r,s,l);if(P(s))return m(i,r,s,l);_r(i,s)}return"string"==typeof s&&""!==s||"number"==typeof s?(s=""+s,null!==r&&6===r.tag?(n(i,r.sibling),(r=o(r,s)).return=i,i=r):(n(i,r),(r=Rc(s,i.mode,l)).return=i,i=r),a(i)):n(i,r)}}var wr=yr(!0),Cr=yr(!1),Sr=ko(null),xr=null,kr=null,Lr=null;function Er(){Lr=kr=xr=null}function Dr(e){var t=Sr.current;Lo(Sr),e._currentValue=t}function Nr(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Ir(e,t){xr=e,Lr=kr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ba=!0),e.firstContext=null)}function Ar(e){var t=e._currentValue;if(Lr!==e)if(e={context:e,memoizedValue:t,next:null},null===kr){if(null===xr)throw Error(r(308));kr=e,xr.dependencies={lanes:0,firstContext:e}}else kr=kr.next=e;return t}var Mr=null;function Tr(e){null===Mr?Mr=[e]:Mr.push(e)}function Or(e,t,n,i){var o=t.interleaved;return null===o?(n.next=n,Tr(t)):(n.next=o.next,o.next=n),t.interleaved=n,Pr(e,i)}function Pr(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Rr=!1;function Fr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Br(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Wr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vr(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&El){var o=i.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),i.pending=t,Pr(e,n)}return null===(o=i.interleaved)?(t.next=t,Tr(i)):(t.next=o.next,o.next=t),i.interleaved=t,Pr(e,n)}function zr(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,_t(e,n)}}function Hr(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var o=null,r=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===r?o=r=s:r=r.next=s,n=n.next}while(null!==n);null===r?o=r=t:r=r.next=t}else o=r=t;return n={baseState:i.baseState,firstBaseUpdate:o,lastBaseUpdate:r,shared:i.shared,effects:i.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function jr(e,t,n,i){var o=e.updateQueue;Rr=!1;var r=o.firstBaseUpdate,s=o.lastBaseUpdate,a=o.shared.pending;if(null!==a){o.shared.pending=null;var l=a,c=l.next;l.next=null,null===s?r=c:s.next=c,s=l;var d=e.alternate;null!==d&&(a=(d=d.updateQueue).lastBaseUpdate)!==s&&(null===a?d.firstBaseUpdate=c:a.next=c,d.lastBaseUpdate=l)}if(null!==r){var u=o.baseState;for(s=0,d=c=l=null,a=r;;){var h=a.lane,g=a.eventTime;if((i&h)===h){null!==d&&(d=d.next={eventTime:g,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var p=e,f=a;switch(h=t,g=n,f.tag){case 1:if("function"==typeof(p=f.payload)){u=p.call(g,u,h);break e}u=p;break e;case 3:p.flags=-65537&p.flags|128;case 0:if(null==(h="function"==typeof(p=f.payload)?p.call(g,u,h):p))break e;u=F({},u,h);break e;case 2:Rr=!0}}null!==a.callback&&0!==a.lane&&(e.flags|=64,null===(h=o.effects)?o.effects=[a]:h.push(a))}else g={eventTime:g,lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===d?(c=d=g,l=u):d=d.next=g,s|=h;if(null===(a=a.next)){if(null===(a=o.shared.pending))break;a=(h=a).next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}}if(null===d&&(l=u),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=d,null!==(t=o.shared.interleaved)){o=t;do{s|=o.lane,o=o.next}while(o!==t)}else null===r&&(o.shared.lanes=0);Pl|=s,e.lanes=s,e.memoizedState=u}}function Ur(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tn?n:4,e(!0);var i=rs.transition;rs.transition={};try{e(!1),t()}finally{bt=n,rs.transition=i}}function $s(){return bs().memoizedState}function qs(e,t,n){var i=ec(e);n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},Zs(e)?Ys(t,n):null!==(n=Or(e,t,n,i))&&(tc(n,e,i,Jl()),Xs(n,t,i))}function Gs(e,t,n){var i=ec(e),o={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(Zs(e))Ys(t,o);else{var r=e.alternate;if(0===e.lanes&&(null===r||0===r.lanes)&&null!==(r=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=r(s,n);if(o.hasEagerState=!0,o.eagerState=a,ai(a,s)){var l=t.interleaved;return null===l?(o.next=o,Tr(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(e){}null!==(n=Or(e,t,o,i))&&(tc(n,e,i,o=Jl()),Xs(n,t,i))}}function Zs(e){var t=e.alternate;return e===as||null!==t&&t===as}function Ys(e,t){us=ds=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Xs(e,t,n){if(4194240&n){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,_t(e,n)}}var Qs={readContext:Ar,useCallback:ps,useContext:ps,useEffect:ps,useImperativeHandle:ps,useInsertionEffect:ps,useLayoutEffect:ps,useMemo:ps,useReducer:ps,useRef:ps,useState:ps,useDebugValue:ps,useDeferredValue:ps,useTransition:ps,useMutableSource:ps,useSyncExternalStore:ps,useId:ps,unstable_isNewReconciler:!1},Js={readContext:Ar,useCallback:function(e,t){return _s().memoizedState=[e,void 0===t?null:t],e},useContext:Ar,useEffect:Ps,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ts(4194308,4,Ws.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ts(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ts(4,2,e,t)},useMemo:function(e,t){var n=_s();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=_s();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=qs.bind(null,as,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},_s().memoizedState=e},useState:Is,useDebugValue:zs,useDeferredValue:function(e){return _s().memoizedState=e},useTransition:function(){var e=Is(!1),t=e[0];return e=Ks.bind(null,e[1]),_s().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=as,o=_s();if(rr){if(void 0===n)throw Error(r(407));n=n()}else{if(n=t(),null===Dl)throw Error(r(349));30&ss||ks(i,t,n)}o.memoizedState=n;var s={value:n,getSnapshot:t};return o.queue=s,Ps(Es.bind(null,i,s,e),[e]),i.flags|=2048,As(9,Ls.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=_s(),t=Dl.identifierPrefix;if(rr){var n=Qo;t=":"+t+"R"+(n=(Xo&~(1<<32-st(Xo)-1)).toString(32)+n),0<(n=hs++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=gs++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ea={readContext:Ar,useCallback:Hs,useContext:Ar,useEffect:Rs,useImperativeHandle:Vs,useInsertionEffect:Fs,useLayoutEffect:Bs,useMemo:js,useReducer:ws,useRef:Ms,useState:function(){return ws(ys)},useDebugValue:zs,useDeferredValue:function(e){return Us(bs(),ls.memoizedState,e)},useTransition:function(){return[ws(ys)[0],bs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:xs,useId:$s,unstable_isNewReconciler:!1},ta={readContext:Ar,useCallback:Hs,useContext:Ar,useEffect:Rs,useImperativeHandle:Vs,useInsertionEffect:Fs,useLayoutEffect:Bs,useMemo:js,useReducer:Cs,useRef:Ms,useState:function(){return Cs(ys)},useDebugValue:zs,useDeferredValue:function(e){var t=bs();return null===ls?t.memoizedState=e:Us(t,ls.memoizedState,e)},useTransition:function(){return[Cs(ys)[0],bs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:xs,useId:$s,unstable_isNewReconciler:!1};function na(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function ia(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var oa={isMounted:function(e){return!!(e=e._reactInternals)&&He(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=Jl(),o=ec(e),r=Wr(i,o);r.payload=t,null!=n&&(r.callback=n),null!==(t=Vr(e,r,o))&&(tc(t,e,o,i),zr(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=Jl(),o=ec(e),r=Wr(i,o);r.tag=1,r.payload=t,null!=n&&(r.callback=n),null!==(t=Vr(e,r,o))&&(tc(t,e,o,i),zr(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Jl(),i=ec(e),o=Wr(n,i);o.tag=2,null!=t&&(o.callback=t),null!==(t=Vr(e,o,i))&&(tc(t,e,i,n),zr(t,e,i))}};function ra(e,t,n,i,o,r,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,r,s):!(t.prototype&&t.prototype.isPureReactComponent&&li(n,i)&&li(o,r))}function sa(e,t,n){var i=!1,o=Do,r=t.contextType;return"object"==typeof r&&null!==r?r=Ar(r):(o=To(t)?Ao:No.current,r=(i=null!=(i=t.contextTypes))?Mo(e,o):Do),t=new t(n,r),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=oa,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=r),t}function aa(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&oa.enqueueReplaceState(t,t.state,null)}function la(e,t,n,i){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Fr(e);var r=t.contextType;"object"==typeof r&&null!==r?o.context=Ar(r):(r=To(t)?Ao:No.current,o.context=Mo(e,r)),o.state=e.memoizedState,"function"==typeof(r=t.getDerivedStateFromProps)&&(ia(e,t,r,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&oa.enqueueReplaceState(o,o.state,null),jr(e,n,o,i),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function ca(e,t){try{var n="",i=t;do{n+=z(i),i=i.return}while(i);var o=n}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o,digest:null}}function da(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ua(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ha="function"==typeof WeakMap?WeakMap:Map;function ga(e,t,n){(n=Wr(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){jl||(jl=!0,Ul=i),ua(0,t)},n}function pa(e,t,n){(n=Wr(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var o=t.value;n.payload=function(){return i(o)},n.callback=function(){ua(0,t)}}var r=e.stateNode;return null!==r&&"function"==typeof r.componentDidCatch&&(n.callback=function(){ua(0,t),"function"!=typeof i&&(null===Kl?Kl=new Set([this]):Kl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function fa(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new ha;var o=new Set;i.set(t,o)}else void 0===(o=i.get(t))&&(o=new Set,i.set(t,o));o.has(n)||(o.add(n),e=xc.bind(null,e,t,n),t.then(e,e))}function ma(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function va(e,t,n,i,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Wr(-1,1)).tag=2,Vr(n,t,1))),n.lanes|=1),e)}var _a=y.ReactCurrentOwner,ba=!1;function ya(e,t,n,i){t.child=null===e?Cr(t,null,n,i):wr(t,e.child,n,i)}function wa(e,t,n,i,o){n=n.render;var r=t.ref;return Ir(t,o),i=ms(e,t,n,i,r,o),n=vs(),null===e||ba?(rr&&n&&tr(t),t.flags|=1,ya(e,t,i,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ja(e,t,o))}function Ca(e,t,n,i,o){if(null===e){var r=n.type;return"function"!=typeof r||Ac(r)||void 0!==r.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Tc(n.type,null,i,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=r,Sa(e,t,r,i,o))}if(r=e.child,0===(e.lanes&o)){var s=r.memoizedProps;if((n=null!==(n=n.compare)?n:li)(s,i)&&e.ref===t.ref)return ja(e,t,o)}return t.flags|=1,(e=Mc(r,i)).ref=t.ref,e.return=t,t.child=e}function Sa(e,t,n,i,o){if(null!==e){var r=e.memoizedProps;if(li(r,i)&&e.ref===t.ref){if(ba=!1,t.pendingProps=i=r,0===(e.lanes&o))return t.lanes=e.lanes,ja(e,t,o);131072&e.flags&&(ba=!0)}}return La(e,t,n,i,o)}function xa(e,t,n){var i=t.pendingProps,o=i.children,r=null!==e?e.memoizedState:null;if("hidden"===i.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==r?r.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Eo(Ml,Al),Al|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=null!==r?r.baseLanes:n,Eo(Ml,Al),Al|=i}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Eo(Ml,Al),Al|=n;else null!==r?(i=r.baseLanes|n,t.memoizedState=null):i=n,Eo(Ml,Al),Al|=i;return ya(e,t,o,n),t.child}function ka(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function La(e,t,n,i,o){var r=To(n)?Ao:No.current;return r=Mo(t,r),Ir(t,o),n=ms(e,t,n,i,r,o),i=vs(),null===e||ba?(rr&&i&&tr(t),t.flags|=1,ya(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ja(e,t,o))}function Ea(e,t,n,i,o){if(To(n)){var r=!0;Fo(t)}else r=!1;if(Ir(t,o),null===t.stateNode)Ha(e,t),sa(t,n,i),la(t,n,i,o),i=!0;else if(null===e){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,c=n.contextType;c="object"==typeof c&&null!==c?Ar(c):Mo(t,c=To(n)?Ao:No.current);var d=n.getDerivedStateFromProps,u="function"==typeof d||"function"==typeof s.getSnapshotBeforeUpdate;u||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==i||l!==c)&&aa(t,s,i,c),Rr=!1;var h=t.memoizedState;s.state=h,jr(t,i,s,o),l=t.memoizedState,a!==i||h!==l||Io.current||Rr?("function"==typeof d&&(ia(t,n,d,i),l=t.memoizedState),(a=Rr||ra(t,n,a,i,h,l,c))?(u||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=l),s.props=i,s.state=l,s.context=c,i=a):("function"==typeof s.componentDidMount&&(t.flags|=4194308),i=!1)}else{s=t.stateNode,Br(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:na(t.type,a),s.props=c,u=t.pendingProps,h=s.context,l="object"==typeof(l=n.contextType)&&null!==l?Ar(l):Mo(t,l=To(n)?Ao:No.current);var g=n.getDerivedStateFromProps;(d="function"==typeof g||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==u||h!==l)&&aa(t,s,i,l),Rr=!1,h=t.memoizedState,s.state=h,jr(t,i,s,o);var p=t.memoizedState;a!==u||h!==p||Io.current||Rr?("function"==typeof g&&(ia(t,n,g,i),p=t.memoizedState),(c=Rr||ra(t,n,c,i,h,p,l)||!1)?(d||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(i,p,l),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(i,p,l)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=p),s.props=i,s.state=p,s.context=l,i=c):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Da(e,t,n,i,r,o)}function Da(e,t,n,i,o,r){ka(e,t);var s=!!(128&t.flags);if(!i&&!s)return o&&Bo(t,n,!1),ja(e,t,r);i=t.stateNode,_a.current=t;var a=s&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&s?(t.child=wr(t,e.child,null,r),t.child=wr(t,null,a,r)):ya(e,t,a,r),t.memoizedState=i.state,o&&Bo(t,n,!0),t.child}function Na(e){var t=e.stateNode;t.pendingContext?Po(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Po(0,t.context,!1),Yr(e,t.containerInfo)}function Ia(e,t,n,i,o){return pr(),fr(o),t.flags|=256,ya(e,t,n,i),t.child}var Aa,Ma,Ta,Oa={dehydrated:null,treeContext:null,retryLane:0};function Pa(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ra(e,t,n){var i,o=t.pendingProps,s=es.current,a=!1,l=!!(128&t.flags);if((i=l)||(i=(null===e||null!==e.memoizedState)&&!!(2&s)),i?(a=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Eo(es,1&s),null===e)return dr(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=o.children,e=o.fallback,a?(o=t.mode,a=t.child,l={mode:"hidden",children:l},1&o||null===a?a=Pc(l,o,0,null):(a.childLanes=0,a.pendingProps=l),e=Oc(e,o,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Pa(n),t.memoizedState=Oa,e):Fa(t,l));if(null!==(s=e.memoizedState)&&null!==(i=s.dehydrated))return function(e,t,n,i,o,s,a){if(n)return 256&t.flags?(t.flags&=-257,Ba(e,t,a,i=da(Error(r(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=i.fallback,o=t.mode,i=Pc({mode:"visible",children:i.children},o,0,null),(s=Oc(s,o,a,null)).flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,1&t.mode&&wr(t,e.child,null,a),t.child.memoizedState=Pa(a),t.memoizedState=Oa,s);if(!(1&t.mode))return Ba(e,t,a,null);if("$!"===o.data){if(i=o.nextSibling&&o.nextSibling.dataset)var l=i.dgst;return i=l,Ba(e,t,a,i=da(s=Error(r(419)),i,void 0))}if(l=0!==(a&e.childLanes),ba||l){if(null!==(i=Dl)){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(i.suspendedLanes|a))?0:o)&&o!==s.retryLane&&(s.retryLane=o,Pr(e,o),tc(i,e,o,-1))}return pc(),Ba(e,t,a,i=da(Error(r(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Lc.bind(null,e),o._reactRetry=t,null):(e=s.treeContext,or=co(o.nextSibling),ir=t,rr=!0,sr=null,null!==e&&(Go[Zo++]=Xo,Go[Zo++]=Qo,Go[Zo++]=Yo,Xo=e.id,Qo=e.overflow,Yo=t),(t=Fa(t,i.children)).flags|=4096,t)}(e,t,l,o,i,s,n);if(a){a=o.fallback,l=t.mode,i=(s=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&l||t.child===s?(o=Mc(s,c)).subtreeFlags=14680064&s.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==i?a=Mc(i,a):(a=Oc(a,l,n,null)).flags|=2,a.return=t,o.return=t,o.sibling=a,t.child=o,o=a,a=t.child,l=null===(l=e.child.memoizedState)?Pa(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},a.memoizedState=l,a.childLanes=e.childLanes&~n,t.memoizedState=Oa,o}return e=(a=e.child).sibling,o=Mc(a,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Fa(e,t){return(t=Pc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ba(e,t,n,i){return null!==i&&fr(i),wr(t,e.child,null,n),(e=Fa(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Wa(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Nr(e.return,t,n)}function Va(e,t,n,i,o){var r=e.memoizedState;null===r?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:o}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=i,r.tail=n,r.tailMode=o)}function za(e,t,n){var i=t.pendingProps,o=i.revealOrder,r=i.tail;if(ya(e,t,i.children,n),2&(i=es.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Wa(e,n,t);else if(19===e.tag)Wa(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(Eo(es,i),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ts(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Va(t,!1,o,n,r);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ts(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Va(t,!0,n,null,r);break;case"together":Va(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Ha(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ja(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Pl|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(r(153));if(null!==t.child){for(n=Mc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Mc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ua(e,t){if(!rr)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Ka(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,i|=14680064&o.subtreeFlags,i|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,i|=o.subtreeFlags,i|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function $a(e,t,n){var i=t.pendingProps;switch(nr(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ka(t),null;case 1:case 17:return To(t.type)&&Oo(),Ka(t),null;case 3:return i=t.stateNode,Xr(),Lo(Io),Lo(No),is(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(hr(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==sr&&(rc(sr),sr=null))),Ka(t),null;case 5:Jr(t);var o=Zr(Gr.current);if(n=t.type,null!==e&&null!=t.stateNode)Ma(e,t,n,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(null===t.stateNode)throw Error(r(166));return Ka(t),null}if(e=Zr($r.current),hr(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[go]=t,i[po]=s,e=!!(1&t.mode),n){case"dialog":Wi("cancel",i),Wi("close",i);break;case"iframe":case"object":case"embed":Wi("load",i);break;case"video":case"audio":for(o=0;o<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=l.createElement(n,{is:i.is}):(e=l.createElement(n),"select"===n&&(l=e,i.multiple?l.multiple=!0:i.size&&(l.size=i.size))):e=l.createElementNS(e,n),e[go]=t,e[po]=i,Aa(e,t),t.stateNode=e;e:{switch(l=be(n,i),n){case"dialog":Wi("cancel",e),Wi("close",e),o=i;break;case"iframe":case"object":case"embed":Wi("load",e),o=i;break;case"video":case"audio":for(o=0;ozl&&(t.flags|=128,i=!0,Ua(s,!1),t.lanes=4194304)}else{if(!i)if(null!==(e=ts(l))){if(t.flags|=128,i=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ua(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!rr)return Ka(t),null}else 2*Xe()-s.renderingStartTime>zl&&1073741824!==n&&(t.flags|=128,i=!0,Ua(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=s.last)?n.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Xe(),t.sibling=null,n=es.current,Eo(es,i?1&n|2:1&n),t):(Ka(t),null);case 22:case 23:return dc(),i=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==i&&(t.flags|=8192),i&&1&t.mode?!!(1073741824&Al)&&(Ka(t),6&t.subtreeFlags&&(t.flags|=8192)):Ka(t),null;case 24:case 25:return null}throw Error(r(156,t.tag))}function qa(e,t){switch(nr(t),t.tag){case 1:return To(t.type)&&Oo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Xr(),Lo(Io),Lo(No),is(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Jr(t),null;case 13:if(Lo(es),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(r(340));pr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Lo(es),null;case 4:return Xr(),null;case 10:return Dr(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Aa=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ma=function(e,t,n,i){var o=e.memoizedProps;if(o!==i){e=t.stateNode,Zr($r.current);var r,s=null;switch(n){case"input":o=Z(e,o),i=Z(e,i),s=[];break;case"select":o=F({},o,{value:void 0}),i=F({},i,{value:void 0}),s=[];break;case"textarea":o=ie(e,o),i=ie(e,i),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof i.onClick&&(e.onclick=Ji)}for(d in _e(n,i),n=null,o)if(!i.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var l=o[d];for(r in l)l.hasOwnProperty(r)&&(n||(n={}),n[r]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(a.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in i){var c=i[d];if(l=null!=o?o[d]:void 0,i.hasOwnProperty(d)&&c!==l&&(null!=c||null!=l))if("style"===d)if(l){for(r in l)!l.hasOwnProperty(r)||c&&c.hasOwnProperty(r)||(n||(n={}),n[r]="");for(r in c)c.hasOwnProperty(r)&&l[r]!==c[r]&&(n||(n={}),n[r]=c[r])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(a.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Wi("scroll",e),s||l===c||(s=[])):(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Ta=function(e,t,n,i){n!==i&&(t.flags|=4)};var Ga=!1,Za=!1,Ya="function"==typeof WeakSet?WeakSet:Set,Xa=null;function Qa(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){Sc(e,t,n)}else n.current=null}function Ja(e,t,n){try{n()}catch(n){Sc(e,t,n)}}var el=!1;function tl(e,t,n){var i=t.updateQueue;if(null!==(i=null!==i?i.lastEffect:null)){var o=i=i.next;do{if((o.tag&e)===e){var r=o.destroy;o.destroy=void 0,void 0!==r&&Ja(t,n,r)}o=o.next}while(o!==i)}}function nl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function il(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function ol(e){var t=e.alternate;null!==t&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[go],delete t[po],delete t[mo],delete t[vo],delete t[_o]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function rl(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||rl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function al(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Ji));else if(4!==i&&null!==(e=e.child))for(al(e,t,n),e=e.sibling;null!==e;)al(e,t,n),e=e.sibling}function ll(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}var cl=null,dl=!1;function ul(e,t,n){for(n=n.child;null!==n;)hl(e,t,n),n=n.sibling}function hl(e,t,n){if(rt&&"function"==typeof rt.onCommitFiberUnmount)try{rt.onCommitFiberUnmount(ot,n)}catch(e){}switch(n.tag){case 5:Za||Qa(n,t);case 6:var i=cl,o=dl;cl=null,ul(e,t,n),dl=o,null!==(cl=i)&&(dl?(e=cl,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):cl.removeChild(n.stateNode));break;case 18:null!==cl&&(dl?(e=cl,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ht(e)):lo(cl,n.stateNode));break;case 4:i=cl,o=dl,cl=n.stateNode.containerInfo,dl=!0,ul(e,t,n),cl=i,dl=o;break;case 0:case 11:case 14:case 15:if(!Za&&null!==(i=n.updateQueue)&&null!==(i=i.lastEffect)){o=i=i.next;do{var r=o,s=r.destroy;r=r.tag,void 0!==s&&(2&r||4&r)&&Ja(n,t,s),o=o.next}while(o!==i)}ul(e,t,n);break;case 1:if(!Za&&(Qa(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(e){Sc(n,t,e)}ul(e,t,n);break;case 21:ul(e,t,n);break;case 22:1&n.mode?(Za=(i=Za)||null!==n.memoizedState,ul(e,t,n),Za=i):ul(e,t,n);break;default:ul(e,t,n)}}function gl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ya),t.forEach(function(t){var i=Ec.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))})}}function pl(e,t){var n=t.deletions;if(null!==n)for(var i=0;io&&(o=a),i&=~s}if(i=o,10<(i=(120>(i=Xe()-i)?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Sl(i/1960))-i)){e.timeoutHandle=io(yc.bind(null,e,Wl,Hl),i);break}yc(e,Wl,Hl);break;default:throw Error(r(329))}}}return nc(e,Xe()),e.callbackNode===n?ic.bind(null,e):null}function oc(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(uc(e,t).flags|=256),2!==(e=fc(e,t))&&(t=Wl,Wl=n,null!==t&&rc(t)),e}function rc(e){null===Wl?Wl=e:Wl.push.apply(Wl,e)}function sc(e,t){for(t&=~Fl,t&=~Rl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0e?16:e,null===ql)var i=!1;else{if(e=ql,ql=null,Gl=0,6&El)throw Error(r(331));var o=El;for(El|=4,Xa=e.current;null!==Xa;){var s=Xa,a=s.child;if(16&Xa.flags){var l=s.deletions;if(null!==l){for(var c=0;cXe()-Vl?uc(e,0):Fl|=n),nc(e,t)}function kc(e,t){0===t&&(1&e.mode?(t=dt,!(130023424&(dt<<=1))&&(dt=4194304)):t=1);var n=Jl();null!==(e=Pr(e,t))&&(vt(e,t,n),nc(e,n))}function Lc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),kc(e,n)}function Ec(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}null!==i&&i.delete(t),kc(e,n)}function Dc(e,t){return qe(e,t)}function Nc(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ic(e,t,n,i){return new Nc(e,t,n,i)}function Ac(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Mc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Tc(e,t,n,i,o,s){var a=2;if(i=e,"function"==typeof e)Ac(e)&&(a=1);else if("string"==typeof e)a=5;else e:switch(e){case S:return Oc(n.children,o,s,t);case x:a=8,o|=8;break;case k:return(e=Ic(12,n,t,2|o)).elementType=k,e.lanes=s,e;case N:return(e=Ic(13,n,t,o)).elementType=N,e.lanes=s,e;case I:return(e=Ic(19,n,t,o)).elementType=I,e.lanes=s,e;case T:return Pc(n,o,s,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case L:a=10;break e;case E:a=9;break e;case D:a=11;break e;case A:a=14;break e;case M:a=16,i=null;break e}throw Error(r(130,null==e?e:typeof e,""))}return(t=Ic(a,n,t,o)).elementType=e,t.type=i,t.lanes=s,t}function Oc(e,t,n,i){return(e=Ic(7,e,i,t)).lanes=n,e}function Pc(e,t,n,i){return(e=Ic(22,e,i,t)).elementType=T,e.lanes=n,e.stateNode={isHidden:!1},e}function Rc(e,t,n){return(e=Ic(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,i,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mt(0),this.expirationTimes=mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mt(0),this.identifierPrefix=i,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Wc(e,t,n,i,o,r,s,a,l){return e=new Bc(e,t,n,a,l),1===t?(t=1,!0===r&&(t|=8)):t=0,r=Ic(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fr(r),e}function Vc(e){if(!e)return Do;e:{if(He(e=e._reactInternals)!==e||1!==e.tag)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(To(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(r(171))}if(1===e.tag){var n=e.type;if(To(n))return Ro(e,n,t)}return t}function zc(e,t,n,i,o,r,s,a,l){return(e=Wc(n,i,!0,e,0,r,0,a,l)).context=Vc(null),n=e.current,(r=Wr(i=Jl(),o=ec(n))).callback=null!=t?t:null,Vr(n,r,o),e.current.lanes=o,vt(e,o,i),nc(e,i),e}function Hc(e,t,n,i){var o=t.current,r=Jl(),s=ec(o);return n=Vc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Wr(r,s)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),null!==(e=Vr(o,t,s))&&(tc(e,o,s,r),zr(e,o,s)),s}function jc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Uc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&nc,OZ6:()=>d,STU:()=>r,VKQ:()=>l,Xnw:()=>o,mlL:()=>a,nwe:()=>s,qHd:()=>u});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4 6h2v12H4zm10.293-.707L7.586 12l6.707 6.707 1.414-1.414L11.414 13H20v-2h-8.586l4.293-4.293z"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M18 6h2v12h-2zM4 13h8.586l-4.293 4.293 1.414 1.414L16.414 12 9.707 5.293 8.293 6.707 12.586 11H4z"}}]})(e)}function s(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z"}}]})(e)}function a(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m6.293 13.293 1.414 1.414L12 10.414l4.293 4.293 1.414-1.414L12 7.586z"}}]})(e)}function l(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12.707 17.293 8.414 13H18v-2H8.414l4.293-4.293-1.414-1.414L4.586 12l6.707 6.707z"}}]})(e)}function c(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 3c-1.654 0-3 1.346-3 3 0 .502.136.968.354 1.385l-1.116 1.302A3.976 3.976 0 0 0 13 8c-.739 0-1.425.216-2.02.566L9.566 7.152A3.449 3.449 0 0 0 10 5.5C10 3.57 8.43 2 6.5 2S3 3.57 3 5.5 4.57 9 6.5 9c.601 0 1.158-.166 1.652-.434L9.566 9.98A3.972 3.972 0 0 0 9 12c0 .997.38 1.899.985 2.601l-1.692 1.692.025.025A2.962 2.962 0 0 0 7 16c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3c0-.476-.121-.919-.318-1.318l.025.025 1.954-1.954c.421.15.867.247 1.339.247 2.206 0 4-1.794 4-4a3.96 3.96 0 0 0-.439-1.785l1.253-1.462c.364.158.764.247 1.186.247 1.654 0 3-1.346 3-3s-1.346-3-3-3zM7 20a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM5 5.5C5 4.673 5.673 4 6.5 4S8 4.673 8 5.5 7.327 7 6.5 7 5 6.327 5 5.5zm8 8.5c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm6-7a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"}}]})(e)}function d(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m11.293 17.293 1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z"}}]})(e)}function u(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9 10h6c1.654 0 3 1.346 3 3s-1.346 3-3 3h-3v2h3c2.757 0 5-2.243 5-5s-2.243-5-5-5H9V5L4 9l5 4v-3z"}}]})(e)}},1612(e,t,n){"use strict";n.d(t,{UUG:()=>o,ist:()=>r});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"}}]})(e)}},37609(e,t,n){"use strict";n.d(t,{hi:()=>o});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M266 51.727c-39.32 0-71 31.68-71 71 0 39.319 31.68 71.002 71 71.002s71-31.683 71-71.002c0-39.32-31.68-71-71-71zm-144 32c-30.483 0-55 24.517-55 55 0 30.482 24.517 55.002 55 55.002s55-24.52 55-55.002c0-30.483-24.517-55-55-55zm-23 128v110.002h238V211.727zm350 4.648l-94 40.285v20.133l94 40.285zm-386 2.352v32h18v-32zm113 121.002v17.998h13.012l-51.123 136.275h19.222l51.507-136.275.382 136.275h18l.382-136.275 51.507 136.275h19.222l-51.123-136.275H260v-17.998c-28.003-.003-55.997 0-84 0z"}}]})(e)}},88199(e,t,n){"use strict";n.d(t,{YZI:()=>o,Z1h:()=>s,dnm:()=>r,hv$:()=>a});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z"}}]})(e)}function s(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"}},{tag:"path",attr:{d:"M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z"}}]})(e)}function a(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9.25 12a.75.75 0 0 1-.22.53l-2.75 2.75a.75.75 0 0 1-1.06-1.06L7.44 12 5.22 9.78a.75.75 0 1 1 1.06-1.06l2.75 2.75c.141.14.22.331.22.53Zm2 2a.75.75 0 0 0 0 1.5h5a.75.75 0 0 0 0-1.5h-5Z"}},{tag:"path",attr:{d:"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"}}]})(e)}},42682(e,t,n){"use strict";n.d(t,{BF2:()=>r,Kak:()=>s,bv7:()=>o});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L3.414 10l2.293 2.293a1 1 0 11-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 11-1.414-1.414L16.586 10l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"}}]})(e)}function s(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{d:"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"}}]})(e)}},64084(e,t,n){"use strict";n.d(t,{k5:()=>l});var i=n(96540),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=i.createContext&&i.createContext(o),s=function(){return s=Object.assign||function(e){for(var t,n=1,i=arguments.length;nr,U$1:()=>s,Yvo:()=>a,d$I:()=>o,m6K:()=>c,vZw:()=>l});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M3 17v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2zM3 7v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2z"}}]})(e)}function s(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M6 15c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6-8c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2C9.8 3 8 4.8 8 7s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6 12c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"}}]})(e)}function a(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 000-1.41l-2.34-2.34a.996.996 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"}}]})(e)}function l(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}}]})(e)}function c(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}]})(e)}},76037(e,t,n){"use strict";n.d(t,{XPh:()=>r,qPX:()=>o,sgA:()=>s});var i=n(64084);function o(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M2 1.00073L1 2.00073V14.0007L2 15.0007H14L15 14.0007V2.00073L14 1.00073H2ZM2 10.0007V2.00073H14V10.0007H2ZM2 11.0007H14V14.0007H2V11.0007Z"}}]})(e)}function r(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M2 1L1 2V14L2 15H14L15 14V2L14 1H2ZM2 10V2H14V10H2Z"}}]})(e)}function s(e){return(0,i.k5)({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M5.387 11.523a.402.402 0 0 1 .593-.367c.058.031.11.065.157.102.047.036.088.07.125.101a.177.177 0 0 0 .117.047c.052 0 .12-.04.203-.117.083-.078.175-.182.273-.313.1-.13.201-.268.305-.414.104-.146.2-.294.29-.445l.226-.39c.062-.11.107-.199.133-.266a15.33 15.33 0 0 0-.133-.524 15.384 15.384 0 0 1-.133-.523 3.72 3.72 0 0 0-.133-.422 1.04 1.04 0 0 0-.187-.313.656.656 0 0 0-.266-.187 1.374 1.374 0 0 0-.375-.07 1.628 1.628 0 0 0-.328.031v-.195L7.69 7a2.345 2.345 0 0 1 .461.734c.052.13.097.263.133.399.037.135.076.283.117.445.078-.115.175-.26.29-.438a4.49 4.49 0 0 1 .398-.523c.15-.172.31-.315.476-.43A1.02 1.02 0 0 1 10.089 7c.13 0 .247.034.351.101.105.068.157.175.157.32 0 .282-.141.423-.422.423a.608.608 0 0 1-.29-.07.608.608 0 0 0-.288-.071c-.1 0-.203.05-.313.148a2.3 2.3 0 0 0-.312.352 9.5 9.5 0 0 0-.485.734l.446 1.852a1.56 1.56 0 0 0 .093.344.669.669 0 0 0 .094.171.184.184 0 0 0 .125.079.37.37 0 0 0 .211-.086 2.14 2.14 0 0 0 .43-.47c.052-.077.093-.15.125-.218l.187.094a2.025 2.025 0 0 1-.219.367 3.775 3.775 0 0 1-.351.422 3.38 3.38 0 0 1-.406.36c-.141.104-.269.153-.383.148a.397.397 0 0 1-.281-.102 1.491 1.491 0 0 1-.204-.234 1.599 1.599 0 0 1-.132-.36 8.263 8.263 0 0 1-.118-.507 34.16 34.16 0 0 1-.101-.532 2.212 2.212 0 0 0-.11-.414l-.203.375a4.489 4.489 0 0 1-.28.453c-.11.157-.222.316-.337.477a2.46 2.46 0 0 1-.375.422c-.135.12-.265.221-.39.305A.66.66 0 0 1 5.91 12a.539.539 0 0 1-.36-.133.454.454 0 0 1-.163-.344zm6.11.477c.28-.36.496-.748.648-1.164a3.87 3.87 0 0 0 .226-1.32c0-.47-.075-.912-.226-1.329A4.57 4.57 0 0 0 11.495 7h.734a3.77 3.77 0 0 1 .922 2.515c0 .474-.073.917-.218 1.329-.146.411-.38.796-.704 1.156h-.734zM3.77 12a3.373 3.373 0 0 1-.704-1.149 3.97 3.97 0 0 1-.218-1.336c0-.953.307-1.791.922-2.515h.726a4.132 4.132 0 0 0-.64 1.18 4.205 4.205 0 0 0-.227 1.335A3.929 3.929 0 0 0 4.496 12H3.77z"}},{tag:"path",attr:{d:"M15.5 1H.5l-.5.5v13l.5.5h15l.5-.5v-13l-.5-.5zM15 14H1V5h14v9zm0-10H1V2h14v2z"}}]})(e)}},22799(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for,i=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,s=n?Symbol.for("react.strict_mode"):60108,a=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,d=n?Symbol.for("react.async_mode"):60111,u=n?Symbol.for("react.concurrent_mode"):60111,h=n?Symbol.for("react.forward_ref"):60112,g=n?Symbol.for("react.suspense"):60113,p=n?Symbol.for("react.suspense_list"):60120,f=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,v=n?Symbol.for("react.block"):60121,_=n?Symbol.for("react.fundamental"):60117,b=n?Symbol.for("react.responder"):60118,y=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case d:case u:case r:case a:case s:case g:return e;default:switch(e=e&&e.$$typeof){case c:case h:case m:case f:case l:return e;default:return t}}case o:return t}}}function C(e){return w(e)===u}t.AsyncMode=d,t.ConcurrentMode=u,t.ContextConsumer=c,t.ContextProvider=l,t.Element=i,t.ForwardRef=h,t.Fragment=r,t.Lazy=m,t.Memo=f,t.Portal=o,t.Profiler=a,t.StrictMode=s,t.Suspense=g,t.isAsyncMode=function(e){return C(e)||w(e)===d},t.isConcurrentMode=C,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return w(e)===h},t.isFragment=function(e){return w(e)===r},t.isLazy=function(e){return w(e)===m},t.isMemo=function(e){return w(e)===f},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===a},t.isStrictMode=function(e){return w(e)===s},t.isSuspense=function(e){return w(e)===g},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===u||e===a||e===s||e===g||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===l||e.$$typeof===c||e.$$typeof===h||e.$$typeof===_||e.$$typeof===b||e.$$typeof===y||e.$$typeof===v)},t.typeOf=w},44363(e,t,n){"use strict";e.exports=n(22799)},76259(e,t,n){"use strict";n.d(t,{Ay:()=>p,SV:()=>i});var i=n(88349),o=n(5556),r=n(96540);function s(e){return/^\d+$/.test(e)?"".concat(e,"px"):e}function a(){}var l,c=(l=function(e,t){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},l(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(){return d=Object.assign||function(e){for(var t,n=1,i=arguments.length;nd,wA:()=>f,d4:()=>b});var i=n(96540),o=i.createContext(null),r=function(e){e()},s=function(){return r},a={notify:function(){},get:function(){return[]}};function l(e,t){var n,i=a;function o(){l.onStateChange&&l.onStateChange()}function r(){n||(n=t?t.addNestedSub(o):e.subscribe(o),i=function(){var e=s(),t=null,n=null;return{clear:function(){t=null,n=null},notify:function(){e(function(){for(var e=t;e;)e.callback(),e=e.next})},get:function(){for(var e=[],n=t;n;)e.push(n),n=n.next;return e},subscribe:function(e){var i=!0,o=n={callback:e,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){i&&null!==t&&(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}())}var l={addNestedSub:function(e){return r(),i.subscribe(e)},notifyNestedSubs:function(){i.notify()},handleChangeWrapper:o,isSubscribed:function(){return Boolean(n)},trySubscribe:r,tryUnsubscribe:function(){n&&(n(),n=void 0,i.clear(),i=a)},getListeners:function(){return i}};return l}var c="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?i.useLayoutEffect:i.useEffect;const d=function(e){var t=e.store,n=e.context,r=e.children,s=(0,i.useMemo)(function(){var e=l(t);return{store:t,subscription:e}},[t]),a=(0,i.useMemo)(function(){return t.getState()},[t]);c(function(){var e=s.subscription;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),a!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}},[s,a]);var d=n||o;return i.createElement(d.Provider,{value:s},r)};function u(){return(0,i.useContext)(o)}function h(e){void 0===e&&(e=o);var t=e===o?u:function(){return(0,i.useContext)(e)};return function(){return t().store}}n(4146),n(54737),n(58168);var g=h();function p(e){void 0===e&&(e=o);var t=e===o?g:h(e);return function(){return t().dispatch}}var f=p(),m=function(e,t){return e===t};function v(e){void 0===e&&(e=o);var t=e===o?u:function(){return(0,i.useContext)(e)};return function(e,n){void 0===n&&(n=m);var o=t(),r=function(e,t,n,o){var r,s=(0,i.useReducer)(function(e){return e+1},0)[1],a=(0,i.useMemo)(function(){return l(n,o)},[n,o]),d=(0,i.useRef)(),u=(0,i.useRef)(),h=(0,i.useRef)(),g=(0,i.useRef)(),p=n.getState();try{if(e!==u.current||p!==h.current||d.current){var f=e(p);r=void 0!==g.current&&t(f,g.current)?g.current:f}else r=g.current}catch(e){throw d.current&&(e.message+="\nThe error may be correlated with this previous error:\n"+d.current.stack+"\n\n"),e}return c(function(){u.current=e,h.current=p,g.current=r,d.current=void 0}),c(function(){function e(){try{var e=n.getState();if(e===h.current)return;var i=u.current(e);if(t(i,g.current))return;g.current=i,h.current=e}catch(e){d.current=e}s()}return a.onStateChange=e,a.trySubscribe(),e(),function(){return a.tryUnsubscribe()}},[n,a]),r}(e,n,o.store,o.subscription);return(0,i.useDebugValue)(r),r}}var _,b=v();_=n(40961).unstable_batchedUpdates,r=_},28989(e,t){"use strict";if("function"==typeof Symbol&&Symbol.for){var n=Symbol.for;n("react.element"),n("react.portal"),n("react.fragment"),n("react.strict_mode"),n("react.profiler"),n("react.provider"),n("react.context"),n("react.forward_ref"),n("react.suspense"),n("react.suspense_list"),n("react.memo"),n("react.lazy"),n("react.block"),n("react.server.block"),n("react.fundamental"),n("react.debug_trace_mode"),n("react.legacy_hidden")}},54737(e,t,n){"use strict";n(28989)},21020(e,t,n){"use strict";var i=n(96540),o=Symbol.for("react.element"),r=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var i,r={},c=null,d=null;for(i in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,i)&&!l.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===r[i]&&(r[i]=t[i]);return{$$typeof:o,type:e,key:c,ref:d,props:r,_owner:a.current}}t.Fragment=r,t.jsx=c,t.jsxs=c},15287(e,t){"use strict";var n=Symbol.for("react.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,m={};function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||p}function _(){}function b(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||p}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},_.prototype=v.prototype;var y=b.prototype=new _;y.constructor=b,f(y,v.prototype),y.isPureReactComponent=!0;var w=Array.isArray,C=Object.prototype.hasOwnProperty,S={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,i){var o,r={},s=null,a=null;if(null!=t)for(o in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)C.call(t,o)&&!x.hasOwnProperty(o)&&(r[o]=t[o]);var l=arguments.length-2;if(1===l)r.children=i;else if(1a});var i="NOT_FOUND",o=function(e,t){return e===t};function r(e,t){var n,r,s="object"==typeof t?t:{equalityCheck:t},a=s.equalityCheck,l=void 0===a?o:a,c=s.maxSize,d=void 0===c?1:c,u=s.resultEqualityCheck,h=function(e){return function(t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var i=t.length,o=0;o-1){var r=n[o];return o>0&&(n.splice(o,1),n.unshift(r)),r.value}return i}return{get:o,put:function(t,r){o(t)===i&&(n.unshift({key:t,value:r}),n.length>e&&n.pop())},getEntries:function(){return n},clear:function(){n=[]}}}(d,h);function p(){var t=g.get(arguments);if(t===i){if(t=e.apply(null,arguments),u){var n=g.getEntries().find(function(e){return u(e.value,t)});n&&(t=n.value)}g.put(arguments,t)}return t}return p.clearCache=function(){return g.clear()},p}function s(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i>>1,o=e[i];if(!(0>>1;ir(l,n))cr(d,l)?(e[i]=d,e[c]=n,i=c):(e[i]=l,e[a]=n,i=a);else{if(!(cr(d,n)))break e;e[i]=d,e[c]=n,i=c}}}return t}function r(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var c=[],d=[],u=1,h=null,g=3,p=!1,f=!1,m=!1,v="function"==typeof setTimeout?setTimeout:null,_="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function y(e){for(var t=i(d);null!==t;){if(null===t.callback)o(d);else{if(!(t.startTime<=e))break;o(d),t.sortIndex=t.expirationTime,n(c,t)}t=i(d)}}function w(e){if(m=!1,y(e),!f)if(null!==i(c))f=!0,T(C);else{var t=i(d);null!==t&&O(w,t.startTime-e)}}function C(e,n){f=!1,m&&(m=!1,_(L),L=-1),p=!0;var r=g;try{for(y(n),h=i(c);null!==h&&(!(h.expirationTime>n)||e&&!N());){var s=h.callback;if("function"==typeof s){h.callback=null,g=h.priorityLevel;var a=s(h.expirationTime<=n);n=t.unstable_now(),"function"==typeof a?h.callback=a:h===i(c)&&o(c),y(n)}else o(c);h=i(c)}if(null!==h)var l=!0;else{var u=i(d);null!==u&&O(w,u.startTime-n),l=!1}return l}finally{h=null,g=r,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,x=!1,k=null,L=-1,E=5,D=-1;function N(){return!(t.unstable_now()-De||125s?(e.sortIndex=r,n(d,e),null===i(c)&&e===i(d)&&(m?(_(L),L=-1):m=!0,O(w,r-s))):(e.sortIndex=a,n(c,e),f||p||(f=!0,T(C))),e},t.unstable_shouldYield=N,t.unstable_wrapCallback=function(e){var t=g;return function(){var n=g;g=t;try{return e.apply(this,arguments)}finally{g=n}}}},69982(e,t,n){"use strict";e.exports=n(7463)},89016(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(6487),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},12181(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(632),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},72661(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(48614),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},70398(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(85491),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},12799(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(40222),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},90035(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),c=n(55056),d=n.n(c),u=n(10540),h=n.n(u),g=n(41113),p=n.n(g),f=n(20228),m={};m.styleTagTransform=p(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=h(),o()(f.A,m),f.A&&f.A.locals&&f.A.locals},85072(e){"use strict";var t=[];function n(e){for(var n=-1,i=0;i0?" ".concat(n.layer):""," {")),i+=n.css,o&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},41113(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},16426(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],i=0;i({a:e.a*t.a+e.c*t.b,c:e.a*t.c+e.c*t.d,e:e.a*t.e+e.c*t.f+e.e,b:e.b*t.a+e.d*t.b,d:e.b*t.c+e.d*t.d,f:e.b*t.e+e.d*t.f+e.f});switch((e=Array.isArray(e[0])?e[0]:e).length){case 0:throw new Error("no matrices provided");case 1:return e[0];case 2:return t(e[0],e[1]);default:{const[n,i,...o]=e;return l(t(n,i),...o)}}}function c(e,t=void 0,n=void 0,i=void 0){s(t)&&(t=e);const o={a:e,c:0,e:0,b:0,d:t,f:0};return s(n)||s(i)?o:l([a(n,i),o,a(-n,-i)])}function d(e){return`matrix(${e.a},${e.b},${e.c},${e.d},${e.e},${e.f})`}function u(e,t,n,i){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,u.prototype),o.expected=t,o.found=n,o.location=i,o.name="SyntaxError",o}function h(e,t,n){return n=n||" ",e.length>t?e:(t-=e.length,e+(n+=n.repeat(t)).slice(0,t))}n.d(t,{MZ:()=>i,D_:()=>o,DI:()=>r,hs:()=>c,dI:()=>d,pd:()=>l,Tl:()=>a}),function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(u,Error),u.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var n,i=null;for(n=0;n0){for(t=1,n=1;tl});const i={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let o;const r=new Uint8Array(16);function s(){if(!o&&(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!o))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(r)}const a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));const l=function(e,t,n){if(i.randomUUID&&!t&&!e)return i.randomUUID();const o=(e=e||{}).random||(e.rng||s)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=o[e];return t}return function(e,t=0){return a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]}(o)}},9771(e){"use strict";e.exports=function(){}},12395(e,t,n){"use strict";e.exports=n.p+"4625f6ce1cdf7ab045a4.woff"},26963(e,t,n){"use strict";e.exports=n.p+"07b51bea67bf7c0369f5.woff2"},37504(e,t,n){"use strict";e.exports=n.p+"34c31911fbbca2c10045.woff"},38242(e,t,n){"use strict";e.exports=n.p+"9dff8b49182337533a97.woff2"},72844(e,t,n){"use strict";e.exports=n.p+"e5c15815c273edcc7b68.woff"},62182(e,t,n){"use strict";e.exports=n.p+"b92d06b112a212fcec23.woff2"},82351(e,t,n){"use strict";e.exports=n.p+"77e228b198be4615d5ca.woff"},67423(e,t,n){"use strict";e.exports=n.p+"4e2d70e20e00ee96fda2.woff2"},4197(e,t,n){"use strict";e.exports=n.p+"46bdd28f8ee3e7303117.woff"},39805(e,t,n){"use strict";e.exports=n.p+"25643f53afdceee11c32.woff2"},71770(e,t,n){"use strict";e.exports=n.p+"3e019f26a840cbca0aae.woff"},78124(e,t,n){"use strict";e.exports=n.p+"56caa91863d8b54fc636.woff2"},11874(e,t,n){"use strict";e.exports=n.p+"a00eacadc0170da77d5e.woff"},89348(e,t,n){"use strict";e.exports=n.p+"8d456cfc41022960d34c.woff2"},79453(e,t,n){"use strict";e.exports=n.p+"747b78cb19a7f0acdae0.woff"},81701(e,t,n){"use strict";e.exports=n.p+"365e07982826c8d6327e.woff2"},93259(e,t,n){"use strict";e.exports=n.p+"c050f0ce726c76d279c8.woff"},13335(e,t,n){"use strict";e.exports=n.p+"3b12523542a36f074eff.woff2"},51677(e,t,n){"use strict";e.exports=n.p+"8ae7ba46c49a0347ea65.woff2"},18270(e,t,n){"use strict";e.exports=n.p+"7a3a6c17dfe7ee4cb1a0.woff2"},7380(e,t,n){"use strict";e.exports=n.p+"4fd56c77e5b7bda02e5a.woff2"},26064(e,t,n){"use strict";e.exports=n.p+"fdf1c77f42d62a5dc722.woff2"},80146(e,t,n){"use strict";e.exports=n.p+"0e81dfaccdc5adb60d7c.woff2"},64857(e,t,n){"use strict";e.exports=n.p+"ec8286e89fdb664a7f9c.woff2"},63491(e,t,n){"use strict";e.exports=n.p+"e4152617f376055a4cac.woff2"},48330(e,t,n){"use strict";e.exports=n.p+"e662d57ce51fba1f46e3.woff2"},95860(e,t,n){"use strict";e.exports=n.p+"f688c1c39f363f86fd4a.woff2"},17135(e,t,n){"use strict";e.exports=n.p+"b18360bdd5934c45de50.woff2"},45777(e,t,n){"use strict";e.exports=n.p+"0290acce3ff1bbc4a6c8.woff2"},18880(e,t,n){"use strict";e.exports=n.p+"56dba998166ea5a0ca7f.ttf"},64980(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(82284);function o(e,t,n){return(t=function(e){var t=function(e){if("object"!=(0,i.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,i.A)(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},58168(e,t,n){"use strict";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;ti})},82284(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}n.d(t,{A:()=>i})},14083(e,t,n){"use strict";n.d(t,{Ae:()=>c,wA:()=>l});const i=Math.PI,o=2*i,r=1e-6,s=o-r;function a(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return a;const n=10**t;return function(e){this._+=e[0];for(let t=1,i=e.length;tr)if(Math.abs(h*c-d*u)>r&&s){let p=n-a,f=o-l,m=c*c+d*d,v=p*p+f*f,_=Math.sqrt(m),b=Math.sqrt(g),y=s*Math.tan((i-Math.acos((m+g-v)/(2*_*b)))/2),w=y/b,C=y/_;Math.abs(w-1)>r&&this._append`L${e+w*u},${t+w*h}`,this._append`A${s},${s},0,0,${+(h*p>u*f)},${this._x1=e+C*c},${this._y1=t+C*d}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,n,a,l,c){if(e=+e,t=+t,c=!!c,(n=+n)<0)throw new Error(`negative radius: ${n}`);let d=n*Math.cos(a),u=n*Math.sin(a),h=e+d,g=t+u,p=1^c,f=c?a-l:l-a;null===this._x1?this._append`M${h},${g}`:(Math.abs(this._x1-h)>r||Math.abs(this._y1-g)>r)&&this._append`L${h},${g}`,n&&(f<0&&(f=f%o+o),f>s?this._append`A${n},${n},0,1,${p},${e-d},${t-u}A${n},${n},0,1,${p},${this._x1=h},${this._y1=g}`:f>r&&this._append`A${n},${n},0,${+(f>=i)},${p},${this._x1=e+n*Math.cos(l)},${this._y1=t+n*Math.sin(l)}`)}rect(e,t,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function c(){return new l}c.prototype=l.prototype},99225(e,t,n){"use strict";n.d(t,{Yp:()=>g});const i=new Map,o=[],r=o.map,s=o.some,a=o.hasOwnProperty,l=/^((?:@[^/@]+\/)?[^/@]+)(?:@([^/]+))?(?:\/(.*))?$/,c=/^\d+\.\d+\.\d+(-[\w-.+]+)?$/,d=/(?:\.[^/]*|\/)$/;class u extends Error{constructor(e){super(e)}}function h(e){const t=l.exec(e);return t&&{name:t[1],version:t[2],path:t[3]}}u.prototype.name=u.name;var g=function e(t){const n=new Map,i=a(null);function s(e){if("string"!=typeof e)return e;let t=n.get(e);return t||n.set(e,t=new Promise((t,n)=>{const i=document.createElement("script");i.onload=()=>{try{t(o.pop()(a(e)))}catch(e){n(new u("invalid module"))}i.remove()},i.onerror=()=>{n(new u("unable to load module")),i.remove()},i.async=!0,i.src=e,window.define=v,document.head.appendChild(i)})),t}function a(e){return n=>Promise.resolve(t(n,e)).then(s)}function l(e){return arguments.length>1?Promise.all(r.call(arguments,i)).then(p):i(e)}return l.alias=function(n){return e((e,i)=>e in n&&(i=null,"string"!=typeof(e=n[e]))?e:t(e,i))},l.resolve=t,l}(function(e="https://cdn.jsdelivr.net/npm/",t=["unpkg","jsdelivr","browser","main"]){if(!/\/$/.test(e))throw new Error("origin lacks trailing slash");function n(t){const n=`${e}${t.name}${t.version?`@${t.version}`:""}/package.json`;let o=i.get(n);return o||i.set(n,o=fetch(n).then(e=>{if(!e.ok)throw new u("unable to load package.json");return e.redirected&&!i.has(e.url)&&i.set(e.url,o),e.json()})),o}return async function(i,o){if(i.startsWith(e)&&(i=i.substring(e.length)),/^(\w+:)|\/\//i.test(i))return i;if(/^[.]{0,2}\//i.test(i))return new URL(i,null==o?location:o).href;if(!i.length||/^[\s._]/.test(i)||/\s$/.test(i))throw new u("illegal name");const r=h(i);if(!r)return`${e}${i}`;if(!r.version&&null!=o&&o.startsWith(e)){const t=await n(h(o.substring(e.length)));r.version=t.dependencies&&t.dependencies[r.name]||t.peerDependencies&&t.peerDependencies[r.name]}if(r.path&&!d.test(r.path)&&(r.path+=".js"),r.path&&r.version&&c.test(r.version))return`${e}${r.name}@${r.version}/${r.path}`;const s=await n(r);return`${e}${s.name}@${s.version}/${r.path||function(e){for(const n of t){let t=e[n];if("string"==typeof t)return t.startsWith("./")&&(t=t.slice(2)),d.test(t)?t:`${t}.js`}}(s)||"index.js"}`}}());function p(e){const t={};for(const n of e)for(const e in n)a.call(n,e)&&(null==n[e]?Object.defineProperty(t,e,{get:f(n,e)}):t[e]=n[e]);return t}function f(e,t){return()=>e[t]}function m(e){return"exports"==(e+="")||"module"===e}function v(e,t,n){const i=arguments.length;i<2?(n=e,t=[]):i<3&&(n=t,t="string"==typeof e?[]:e),o.push(s.call(t,m)?e=>{const i={},o={exports:i};return Promise.all(r.call(t,t=>"exports"==(t+="")?i:"module"===t?o:e(t))).then(e=>(n.apply(null,e),o.exports))}:e=>Promise.all(r.call(t,e)).then(e=>"function"==typeof n?n.apply(null,e):n))}v.amd={}},58134(e,t,n){"use strict";function i(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function o(e){this._context=e}function r(e){return new o(e)}n.d(t,{Ay:()=>r,xO:()=>o}),Object.defineProperty(r,"name",{value:"default",configurable:!0}),o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:i(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:i(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}}},36606(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(58134);function o(e,t){this._basis=new i.xO(e),this._beta=t}o.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var i,o=e[0],r=t[0],s=e[n]-o,a=t[n]-r,l=-1;++l<=n;)i=l/n,this._basis.point(this._beta*e[l]+(1-this._beta)*(o+i*s),this._beta*t[l]+(1-this._beta)*(r+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const r=function e(t){function n(e){return 1===t?new i.xO(e):new o(e,t)}return n.beta=function(t){return e(+t)},n}(.85)},42314(e,t,n){"use strict";function i(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function o(e,t){this._context=e,this._k=(1-t)/6}n.d(t,{Ay:()=>r,vP:()=>o}),o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:i(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:i(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const r=function e(t){function n(e){return new o(e,t)}return n.tension=function(t){return e(+t)},n}(0)},5703(e,t,n){"use strict";n.d(t,{A:()=>r}),Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,Math.PI;var i=n(42314);function o(e,t){this._context=e,this._alpha=t}o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:!function(e,t,n){var i=e._x1,o=e._y1,r=e._x2,s=e._y2;if(e._l01_a>1e-12){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,o=(o*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>1e-12){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,d=3*e._l23_a*(e._l23_a+e._l12_a);r=(r*c+e._x1*e._l23_2a-t*e._l12_2a)/d,s=(s*c+e._y1*e._l23_2a-n*e._l12_2a)/d}e._context.bezierCurveTo(i,o,r,s,e._x2,e._y2)}(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const r=function e(t){function n(e){return t?new o(e,t):new i.vP(e,0)}return n.alpha=function(t){return e(+t)},n}(.5)},26343(e,t,n){"use strict";function i(e){this._context=e}function o(e){return new i(e)}n.d(t,{A:()=>o}),Object.defineProperty(o,"name",{value:"default",configurable:!0}),i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}}},31253(e,t,n){"use strict";function i(e){return e<0?-1:1}function o(e,t,n){var o=e._x1-e._x0,r=t-e._x1,s=(e._y1-e._y0)/(o||r<0&&-0),a=(n-e._y1)/(r||o<0&&-0),l=(s*r+a*o)/(o+r);return(i(s)+i(a))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs(l))||0}function r(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function s(e,t,n){var i=e._x0,o=e._y0,r=e._x1,s=e._y1,a=(r-i)/3;e._context.bezierCurveTo(i+a,o+a*t,r-a,s-a*n,r,s)}function a(e){this._context=e}function l(e){this._context=new c(e)}function c(e){this._context=e}function d(e){return new a(e)}function u(e){return new l(e)}n.d(t,{G:()=>d,N:()=>u}),a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:s(this,this._t0,r(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,s(this,r(this,n=o(this,e,t)),n);break;default:s(this,this._t0,n=o(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(l.prototype=Object.create(a.prototype)).point=function(e,t){a.prototype.point.call(this,t,e)},c.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,i,o,r){this._context.bezierCurveTo(t,e,i,n,r,o)}}},74537(e,t,n){"use strict";function i(e){this._context=e}function o(e){var t,n,i=e.length-1,o=new Array(i),r=new Array(i),s=new Array(i);for(o[0]=0,r[0]=2,s[0]=e[0]+2*e[1],t=1;t=0;--t)o[t]=(s[t]-o[t+1])/r[t];for(r[i-1]=(e[i]+o[i-1])/2,t=0;tr}),Object.defineProperty(r,"name",{value:"default",configurable:!0}),i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var i=o(e),r=o(t),s=0,a=1;ao,Ko:()=>r,Ps:()=>s}),Object.defineProperty(o,"name",{value:"default",configurable:!0}),i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}}},59046(e,t,n){"use strict";function i(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function o(e){return function(){return e}}n.d(t,{A:()=>d}),Object.defineProperty(i,"name",{value:"default",configurable:!0}),Array.prototype.slice,Object.defineProperty(o,"name",{value:"default",configurable:!0});var r=n(26343),s=n(14083);function a(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const e=Math.floor(n);if(!(e>=0))throw new RangeError(`invalid digits: ${n}`);t=e}return e},()=>new s.wA(t)}function l(e){return e[0]}function c(e){return e[1]}function d(e,t){var n=o(!0),s=null,d=r.A,u=null,h=a(g);function g(o){var r,a,l,c=(o=i(o)).length,g=!1;for(null==s&&(u=d(l=h())),r=0;r<=c;++r)!(rJi.Ae,Ltv:()=>eo}),Object.defineProperty(o,"name",{value:"default",configurable:!0}),Object.defineProperty(r,"name",{value:"default",configurable:!0}),Object.defineProperty(a,"name",{value:"default",configurable:!0}),Object.defineProperty(l,"name",{value:"default",configurable:!0}),Object.defineProperty(c,"name",{value:"default",configurable:!0}),Object.defineProperty(g,"name",{value:"default",configurable:!0});var u=Array.prototype.find;function h(){return this.firstElementChild}function g(e){return this.select(null==e?h:function(e){return function(){return u.call(this.children,e)}}("function"==typeof e?e:d(e)))}Object.defineProperty(m,"name",{value:"default",configurable:!0});var p=Array.prototype.filter;function f(){return Array.from(this.children)}function m(e){return this.selectAll(null==e?f:function(e){return function(){return p.call(this.children,e)}}("function"==typeof e?e:d(e)))}function v(e){"function"!=typeof e&&(e=c(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o=y&&(y=b+1);!(_=m[y])&&++y=0;)(i=o[r])&&(s&&4^i.compareDocumentPosition(s)&&s.parentNode.insertBefore(i,s),s=i);return this}function A(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=M);for(var n=this._groups,i=n.length,o=new Array(i),r=0;rt?1:e>=t?0:NaN}function T(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function O(){return Array.from(this)}function P(){for(var e=this._groups,t=0,n=e.length;t=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),V.hasOwnProperty(t)?{space:V[t],local:e}:e}function H(e){return function(){this.removeAttribute(e)}}function j(e){return function(){this.removeAttributeNS(e.space,e.local)}}function U(e,t){return function(){this.setAttribute(e,t)}}function K(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function $(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function q(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function G(e,t){var n=z(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?j:H:"function"==typeof t?n.local?q:$:n.local?K:U)(n,t))}function Z(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Y(e){return function(){this.style.removeProperty(e)}}function X(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Q(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function J(e,t,n){return arguments.length>1?this.each((null==t?Y:"function"==typeof t?Q:X)(e,t,null==n?"":n)):ee(this.node(),e)}function ee(e,t){return e.style.getPropertyValue(t)||Z(e).getComputedStyle(e,null).getPropertyValue(t)}function te(e){return function(){delete this[e]}}function ne(e,t){return function(){this[e]=t}}function ie(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function oe(e,t){return arguments.length>1?this.each((null==t?te:"function"==typeof t?ie:ne)(e,t)):this.node()[e]}function re(e){return e.trim().split(/^|\s+/)}function se(e){return e.classList||new ae(e)}function ae(e){this._node=e,this._names=re(e.getAttribute("class")||"")}function le(e,t){for(var n=se(e),i=-1,o=t.length;++i=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),s=r.length;if(!(arguments.length<2)){for(a=t?We:Be,i=0;i=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}},Object.defineProperty(ve,"name",{value:"default",configurable:!0}),Object.defineProperty(we,"name",{value:"default",configurable:!0}),Object.defineProperty(Se,"name",{value:"default",configurable:!0}),Object.defineProperty(ke,"name",{value:"default",configurable:!0}),Object.defineProperty(De,"name",{value:"default",configurable:!0}),Object.defineProperty(Ne,"name",{value:"default",configurable:!0}),Object.defineProperty(Ae,"name",{value:"default",configurable:!0}),Object.defineProperty(Te,"name",{value:"default",configurable:!0}),Object.defineProperty(Re,"name",{value:"default",configurable:!0}),Object.defineProperty(Fe,"name",{value:"default",configurable:!0}),Object.defineProperty(Ve,"name",{value:"default",configurable:!0}),Object.defineProperty(Ue,"name",{value:"default",configurable:!0}),Object.defineProperty(Ke,"name",{value:"default",configurable:!0});var $e=[null];function qe(e,t){this._groups=e,this._parents=t}function Ge(){return new qe([[document.documentElement]],$e)}qe.prototype=Ge.prototype={constructor:qe,select:r,selectAll:l,selectChild:g,selectChildren:m,filter:v,data:k,enter:b,exit:E,join:D,merge:N,selection:function(){return this},order:I,sort:A,call:T,nodes:O,node:P,size:R,empty:F,each:B,attr:G,style:J,property:oe,classed:ge,text:ve,html:we,raise:Se,lower:ke,append:Ne,insert:Ae,remove:Te,clone:Re,datum:Fe,on:Ve,dispatch:Ue,[Symbol.iterator]:Ke};const Ze=Ge;var Ye={value:()=>{}};function Xe(){for(var e,t=0,n=arguments.length,i={};t=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!i.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}})),s=-1,a=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++s0)for(var n,i,o=new Array(n),r=0;r=0&&t._call.call(void 0,e),t=t._next;--ot}()}finally{ot=0,function(){for(var e,t,n=nt,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:nt=t);it=e,_t(i)}(),lt=0}}function vt(){var e=dt.now(),t=e-at;t>1e3&&(ct-=t,at=e)}function _t(e){ot||(rt&&(rt=clearTimeout(rt)),e-lt>24?(e<1/0&&(rt=setTimeout(mt,e-dt.now()-ct)),st&&(st=clearInterval(st))):(st||(at=dt.now(),st=setInterval(vt,1e3)),ot=1,ut(mt)))}function bt(e,t,n){var i=new pt;return t=null==t?0:+t,i.restart(n=>{i.stop(),e(n+t)},t,n),i}pt.prototype=ft.prototype={constructor:pt,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?ht():+n)+(null==t?0:+t),this._next||it===this||(it?it._next=this:nt=this,it=this),this._call=e,this._time=n,_t()},stop:function(){this._call&&(this._call=null,this._time=1/0,_t())}},Object.defineProperty(bt,"name",{value:"default",configurable:!0}),Object.defineProperty(Ct,"name",{value:"default",configurable:!0});var yt=tt("start","end","cancel","interrupt"),wt=[];function Ct(e,t,n,i,o,r){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};!function(e,t,n){var i,o=e.__transition;function r(l){var c,d,u,h;if(1!==n.state)return a();for(c in o)if((h=o[c]).name===n.name){if(3===h.state)return bt(r);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c0)throw new Error("too late; already scheduled");return n}function xt(e,t){var n=kt(e,t);if(n.state>3)throw new Error("too late; already running");return n}function kt(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Lt(e,t){var n,i,o,r=e.__transition,s=!0;if(r){for(o in t=null==t?null:t+"",r)(n=r[o]).name===t?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(i?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete r[o]):s=!1;s&&delete e.__transition}}function Et(e){return this.each(function(){Lt(this,e)})}function Dt(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}Object.defineProperty(Lt,"name",{value:"default",configurable:!0}),Object.defineProperty(Et,"name",{value:"default",configurable:!0}),Object.defineProperty(Dt,"name",{value:"default",configurable:!0}),Object.defineProperty(Mt,"name",{value:"default",configurable:!0});var Nt,It=180/Math.PI,At={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Mt(e,t,n,i,o,r){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*i)&&(n-=e*l,i-=t*l),(a=Math.sqrt(n*n+i*i))&&(n/=a,i/=a,l/=a),e*i180?t+=360:t-e>180&&(e+=360),r.push({i:n.push(o(n)+"rotate(",null,i)-2,x:Dt(e,t)})):t&&n.push(o(n)+"rotate("+t+i)}(r.rotate,s.rotate,a,l),function(e,t,n,r){e!==t?r.push({i:n.push(o(n)+"skewX(",null,i)-2,x:Dt(e,t)}):t&&n.push(o(n)+"skewX("+t+i)}(r.skewX,s.skewX,a,l),function(e,t,n,i,r,s){if(e!==n||t!==i){var a=r.push(o(r)+"scale(",null,",",null,")");s.push({i:a-4,x:Dt(e,n)},{i:a-2,x:Dt(t,i)})}else 1===n&&1===i||r.push(o(r)+"scale("+n+","+i+")")}(r.scaleX,r.scaleY,s.scaleX,s.scaleY,a,l),r=s=null,function(e){for(var t,n=-1,i=l.length;++n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?an(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?an(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Zt.exec(e))?new cn(t[1],t[2],t[3],1):(t=Yt.exec(e))?new cn(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Xt.exec(e))?an(t[1],t[2],t[3],t[4]):(t=Qt.exec(e))?an(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Jt.exec(e))?fn(t[1],t[2]/100,t[3]/100,1):(t=en.exec(e))?fn(t[1],t[2]/100,t[3]/100,t[4]):tn.hasOwnProperty(e)?sn(tn[e]):"transparent"===e?new cn(NaN,NaN,NaN,0):null}function sn(e){return new cn(e>>16&255,e>>8&255,255&e,1)}function an(e,t,n,i){return i<=0&&(e=t=n=NaN),new cn(e,t,n,i)}function ln(e,t,n,i){return 1===arguments.length?((o=e)instanceof Ht||(o=rn(o)),o?new cn((o=o.rgb()).r,o.g,o.b,o.opacity):new cn):new cn(e,t,n,null==i?1:i);var o}function cn(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function dn(){return`#${pn(this.r)}${pn(this.g)}${pn(this.b)}`}function un(){const e=hn(this.opacity);return`${1===e?"rgb(":"rgba("}${gn(this.r)}, ${gn(this.g)}, ${gn(this.b)}${1===e?")":`, ${e})`}`}function hn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function pn(e){return((e=gn(e))<16?"0":"")+e.toString(16)}function fn(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vn(e,t,n,i)}function mn(e){if(e instanceof vn)return new vn(e.h,e.s,e.l,e.opacity);if(e instanceof Ht||(e=rn(e)),!e)return new vn;if(e instanceof vn)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),r=Math.max(t,n,i),s=NaN,a=r-o,l=(r+o)/2;return a?(s=t===r?(n-i)/a+6*(n0&&l<1?0:s,new vn(s,a,l,e.opacity)}function vn(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function _n(e){return(e=(e||0)%360)<0?e+360:e}function bn(e){return Math.max(0,Math.min(1,e||0))}function yn(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function wn(e,t,n,i,o){var r=e*e,s=r*e;return((1-3*e+3*r-s)*t+(4-6*r+3*s)*n+(1+3*e+3*r-3*s)*i+s*o)/6}function Cn(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[i],r=e[i+1],s=i>0?e[i-1]:2*o-r,a=i=240?e-240:e+120,o,i),yn(e,o,i),yn(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new vn(_n(this.h),bn(this.s),bn(this.l),hn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=hn(this.opacity);return`${1===e?"hsl(":"hsla("}${_n(this.h)}, ${100*bn(this.s)}%, ${100*bn(this.l)}%${1===e?")":`, ${e})`}`}})),Object.defineProperty(Cn,"name",{value:"default",configurable:!0}),Object.defineProperty(Sn,"name",{value:"default",configurable:!0});const xn=e=>()=>e;function kn(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):xn(isNaN(e)?t:e)}(Object.getOwnPropertyDescriptor(xn,"name")||{}).writable||Object.defineProperty(xn,"name",{value:"default",configurable:!0});const Ln=function e(t){var n=function(e){return 1===(e=+e)?kn:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):xn(isNaN(t)?n:t)}}(t);function i(e,t){var i=n((e=ln(e)).r,(t=ln(t)).r),o=n(e.g,t.g),r=n(e.b,t.b),s=kn(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=o(t),e.b=r(t),e.opacity=s(t),e+""}}return i.gamma=e,i}(1);function En(e){return function(t){var n,i,o=t.length,r=new Array(o),s=new Array(o),a=new Array(o);for(n=0;nr&&(o=t.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Dt(n,i)})),r=Nn.lastIndex;return r=0&&(e=e.slice(0,t)),!e||"start"===e})}(t)?St:xt;return function(){var s=r(this,e),a=s.on;a!==i&&(o=(i=a).copy()).on(t,n),s.on=o}}(n,e,t))}function Jn(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))}function ei(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=o(e));for(var i=this._groups,r=i.length,s=new Array(r),a=0;a{const t=e.identifier;return(e=fi(e,_)).point0=e.slice(),e.identifier=t,e});vi(_);var O=d(_,arguments,!0).beforestart();if("overlay"===b){k&&(f=!0);const t=[T[0],T[1]||T[0]];S.selection=k=[[o=e===Ti?L:Ni(t[0][0],t[1][0]),a=e===Mi?E:Ni(t[0][1],t[1][1])],[u=e===Ti?D:Di(t[0][0],t[1][0]),g=e===Mi?N:Di(t[0][1],t[1][1])]],T.length>1&&W(n)}else o=k[0][0],a=k[0][1],u=k[1][0],g=k[1][1];s=o,l=a,h=u,p=g;var P=mi(_).attr("pointer-events","none"),R=P.selectAll(".overlay").attr("cursor",Pi[b]);if(n.touches)O.moved=B,O.ended=V;else{var F=mi(n.view).on("mousemove.brush",B,!0).on("mouseup.brush",V,!0);r&&F.on("keydown.brush",function(e){switch(e.keyCode){case 16:M=w&&C;break;case 18:y===ki&&(w&&(u=h-I*w,o=s+I*w),C&&(g=p-A*C,a=l+A*C),y=Li,W(e));break;case 32:y!==ki&&y!==Li||(w<0?u=h-I:w>0&&(o=s-I),C<0?g=p-A:C>0&&(a=l-A),y=xi,R.attr("cursor",Pi.selection),W(e));break;default:return}bi(e)},!0).on("keyup.brush",function(e){switch(e.keyCode){case 16:M&&(m=v=M=!1,W(e));break;case 18:y===Li&&(w<0?u=h:w>0&&(o=s),C<0?g=p:C>0&&(a=l),y=ki,W(e));break;case 32:y===xi&&(e.altKey?(w&&(u=h-I*w,o=s+I*w),C&&(g=p-A*C,a=l+A*C),y=Li):(w<0?u=h:w>0&&(o=s),C<0?g=p:C>0&&(a=l),y=ki),R.attr("cursor",Pi[b]),W(e));break;default:return}bi(e)},!0),(void 0)(n.view)}c.call(_),O.start(n,y.name)}function B(e){for(const t of e.changedTouches||[e])for(const e of T)e.identifier===t.identifier&&(e.cur=fi(t,_));if(M&&!m&&!v&&1===T.length){const e=T[0];Ei(e.cur[0]-e[0])>Ei(e.cur[1]-e[1])?v=!0:m=!0}for(const e of T)e.cur&&(e[0]=e.cur[0],e[1]=e.cur[1]);f=!0,bi(e),W(e)}function W(e){const t=T[0],n=t.point0;var i;switch(I=t[0]-n[0],A=t[1]-n[1],y){case xi:case Si:w&&(I=Di(L-o,Ni(D-u,I)),s=o+I,h=u+I),C&&(A=Di(E-a,Ni(N-g,A)),l=a+A,p=g+A);break;case ki:T[1]?(w&&(s=Di(L,Ni(D,T[0][0])),h=Di(L,Ni(D,T[1][0])),w=1),C&&(l=Di(E,Ni(N,T[0][1])),p=Di(E,Ni(N,T[1][1])),C=1)):(w<0?(I=Di(L-o,Ni(D-o,I)),s=o+I,h=u):w>0&&(I=Di(L-u,Ni(D-u,I)),s=o,h=u+I),C<0?(A=Di(E-a,Ni(N-a,A)),l=a+A,p=g):C>0&&(A=Di(E-g,Ni(N-g,A)),l=a,p=g+A));break;case Li:w&&(s=Di(L,Ni(D,o-I*w)),h=Di(L,Ni(D,u+I*w))),C&&(l=Di(E,Ni(N,a-A*C)),p=Di(E,Ni(N,g+A*C)))}hi?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s))}Object.defineProperty(eo,"name",{value:"default",configurable:!0}),to.prototype={constructor:to,scale:function(e){return 1===e?this:new to(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new to(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new to(1,0,0),to.prototype,Object.defineProperty(function(){var e,t,n,i=no,o=io,r=ao,s=ro,a=so,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,u=void 0,h=(void 0)("start","zoom","end"),g=0,p=10;function f(e){e.property("__zoom",oo).on("wheel.zoom",C,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",x).filter(a).on("touchstart.zoom",k).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",E).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Yi(t,e.x,e.y)}function v(e,t,n){var i=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return i===e.x&&o===e.y?e:new Yi(e.k,i,o)}function _(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function b(e,t,n,i){e.on("start.zoom",function(){y(this,arguments).event(i).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(i).end()}).tween("zoom",function(){var e=this,r=arguments,s=y(e,r).event(i),a=o.apply(e,r),l=null==n?_(a):"function"==typeof n?n.apply(e,r):n,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),d=e.__zoom,h="function"==typeof t?t.apply(e,r):t,g=u(d.invert(l).concat(c/d.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=g(e),n=c/t[2];e=new Yi(n,l[0]-t[0]*n,l[1]-t[1]*n)}s.zoom(null,e)}})}function y(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function C(e,...t){if(i.apply(this,arguments)){var n=y(this,t).event(e),o=this.__zoom,a=Math.max(l[0],Math.min(l[1],o.k*Math.pow(2,s.apply(this,arguments)))),d=Ki(e);if(n.wheel)n.mouse[0][0]===d[0]&&n.mouse[0][1]===d[1]||(n.mouse[1]=o.invert(n.mouse[0]=d)),clearTimeout(n.wheel);else{if(o.k===a)return;n.mouse=[d,o.invert(d)],qi(this),n.start()}Xi(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",r(v(m(o,a),n.mouse[0],n.mouse[1]),n.extent,c))}}function S(e,...t){if(!n&&i.apply(this,arguments)){var o=e.currentTarget,s=y(this,t,!0).event(e),a=$i(e.view).on("mousemove.zoom",function(e){if(Xi(e),!s.moved){var t=e.clientX-d,n=e.clientY-u;s.moved=t*t+n*n>g}s.event(e).zoom("mouse",r(v(s.that.__zoom,s.mouse[0]=Ki(e,o),s.mouse[1]),s.extent,c))},!0).on("mouseup.zoom",function(e){a.on("mousemove.zoom mouseup.zoom",null),(void 0)(e.view,s.moved),Xi(e),s.event(e).end()},!0),l=Ki(e,o),d=e.clientX,u=e.clientY;(void 0)(e.view),Qi(e),s.mouse=[l,this.__zoom.invert(l)],qi(this),s.start()}}function x(e,...t){if(i.apply(this,arguments)){var n=this.__zoom,s=Ki(e.changedTouches?e.changedTouches[0]:e,this),a=n.invert(s),l=n.k*(e.shiftKey?.5:2),u=r(v(m(n,l),s,a),o.apply(this,t),c);Xi(e),d>0?$i(this).transition().duration(d).call(b,u,s,e):$i(this).call(f.transform,u,s,e)}}function k(n,...o){if(i.apply(this,arguments)){var r,s,a,l,c=n.touches,d=c.length,u=y(this,o,n.changedTouches.length===d).event(n);for(Qi(n),s=0;s1?t-1:0),i=1;i3?t.i-4:t.i:Array.isArray(e)?1:u(e)?2:h(e)?3:0}function l(e,t){return 2===a(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t,n){var i=a(e);2===i?e.set(t,n):3===i?e.add(n):e[t]=n}function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function u(e){return z&&e instanceof Map}function h(e){return H&&e instanceof Set}function g(e){return e.o||e.t}function p(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Z(e);delete t[$];for(var n=G(t),i=0;i1&&(e.set=e.add=e.clear=e.delete=m),Object.freeze(e),t&&s(e,function(e,t){return f(t,!0)},!0)),e}function m(){i(2)}function v(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function _(e){var t=Y[e];return t||i(18,e),t}function b(){return W}function y(e,t){t&&(_("Patches"),e.u=[],e.s=[],e.v=t)}function w(e){C(e),e.p.forEach(x),e.p=null}function C(e){e===W&&(W=e.l)}function S(e){return W={p:[],l:W,h:e,m:!0,_:0}}function x(e){var t=e[$];0===t.i||1===t.i?t.j():t.g=!0}function k(e,t){t._=t.p.length;var n=t.p[0],o=void 0!==e&&e!==n;return t.h.O||_("ES5").S(t,e,o),o?(n[$].P&&(w(t),i(4)),r(e)&&(e=L(t,e),t.l||D(t,e)),t.u&&_("Patches").M(n[$].t,e,t.u,t.s)):e=L(t,n,[]),w(t),t.u&&t.v(t.u,t.s),e!==U?e:void 0}function L(e,t,n){if(v(t))return t;var i=t[$];if(!i)return s(t,function(o,r){return E(e,i,t,o,r,n)},!0),t;if(i.A!==e)return t;if(!i.P)return D(e,i.t,!0),i.t;if(!i.I){i.I=!0,i.A._--;var o=4===i.i||5===i.i?i.o=p(i.k):i.o,r=o,a=!1;3===i.i&&(r=new Set(o),o.clear(),a=!0),s(r,function(t,r){return E(e,i,o,t,r,n,a)}),D(e,o,!1),n&&e.u&&_("Patches").N(i,n,e.u,e.s)}return i.o}function E(e,t,n,i,s,a,d){if(o(s)){var u=L(e,s,a&&t&&3!==t.i&&!l(t.R,i)?a.concat(i):void 0);if(c(n,i,u),!o(u))return;e.m=!1}else d&&n.add(s);if(r(s)&&!v(s)){if(!e.h.D&&e._<1)return;L(e,s),t&&t.A.l||D(e,s)}}function D(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e.m&&f(t,n)}function N(e,t){var n=e[$];return(n?g(n):e)[t]}function I(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var i=Object.getOwnPropertyDescriptor(n,t);if(i)return i;n=Object.getPrototypeOf(n)}}function A(e){e.P||(e.P=!0,e.l&&A(e.l))}function M(e){e.o||(e.o=p(e.t))}function T(e,t,n){var i=u(t)?_("MapSet").F(t,n):h(t)?_("MapSet").T(t,n):e.O?function(e,t){var n=Array.isArray(e),i={i:n?1:0,A:t?t.A:b(),P:!1,I:!1,R:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=i,r=X;n&&(o=[i],r=Q);var s=Proxy.revocable(o,r),a=s.revoke,l=s.proxy;return i.k=l,i.j=a,l}(t,n):_("ES5").J(t,n);return(n?n.A:b()).p.push(i),i}function O(e){return o(e)||i(22,e),function e(t){if(!r(t))return t;var n,i=t[$],o=a(t);if(i){if(!i.P&&(i.i<4||!_("ES5").K(i)))return i.t;i.I=!0,n=P(t,o),i.I=!1}else n=P(t,o);return s(n,function(t,o){i&&function(e,t){return 2===a(e)?e.get(t):e[t]}(i.t,t)===o||c(n,t,e(o))}),3===o?new Set(n):n}(e)}function P(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return p(e)}function R(){function e(e,t){var n=r[e];return n?n.enumerable=t:r[e]=n={configurable:!0,enumerable:t,get:function(){var t=this[$];return X.get(t,e)},set:function(t){var n=this[$];X.set(n,e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var o=e[t][$];if(!o.P)switch(o.i){case 5:i(o)&&A(o);break;case 4:n(o)&&A(o)}}}function n(e){for(var t=e.t,n=e.k,i=G(n),o=i.length-1;o>=0;o--){var r=i[o];if(r!==$){var s=t[r];if(void 0===s&&!l(t,r))return!0;var a=n[r],c=a&&a[$];if(c?c.t!==s:!d(a,s))return!0}}var u=!!t[$];return i.length!==G(t).length+(u?0:1)}function i(e){var t=e.k;if(t.length!==e.t.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);if(n&&!n.get)return!0;for(var i=0;ine,Qx:()=>o,a6:()=>r,h4:()=>F,jM:()=>te,rF:()=>R,ss:()=>O});var B,W,V="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),z="undefined"!=typeof Map,H="undefined"!=typeof Set,j="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,U=V?Symbol.for("immer-nothing"):((B={})["immer-nothing"]=!0,B),K=V?Symbol.for("immer-draftable"):"__$immer_draftable",$=V?Symbol.for("immer-state"):"__$immer_state",q=("undefined"!=typeof Symbol&&Symbol.iterator,""+Object.prototype.constructor),G="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Z=Object.getOwnPropertyDescriptors||function(e){var t={};return G(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},Y={},X={get:function(e,t){if(t===$)return e;var n=g(e);if(!l(n,t))return function(e,t,n){var i,o=I(t,n);return o?"value"in o?o.value:null===(i=o.get)||void 0===i?void 0:i.call(e.k):void 0}(e,n,t);var i=n[t];return e.I||!r(i)?i:i===N(e.t,t)?(M(e),e.o[t]=T(e.A.h,i,e)):i},has:function(e,t){return t in g(e)},ownKeys:function(e){return Reflect.ownKeys(g(e))},set:function(e,t,n){var i=I(g(e),t);if(null==i?void 0:i.set)return i.set.call(e.k,n),!0;if(!e.P){var o=N(g(e),t),r=null==o?void 0:o[$];if(r&&r.t===n)return e.o[t]=n,e.R[t]=!1,!0;if(d(n,o)&&(void 0!==n||l(e.t,t)))return!0;M(e),A(e)}return e.o[t]===n&&(void 0!==n||t in e.o)||Number.isNaN(n)&&Number.isNaN(e.o[t])||(e.o[t]=n,e.R[t]=!0),!0},deleteProperty:function(e,t){return void 0!==N(e.t,t)||t in e.t?(e.R[t]=!1,M(e),A(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=g(e),i=Reflect.getOwnPropertyDescriptor(n,t);return i?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:i.enumerable,value:n[t]}:i},defineProperty:function(){i(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){i(12)}},Q={};s(X,function(e,t){Q[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),Q.deleteProperty=function(e,t){return Q.set.call(this,e,t,void 0)},Q.set=function(e,t,n){return X.set.call(this,e[0],t,n,e[0])};var J=function(){function e(e){var t=this;this.O=j,this.D=!0,this.produce=function(e,n,o){if("function"==typeof e&&"function"!=typeof n){var s=n;n=e;var a=t;return function(e){var t=this;void 0===e&&(e=s);for(var i=arguments.length,o=Array(i>1?i-1:0),r=1;r1?i-1:0),r=1;r=0;n--){var i=t[n];if(0===i.path.length&&"replace"===i.op){e=i.value;break}}n>-1&&(t=t.slice(n+1));var r=_("Patches").$;return o(e)?r(e,t):this.produce(e,function(e){return r(e,t)})},e}(),ee=new J,te=ee.produce;ee.produceWithPatches.bind(ee),ee.setAutoFreeze.bind(ee),ee.setUseProxies.bind(ee),ee.applyPatches.bind(ee),ee.createDraft.bind(ee),ee.finishDraft.bind(ee);const ne=te},20382(e,t,n){"use strict";function i(e){return null==e}n.d(t,{Bh:()=>Qe,Hh:()=>Xe});var o={isNothing:i,isObject:function(e){return"object"==typeof e&&null!==e},toArray:function(e){return Array.isArray(e)?e:i(e)?[]:[e]},repeat:function(e,t){var n,i="";for(n=0;na&&(t=i-a+(r=" ... ").length),n-i>a&&(n=i+a-(s=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+s,pos:i-t+r.length}}function c(e,t){return o.repeat(" ",t-e.length)+e}var d=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],u=["scalar","sequence","mapping"],h=function(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===d.indexOf(t))throw new a('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}(t.styleAliases||null),-1===u.indexOf(this.kind))throw new a('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function g(e,t){var n=[];return e[t].forEach(function(e){var t=n.length;n.forEach(function(n,i){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=i)}),n[t]=e}),n}function p(e){return this.extend(e)}p.prototype.extend=function(e){var t=[],n=[];if(e instanceof h)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new a("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach(function(e){if(!(e instanceof h))throw new a("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new a("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new a("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(e){if(!(e instanceof h))throw new a("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(p.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=g(i,"implicit"),i.compiledExplicit=g(i,"explicit"),i.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),C=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),S=/^[-+]?[0-9]+e/,x=new h("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!C.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||o.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(o.isNegativeZero(e))return"-0.0";return n=e.toString(10),S.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),k=f.extend({implicit:[m,v,w,x]}),L=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),E=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),D=new h("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==L.exec(e)||null!==E.exec(e))},construct:function(e){var t,n,i,o,r,s,a,l,c=0,d=null;if(null===(t=L.exec(e))&&(t=E.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,o=+t[3],!t[4])return new Date(Date.UTC(n,i,o));if(r=+t[4],s=+t[5],a=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),l=new Date(Date.UTC(n,i,o,r,s,a,c)),d&&l.setTime(l.getTime()-d),l},instanceOf:Date,represent:function(e){return e.toISOString()}}),N=new h("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",A=new h("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,o=e.length,r=I;for(n=0;n64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),o=i.length,r=I,s=0,a=[];for(t=0;t>16&255),a.push(s>>8&255),a.push(255&s)),s=s<<6|r.indexOf(i.charAt(t));return 0==(n=o%4*6)?(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)):18===n?(a.push(s>>10&255),a.push(s>>2&255)):12===n&&a.push(s>>4&255),new Uint8Array(a)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,i="",o=0,r=e.length,s=I;for(t=0;t>18&63],i+=s[o>>12&63],i+=s[o>>6&63],i+=s[63&o]),o=(o<<8)+e[t];return 0==(n=r%3)?(i+=s[o>>18&63],i+=s[o>>12&63],i+=s[o>>6&63],i+=s[63&o]):2===n?(i+=s[o>>10&63],i+=s[o>>4&63],i+=s[o<<2&63],i+=s[64]):1===n&&(i+=s[o>>2&63],i+=s[o<<4&63],i+=s[64],i+=s[64]),i}}),M=Object.prototype.hasOwnProperty,T=Object.prototype.toString,O=new h("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,o,r,s=[],a=e;for(t=0,n=a.length;t>10),56320+(e-65536&1023))}function ne(e,t,n){"__proto__"===t?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}for(var ie=new Array(256),oe=new Array(256),re=0;re<256;re++)ie[re]=ee(re)?1:0,oe[re]=ee(re);function se(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||W,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function ae(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,i=/\r?\n|\r|\0/g,r=[0],s=[],a=-1;n=i.exec(e.buffer);)s.push(n.index),r.push(n.index+n[0].length),e.position<=n.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var d,u,h="",g=Math.min(e.line+t.linesAfter,s.length).toString().length,p=t.maxLength-(t.indent+g+3);for(d=1;d<=t.linesBefore&&!(a-d<0);d++)u=l(e.buffer,r[a-d],s[a-d],e.position-(r[a]-r[a-d]),p),h=o.repeat(" ",t.indent)+c((e.line-d+1).toString(),g)+" | "+u.str+"\n"+h;for(u=l(e.buffer,r[a],s[a],e.position,p),h+=o.repeat(" ",t.indent)+c((e.line+1).toString(),g)+" | "+u.str+"\n",h+=o.repeat("-",t.indent+g+3+u.pos)+"^\n",d=1;d<=t.linesAfter&&!(a+d>=s.length);d++)u=l(e.buffer,r[a+d],s[a+d],e.position-(r[a]-r[a+d]),p),h+=o.repeat(" ",t.indent)+c((e.line+d+1).toString(),g)+" | "+u.str+"\n";return h.replace(/\n$/,"")}(n),new a(t,n)}function le(e,t){throw ae(e,t)}function ce(e,t){e.onWarning&&e.onWarning.call(null,ae(e,t))}var de={YAML:function(e,t,n){var i,o,r;null!==e.version&&le(e,"duplication of %YAML directive"),1!==n.length&&le(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&le(e,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),r=parseInt(i[2],10),1!==o&&le(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&ce(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,o;2!==n.length&&le(e,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],U.test(i)||le(e,"ill-formed tag handle (first argument) of the TAG directive"),V.call(e.tagMap,i)&&le(e,'there is a previously declared suffix for "'+i+'" tag handle'),K.test(o)||le(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch(t){le(e,"tag prefix is malformed: "+o)}e.tagMap[i]=o}};function ue(e,t,n,i){var o,r,s,a;if(t1&&(e.result+=o.repeat("\n",t-1))}function _e(e,t){var n,i,o=e.tag,r=e.anchor,s=[],a=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),i=e.input.charCodeAt(e.position);0!==i&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,le(e,"tab characters must not be used in indentation")),45===i)&&Z(e.input.charCodeAt(e.position+1));)if(a=!0,e.position++,fe(e,!0,-1)&&e.lineIndent<=t)s.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,we(e,t,3,!1,!0),s.push(e.result),fe(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)le(e,"bad indentation of a sequence entry");else if(e.lineIndentt?f=1:e.lineIndent===t?f=0:e.lineIndentt?f=1:e.lineIndent===t?f=0:e.lineIndentt)&&(v&&(s=e.line,a=e.lineStart,l=e.position),we(e,t,4,!0,o)&&(v?f=e.result:m=e.result),v||(ge(e,h,g,p,f,m,s,a,l),p=f=m=null),fe(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==c)le(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===r?le(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?le(e,"repeat of an indentation width identifier"):(d=t+r-1,c=!0)}if(G(s)){do{s=e.input.charCodeAt(++e.position)}while(G(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!q(s)&&0!==s)}for(;0!==s;){for(pe(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!c||e.lineIndentd&&(d=e.lineIndent),q(s))u++;else{if(e.lineIndent0){for(o=s,r=0;o>0;o--)(s=X(a=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+s:le(e,"expected hexadecimal character");e.result+=te(r),e.position++}else le(e,"unknown escape sequence");n=i=e.position}else q(a)?(ue(e,n,i,!0),ve(e,fe(e,!1,t)),n=i=e.position):e.position===e.lineStart&&me(e)?le(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}le(e,"unexpected end of the stream within a double quoted scalar")}(e,g)?v=!0:function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!Z(i)&&!Y(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&le(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),V.call(e.anchorMap,n)||le(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],fe(e,!0,-1),!0}(e)?(v=!0,null===e.tag&&null===e.anchor||le(e,"alias node should not have any properties")):function(e,t,n){var i,o,r,s,a,l,c,d,u=e.kind,h=e.result;if(Z(d=e.input.charCodeAt(e.position))||Y(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(Z(i=e.input.charCodeAt(e.position+1))||n&&Y(i)))return!1;for(e.kind="scalar",e.result="",o=r=e.position,s=!1;0!==d;){if(58===d){if(Z(i=e.input.charCodeAt(e.position+1))||n&&Y(i))break}else if(35===d){if(Z(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&me(e)||n&&Y(d))break;if(q(d)){if(a=e.line,l=e.lineStart,c=e.lineIndent,fe(e,!1,-1),e.lineIndent>=t){s=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=a,e.lineStart=l,e.lineIndent=c;break}}s&&(ue(e,o,r,!1),ve(e,e.line-a),o=r=e.position,s=!1),G(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return ue(e,o,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,g,1===n)&&(v=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===f&&(v=l&&_e(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&le(e,'unacceptable node kind for !> tag; it should be "scalar", not "'+e.kind+'"'),c=0,d=e.implicitTypes.length;c"),null!==e.result&&h.kind!==e.kind&&le(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):le(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||v}function Ce(e){var t,n,i,o,r=e.position,s=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(o=e.input.charCodeAt(e.position))&&(fe(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(s=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!Z(o);)o=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&le(e,"directive name must not be less than one character in length");0!==o;){for(;G(o);)o=e.input.charCodeAt(++e.position);if(35===o){do{o=e.input.charCodeAt(++e.position)}while(0!==o&&!q(o));break}if(q(o))break;for(t=e.position;0!==o&&!Z(o);)o=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==o&&pe(e),V.call(de,n)?de[n](e,n,i):ce(e,'unknown document directive "'+n+'"')}fe(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,fe(e,!0,-1)):s&&le(e,"directives end mark is expected"),we(e,e.lineIndent-1,4,!1,!0),fe(e,!0,-1),e.checkLineBreaks&&H.test(e.input.slice(r,e.position))&&ce(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&me(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,fe(e,!0,-1)):e.position=55296&&i<=56319&&t+1=56320&&n<=57343?1024*(i-55296)+n-56320+65536:i}function Ve(e){return/^\n* /.test(e)}function ze(e,t,n,i,o){e.dump=function(){if(0===t.length)return 2===e.quotingType?'""':"''";if(!e.noCompatMode&&(-1!==Ne.indexOf(t)||Ie.test(t)))return 2===e.quotingType?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),l=i||e.flowLevel>-1&&n>=e.flowLevel;switch(function(e,t,n,i,o,r,s,a){var l,c,d=0,u=null,h=!1,g=!1,p=-1!==i,f=-1,m=Re(c=We(e,0))&&c!==Ee&&!Pe(c)&&45!==c&&63!==c&&58!==c&&44!==c&&91!==c&&93!==c&&123!==c&&125!==c&&35!==c&&38!==c&&42!==c&&33!==c&&124!==c&&61!==c&&62!==c&&39!==c&&34!==c&&37!==c&&64!==c&&96!==c&&function(e){return!Pe(e)&&58!==e}(We(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(!Re(d=We(e,l)))return 5;m=m&&Be(d,u,a),u=d}else{for(l=0;l=65536?l+=2:l++){if(10===(d=We(e,l)))h=!0,p&&(g=g||l-f-1>i&&" "!==e[f+1],f=l);else if(!Re(d))return 5;m=m&&Be(d,u,a),u=d}g=g||p&&l-f-1>i&&" "!==e[f+1]}return h||g?n>9&&Ve(e)?5:s?2===r?5:2:g?4:3:!m||s||o(e)?2===r?5:2:1}(t,l,e.indent,s,function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+He(t,e.indent)+je(Te(function(e,t){for(var n,i,o,r=/(\n+)([^\n]*)/g,s=(o=-1!==(o=e.indexOf("\n"))?o:e.length,r.lastIndex=o,Ue(e.slice(0,o),t)),a="\n"===e[0]||" "===e[0];i=r.exec(e);){var l=i[1],c=i[2];n=" "===c[0],s+=l+(a||n||""===c?"":"\n")+Ue(c,t),a=n}return s}(t,s),r));case 5:return'"'+function(e){for(var t,n="",i=0,o=0;o=65536?o+=2:o++)i=We(e,o),!(t=De[i])&&Re(i)?(n+=e[o],i>=65536&&(n+=e[o+1])):n+=t||Ae(i);return n}(t)+'"';default:throw new a("impossible error: invalid scalar style")}}()}function He(e,t){var n=Ve(e)?String(t):"",i="\n"===e[e.length-1];return n+(!i||"\n"!==e[e.length-2]&&"\n"!==e?i?"":"-":"+")+"\n"}function je(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Ue(e,t){if(""===e||" "===e[0])return e;for(var n,i,o=/ [^ ]/g,r=0,s=0,a=0,l="";n=o.exec(e);)(a=n.index)-r>t&&(i=s>r?s:a,l+="\n"+e.slice(r,i),r=i+1),s=a;return l+="\n",e.length-r>t&&s>r?l+=e.slice(r,s)+"\n"+e.slice(s+1):l+=e.slice(r),l.slice(1)}function Ke(e,t,n,i){var o,r,s,a="",l=e.tag;for(o=0,r=n.length;o tag resolver accepts not "'+c+'" style');i=l.represent[c](t,c)}e.dump=i}return!0}return!1}function qe(e,t,n,i,o,r,s){e.tag=null,e.dump=n,$e(e,n,!1)||$e(e,n,!0);var l,c=ke.call(e.dump),d=i;i&&(i=e.flowLevel<0||e.flowLevel>t);var u,h,g="[object Object]"===c||"[object Array]"===c;if(g&&(h=-1!==(u=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||h||2!==e.indent&&t>0)&&(o=!1),h&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(g&&h&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===c)i&&0!==Object.keys(e.dump).length?(function(e,t,n,i){var o,r,s,l,c,d,u="",h=e.tag,g=Object.keys(n);if(!0===e.sortKeys)g.sort();else if("function"==typeof e.sortKeys)g.sort(e.sortKeys);else if(e.sortKeys)throw new a("sortKeys must be a boolean or a function");for(o=0,r=g.length;o1024)&&(e.dump&&10===e.dump.charCodeAt(0)?d+="?":d+="? "),d+=e.dump,c&&(d+=Oe(e,t)),qe(e,t+1,l,!0,c)&&(e.dump&&10===e.dump.charCodeAt(0)?d+=":":d+=": ",u+=d+=e.dump));e.tag=h,e.dump=u||"{}"}(e,t,e.dump,o),h&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,o,r,s,a,l="",c=e.tag,d=Object.keys(n);for(i=0,o=d.length;i1024&&(a+="? "),a+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),qe(e,t,s,!1,!1)&&(l+=a+=e.dump));e.tag=c,e.dump="{"+l+"}"}(e,t,e.dump),h&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===c)i&&0!==e.dump.length?(e.noArrayIndent&&!s&&t>0?Ke(e,t-1,e.dump,o):Ke(e,t,e.dump,o),h&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,o,r,s="",a=e.tag;for(i=0,o=n.length;i",e.dump=l+" "+e.dump)}return!0}function Ge(e,t){var n,i,o=[],r=[];for(Ze(e,o,r),n=0,i=r.length;na});var i=n(66984);const o=function(e,t){for(var n=e.length;n--;)if((0,i.A)(e[n][0],t))return n;return-1};var r=Array.prototype.splice;function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},s.prototype.set=function(e,t){var n=this.__data__,i=o(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};const a=s},68335(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(28562),o=n(41917);const r=(0,i.A)(o.A,"Map")},62050(e,t,n){"use strict";n.d(t,{A:()=>h});const i=(0,n(28562).A)(Object,"create");var o=Object.prototype.hasOwnProperty;var r=Object.prototype.hasOwnProperty;function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ta});var i=n(89469);var o=n(68335),r=n(62050);function s(e){var t=this.__data__=new i.A(e);this.size=t.size}s.prototype.clear=function(){this.__data__=new i.A,this.size=0},s.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},s.prototype.get=function(e){return this.__data__.get(e)},s.prototype.has=function(e){return this.__data__.has(e)},s.prototype.set=function(e,t){var n=this.__data__;if(n instanceof i.A){var s=n.__data__;if(!o.A||s.length<199)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new r.A(s)}return n.set(e,t),this.size=n.size,this};const a=s},241(e,t,n){"use strict";n.d(t,{A:()=>i});const i=n(41917).A.Symbol},43988(e,t,n){"use strict";n.d(t,{A:()=>i});const i=n(41917).A.Uint8Array},2505(e,t,n){"use strict";n.d(t,{A:()=>c});var i=n(25175),o=n(92049),r=n(41200),s=n(25353),a=n(42871),l=Object.prototype.hasOwnProperty;const c=function(e,t){var n=(0,o.A)(e),c=!n&&(0,i.A)(e),d=!n&&!c&&(0,r.A)(e),u=!n&&!c&&!d&&(0,a.A)(e),h=n||c||d||u,g=h?function(e,t){for(var n=-1,i=Array(e);++ni});const i=function(e,t){for(var n=-1,i=null==e?0:e.length,o=Array(i);++ni});const i=function(e,t){for(var n=-1,i=t.length,o=e.length;++ns});var i=n(52528),o=n(66984),r=Object.prototype.hasOwnProperty;const s=function(e,t,n){var s=e[t];r.call(e,t)&&(0,o.A)(s,n)&&(void 0!==n||t in e)||(0,i.A)(e,t,n)}},52528(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(84171);const o=function(e,t,n){"__proto__"==t&&i.A?(0,i.A)(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},87933(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(14057),o=n(37405);const r=(0,n(13641).A)(function(e,t){return e&&(0,i.A)(e,t,o.A)})},72559(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(61882);const o=function(e,t,n){for(var o=-1,r=e.length;++oi});const i=(0,n(43013).A)()},66318(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(36152),o=n(30901);const r=function(e,t){for(var n=0,r=(t=(0,i.A)(t,e)).length;null!=e&&nd});var i=n(241),o=Object.prototype,r=o.hasOwnProperty,s=o.toString,a=i.A?i.A.toStringTag:void 0;var l=Object.prototype.toString;var c=i.A?i.A.toStringTag:void 0;const d=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){var t=r.call(e,a),n=e[a];try{e[a]=void 0;var i=!0}catch(e){}var o=s.call(e);return i&&(t?e[a]=n:delete e[a]),o}(e):function(e){return l.call(e)}(e)}},43587(e,t,n){"use strict";n.d(t,{A:()=>me});var i=n(22080),o=n(62050);function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new o.A;++tc))return!1;var u=r.get(e),h=r.get(t);if(u&&h)return u==t&&h==e;var g=-1,p=!0,f=2&n?new s:void 0;for(r.set(e,t),r.set(t,e);++gc});var i=n(36152),o=n(26666),r=n(66318);const s=function(e,t){return t.length<2?e:(0,r.A)(e,function(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(o);++io});var i=n(29008);const o=function(e){return"function"==typeof e?e:i.A}},36152(e,t,n){"use strict";n.d(t,{A:()=>b});var i=n(92049),o=n(86586),r=n(62050);function s(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,o=t?t.apply(this,i):i[0],r=n.cache;if(r.has(o))return r.get(o);var s=e.apply(this,i);return n.cache=r.set(o,s)||r,s};return n.cache=new(s.Cache||r.A),n}s.Cache=r.A;var a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g;const c=(d=s(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,function(e,n,i,o){t.push(i?o.replace(l,"$1"):n||e)}),t},function(e){return 500===u.size&&u.clear(),e}),u=d.cache,d);var d,u,h=n(241),g=n(45572),p=n(61882),f=h.A?h.A.prototype:void 0,m=f?f.toString:void 0;const v=function e(t){if("string"==typeof t)return t;if((0,i.A)(t))return(0,g.A)(t,e)+"";if((0,p.A)(t))return m?m.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},_=function(e){return null==e?"":v(e)},b=function(e,t){return(0,i.A)(e)?e:(0,o.A)(e,t)?[e]:c(_(e))}},22031(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(52851),o=n(52528);const r=function(e,t,n,r){var s=!n;n||(n={});for(var a=-1,l=t.length;++ap});var i=n(29008);var o=Math.max;var r=n(84171);const s=r.A?function(e,t){return(0,r.A)(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:i.A;var a=Date.now;const l=(c=s,d=0,u=0,function(){var e=a(),t=16-(e-u);if(u=e,t>0){if(++d>=800)return arguments[0]}else d=0;return c.apply(void 0,arguments)});var c,d,u;const h=function(e,t){return l(function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=o(i.length-t,0),a=Array(s);++r1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(o--,r):void 0,s&&(0,g.A)(n[0],n[1],s)&&(r=o<3?void 0:r,o=1),t=Object(t);++io});var i=n(38446);const o=function(e,t){return function(n,o){if(null==n)return n;if(!(0,i.A)(n))return e(n,o);for(var r=n.length,s=t?r:-1,a=Object(n);(t?s--:++si});const i=function(e){return function(t,n,i){for(var o=-1,r=Object(t),s=i(t),a=s.length;a--;){var l=s[e?a:++o];if(!1===n(r[l],l,r))break}return t}}},84171(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(28562);const o=function(){try{var e=(0,i.A)(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},72136(e,t,n){"use strict";n.d(t,{A:()=>i});const i="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g},28562(e,t,n){"use strict";n.d(t,{A:()=>m});var i=n(89610);const o=n(41917).A["__core-js_shared__"];var r,s=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";var a=n(23149),l=n(81121),c=/^\[object .+?Constructor\]$/,d=Function.prototype,u=Object.prototype,h=d.toString,g=u.hasOwnProperty,p=RegExp("^"+h.call(g).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const f=function(e){return!(!(0,a.A)(e)||(t=e,s&&s in t))&&((0,i.A)(e)?p:c).test((0,l.A)(e));var t},m=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return f(n)?n:void 0}},25353(e,t,n){"use strict";n.d(t,{A:()=>o});var i=/^(?:0|[1-9]\d*)$/;const o=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&i.test(e))&&e>-1&&e%1==0&&ea});var i=n(66984),o=n(38446),r=n(25353),s=n(23149);const a=function(e,t,n){if(!(0,s.A)(n))return!1;var a=typeof t;return!!("number"==a?(0,o.A)(n)&&(0,r.A)(t,n.length):"string"==a&&t in n)&&(0,i.A)(n[t],e)}},86586(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(92049),o=n(61882),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;const a=function(e,t){if((0,i.A)(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!(0,o.A)(e))||s.test(e)||!r.test(e)||null!=t&&e in Object(t)}},97271(e,t,n){"use strict";n.d(t,{A:()=>o});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)}},40367(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e,t){return function(n){return e(t(n))}}},41917(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(72136),o="object"==typeof self&&self&&self.Object===Object&&self;const r=i.A||o||Function("return this")()},30901(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(61882);const o=function(e){if("string"==typeof e||(0,i.A)(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},81121(e,t,n){"use strict";n.d(t,{A:()=>o});var i=Function.prototype.toString;const o=function(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},38923(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(52851),o=n(22031),r=n(36986),s=n(38446),a=n(97271),l=n(37405),c=Object.prototype.hasOwnProperty;const d=(0,r.A)(function(e,t){if((0,a.A)(t)||(0,s.A)(t))(0,o.A)(t,(0,l.A)(t),e);else for(var n in t)c.call(t,n)&&(0,i.A)(e,n,t[n])})},53157(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(50751);const o=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=(0,i.A)(n))==n?n:0),void 0!==t&&(t=(t=(0,i.A)(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}((0,i.A)(e),t,n)}},98936(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e,t){return null==e||e!=e?t:e}},66984(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e,t){return e===t||e!=e&&t!=t}},98448(e,t,n){"use strict";n.d(t,{A:()=>c});const i=function(e,t){for(var n=-1,i=null==e?0:e.length;++nd});var i=n(76912),o=n(241),r=n(25175),s=n(92049),a=o.A?o.A.isConcatSpreadable:void 0;const l=function(e){return(0,s.A)(e)||(0,r.A)(e)||!!(a&&e&&e[a])},c=function e(t,n,o,r,s){var a=-1,c=t.length;for(o||(o=l),s||(s=[]);++a0&&o(d)?n>1?e(d,n-1,o,r,s):(0,i.A)(s,d):r||(s[s.length]=d)}return s},d=function(e){return null!=e&&e.length?c(e,1):[]}},75801(e,t,n){"use strict";n.d(t,{A:()=>a});const i=function(e,t){for(var n=-1,i=null==e?0:e.length;++nc});const i=function(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e},o=(0,n(43013).A)(!0);var r=n(37405);const s=(0,n(13641).A)(function(e,t){return e&&o(e,t,r.A)},!0);var a=n(99922),l=n(92049);const c=function(e,t){return((0,l.A)(e)?i:s)(e,(0,a.A)(t))}},47360(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){return e&&e.length?e[0]:void 0}},29008(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){return e}},21277(e,t,n){"use strict";n.d(t,{A:()=>l});const i=function(e){return e!=e};var o=n(50751),r=1/0;const s=function(e){var t=function(e){return e?(e=(0,o.A)(e))===r||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0};var a=Math.max;const l=function(e,t,n){var o=null==e?0:e.length;if(!o)return-1;var r=null==n?0:s(n);return r<0&&(r=a(o+r,0)),function(e,t,n){return t==t?function(e,t,n){for(var i=n-1,o=e.length;++id});var i=n(2383),o=n(53098);const r=function(e){return(0,o.A)(e)&&"[object Arguments]"==(0,i.A)(e)};var s=Object.prototype,a=s.hasOwnProperty,l=s.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(e){return(0,o.A)(e)&&a.call(e,"callee")&&!l.call(e,"callee")};const d=c},92049(e,t,n){"use strict";n.d(t,{A:()=>i});const i=Array.isArray},38446(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(89610),o=n(5254);const r=function(e){return null!=e&&(0,o.A)(e.length)&&!(0,i.A)(e)}},41200(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41917);var o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof module&&module&&!module.nodeType&&module,s=r&&r.exports===o?i.A.Buffer:void 0;const a=(s?s.isBuffer:void 0)||function(){return!1}},89610(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(2383),o=n(23149);const r=function(e){if(!(0,o.A)(e))return!1;var t=(0,i.A)(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},5254(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},23149(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},53098(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){return null!=e&&"object"==typeof e}},61882(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(2383),o=n(53098);const r=function(e){return"symbol"==typeof e||(0,o.A)(e)&&"[object Symbol]"==(0,i.A)(e)}},42871(e,t,n){"use strict";n.d(t,{A:()=>g});var i=n(2383),o=n(5254),r=n(53098),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1;var a=n(72136),l="object"==typeof exports&&exports&&!exports.nodeType&&exports,c=l&&"object"==typeof module&&module&&!module.nodeType&&module,d=c&&c.exports===l&&a.A.process,u=function(){try{return c&&c.require&&c.require("util").types||d&&d.binding&&d.binding("util")}catch(e){}}(),h=u&&u.isTypedArray;const g=h?(p=h,function(e){return p(e)}):function(e){return(0,r.A)(e)&&(0,o.A)(e.length)&&!!s[(0,i.A)(e)]};var p},69592(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){return void 0===e}},37405(e,t,n){"use strict";n.d(t,{A:()=>l});var i=n(2505),o=n(97271);const r=(0,n(40367).A)(Object.keys,Object);var s=Object.prototype.hasOwnProperty;var a=n(38446);const l=function(e){return(0,a.A)(e)?(0,i.A)(e):function(e){if(!(0,o.A)(e))return r(e);var t=[];for(var n in Object(e))s.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}},26666(e,t,n){"use strict";n.d(t,{A:()=>i});const i=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},225(e,t,n){"use strict";n.d(t,{A:()=>s});var i=n(72559);const o=function(e,t){return e>t};var r=n(29008);const s=function(e){return e&&e.length?(0,i.A)(e,r.A,o):void 0}},87796(e,t,n){"use strict";n.d(t,{A:()=>z});var i=n(22080),o=n(52528),r=n(66984);const s=function(e,t,n){(void 0!==n&&!(0,r.A)(e[t],n)||void 0===n&&!(t in e))&&(0,o.A)(e,t,n)};var a=n(14057),l=n(41917),c="object"==typeof exports&&exports&&!exports.nodeType&&exports,d=c&&"object"==typeof module&&module&&!module.nodeType&&module,u=d&&d.exports===c?l.A.Buffer:void 0,h=u?u.allocUnsafe:void 0;var g=n(43988);const p=function(e,t){var n,i,o=t?(n=e.buffer,i=new n.constructor(n.byteLength),new g.A(i).set(new g.A(n)),i):e.buffer;return new e.constructor(o,e.byteOffset,e.length)};var f=n(23149),m=Object.create;const v=function(){function e(){}return function(t){if(!(0,f.A)(t))return{};if(m)return m(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),_=(0,n(40367).A)(Object.getPrototypeOf,Object);var b=n(97271);var y=n(25175),w=n(92049),C=n(38446),S=n(53098);var x=n(41200),k=n(89610),L=n(2383),E=Function.prototype,D=Object.prototype,N=E.toString,I=D.hasOwnProperty,A=N.call(Object);var M=n(42871);const T=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var O=n(22031),P=n(2505);var R=Object.prototype.hasOwnProperty;const F=function(e){if(!(0,f.A)(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=(0,b.A)(e),n=[];for(var i in e)("constructor"!=i||!t&&R.call(e,i))&&n.push(i);return n},B=function(e){return(0,C.A)(e)?(0,P.A)(e,!0):F(e)},W=function(e,t,n,i,o,r,a){var l,c=T(e,n),d=T(t,n),u=a.get(d);if(u)s(e,n,u);else{var g=r?r(c,d,n+"",e,t,a):void 0,m=void 0===g;if(m){var E=(0,w.A)(d),D=!E&&(0,x.A)(d),P=!E&&!D&&(0,M.A)(d);g=d,E||D||P?(0,w.A)(c)?g=c:(l=c,(0,S.A)(l)&&(0,C.A)(l)?g=function(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++ns});var i=n(72559);const o=function(e,t){return ea});var i=n(43587),o=n(34916),r=n(25353),s=Array.prototype.splice;const a=function(e,t){var n=[];if(!e||!e.length)return n;var a=-1,l=[],c=e.length;for(t=(0,i.A)(t,3);++al});var i=n(52851),o=n(36152),r=n(25353),s=n(23149),a=n(30901);const l=function(e,t,n){return null==e?e:function(e,t,n,l){if(!(0,s.A)(e))return e;for(var c=-1,d=(t=(0,o.A)(t,e)).length,u=d-1,h=e;null!=h&&++cc});var i=n(23149),o=n(41917);const r=function(){return o.A.Date.now()};var s=n(50751),a=Math.max,l=Math.min;const c=function(e,t,n){var o=!0,c=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return(0,i.A)(n)&&(o="leading"in n?!!n.leading:o,c="trailing"in n?!!n.trailing:c),function(e,t,n){var o,c,d,u,h,g,p=0,f=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function _(t){var n=o,i=c;return o=c=void 0,p=t,u=e.apply(i,n)}function b(e){var n=e-g;return void 0===g||n>=t||n<0||m&&e-p>=d}function y(){var e=r();if(b(e))return w(e);h=setTimeout(y,function(e){var n=t-(e-g);return m?l(n,d-(e-p)):n}(e))}function w(e){return h=void 0,v&&o?_(e):(o=c=void 0,u)}function C(){var e=r(),n=b(e);if(o=arguments,c=this,g=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(y,t),f?_(e):u}(g);if(m)return clearTimeout(h),h=setTimeout(y,t),_(g)}return void 0===h&&(h=setTimeout(y,t)),u}return t=(0,s.A)(t)||0,(0,i.A)(n)&&(f=!!n.leading,d=(m="maxWait"in n)?a((0,s.A)(n.maxWait)||0,t):d,v="trailing"in n?!!n.trailing:v),C.cancel=function(){void 0!==h&&clearTimeout(h),p=0,o=g=c=h=void 0},C.flush=function(){return void 0===h?u:w(r())},C}(e,t,{leading:o,maxWait:t,trailing:c})}},50751(e,t,n){"use strict";n.d(t,{A:()=>h});var i=/\s/;var o=/^\s+/;const r=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&i.test(e.charAt(t)););return t}(e)+1).replace(o,""):e};var s=n(23149),a=n(61882),l=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,d=/^0o[0-7]+$/i,u=parseInt;const h=function(e){if("number"==typeof e)return e;if((0,a.A)(e))return NaN;if((0,s.A)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,s.A)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=c.test(e);return n||d.test(e)?u(e.slice(2),n?2:8):l.test(e)?NaN:+e}},11869(e,t,n){"use strict";n.d(t,{A:()=>o});var i=n(34916);const o=function(e,t){return null==e||(0,i.A)(e,t)}},92866(e,t,n){"use strict";n.d(t,{A:()=>r});var i=n(45572);var o=n(37405);const r=function(e){return null==e?[]:function(e,t){return(0,i.A)(t,function(t){return e[t]})}(e,(0,o.A)(e))}},61315(e,t,n){"use strict";function i(e,t){return Array.from(t).map(t=>function(e,t){return{_:"tuple",types:e,atoms:Array.from(t.querySelectorAll("atom")).map((t,n)=>L(e[n],t).id)}}(e,t))}function o(e){return e.tuples}function r(e,t){return Array.from(t).map(t=>function(e,t){let n=t.getAttribute("label");if(!n)throw new Error("No label found for field element");let o=function(e,t){let n=t.querySelectorAll("type");return Array.from(n).map(t=>{let n=t.getAttribute("ID");if(!n)throw new Error("Type element must have an ID attribute");let i=e[n];if(!i)throw new Error(`Type element with ID ${n} not found`);return i})}(e,t);if(0===o.length)throw new Error("No types found for field element");let r=t.getAttribute("parentID");return{_:"relation",id:`${(r?e[r]:void 0)??o[0]}<:${n}`,name:n,types:o,tuples:i(o,t.querySelectorAll("tuple"))}}(e,t))}function s(e){return void 0!==e}function a(e,t){let n={};for(let i of e)n[t(i)]=i;return n}function l(e){let t=(new globalThis.DOMParser).parseFromString(e,"application/xml"),n=Array.from(t.querySelectorAll("instance"));if(!n.length)throw new Error(`No Alloy instance in XML: ${e}`);let i,o,l,p=t.querySelectorAll("visualizer");for(let e of Array.from(p))i=u(e,"script")??i,o=u(e,"theme")??o,l=u(e,"cnd")??l;return{instances:n.map(e=>function(e){let t=e.getAttribute("bitwidth");if(!t)throw new Error("No bitwidth found in instance");let n=function(e){let t={},n=e.querySelectorAll("sig");for(let e of n){let n=e.getAttribute("ID"),i=e.getAttribute("label");if(!n)throw new Error("No ID found for sig element");if(!i)throw new Error("No label found for sig element");t[n]=i}return t}(e),i=function(e,t){let n={},i=t.querySelectorAll("sig");for(let e of i)if(!g(e)){let t=e.getAttribute("ID"),i=e.getAttribute("parentID"),o=e.getAttribute("label");if(!t)throw new Error("No ID found for sig element");if(!o)throw new Error("No label found for sig element");i&&(n[t]=i)}let o=(t,i)=>n[t]?o(n[t],[...i,e[t]]):i,r={};for(let t in e)r[e[t]]=o(t,[]);return r}(n,e),o=function(e,t){return Array.from(t).filter(e=>!g(e)).map(t=>function(e,t){let n=t.getAttribute("label");if(!n)throw new Error("No label attribute in sig element");let i=e[n];if(!i)throw console.log(e),new Error(`No type hierarchy for ${n}`);let o=function(e){let t={};return"yes"===e.getAttribute("abstract")&&(t.abstract=!0),"yes"===e.getAttribute("builtin")&&(t.builtin=!0),"yes"===e.getAttribute("enum")&&(t.enum=!0),"yes"===e.getAttribute("meta")&&(t.meta=!0),"yes"===e.getAttribute("one")&&(t.one=!0),"yes"===e.getAttribute("private")&&(t.private=!0),0===Object.keys(t).length?void 0:t}(t),r={_:"type",id:n,types:i,atoms:E(n,t.querySelectorAll("atom")),meta:void 0};return s(o)&&(r.meta=o),r}(e,t))}(i,e.querySelectorAll("sig")),l=r(n,e.querySelectorAll("field")),c=r(n,e.querySelectorAll("skolem"));return function(e,t){let n=t.find(e=>"Int"===e.id);if(!n)throw new Error("Could not find Int type");n.atoms=function(e){let t=[],n=Math.pow(2,e);for(let e=-n/2;ee.id),relations:a(l,e=>e.id),skolems:a(c,e=>e.id)}}(e)),bitwidth:d(n[0],"bitwidth"),command:u(n[0],"command"),loopBack:c(n[0]),maxSeq:d(n[0],"maxseq"),maxTrace:d(n[0],"maxtrace"),minTrace:d(n[0],"mintrace"),traceLength:d(n[0],"tracelength"),visualizerConfig:{script:h(i),theme:h(o),cnd:h(l)}}}function c(e){let t=d(e,"backloop");if(void 0!==t)return t;let n=d(e,"loop");if(void 0!==n)return n;let i=d(e,"tracelength"),o=d(e,"looplength");return void 0!==i&&void 0!==o&&i>1?i-o:void 0}function d(e,t){let n=e.getAttribute(t);return n?+n:void 0}function u(e,t){let n=e.getAttribute(t);return n?`${n}`:void 0}function h(e){return e?.replaceAll(""",'"').replaceAll('\\"','"').replaceAll(">",">").replaceAll("<","<")}function g(e){return e.querySelectorAll("type").length>0}function p(e){return e.types[e.types.length-1]}function f(e){return e.atoms}function m(e){return void 0!==e.meta&&!0===e.meta.builtin}function v(e,t,n){return"string"==typeof t&&(t=x(e,t)),"string"!=typeof n&&(n=n.id),t.types.includes(n)}function _(e,t){let n=b(e).find(e=>e.id===t);if(!n)throw new Error(`Could not find atom with id ${t}`);return n}function b(e){return k(e).map(f).reduce((e,t)=>e.concat(t),[])}function y(e,t){return b(e).filter(n=>function(e,t,n){return"string"==typeof t&&(t=_(e,t)),"string"!=typeof n&&(n=n.id),N(e,t).types.includes(n)}(e,n,t))}function w(e){return Object.values(e.relations)}function C(e){return Object.values(e.skolems)}function S(e){let t=C(e),n=w(e);return t.concat(n)}function x(e,t){let n=e.types[t];if(!n)throw new Error(`Could not find type with id ${t}`);return n}function k(e){return Object.values(e.types)}function L(e,t){let n=t.getAttribute("label");if(!n)throw new Error("No label attribute in atom element");return{_:"atom",id:n,type:e}}function E(e,t){return Array.from(t).map(t=>L(e,t))}function D(e,t){return"string"==typeof t&&(t=_(e,t)),N(e,t).types.map(t=>x(e,t)).some(m)}function N(e,t){if("string"==typeof t&&(t=_(e,t)),!e.types[t.type])throw new Error(`The atom's type is not part of the instance: ${t.type}`);return e.types[t.type]}n.d(t,{$8:()=>D,$Y:()=>y,C$:()=>b,Fi:()=>M,Mi:()=>S,O9:()=>s,Tx:()=>k,fm:()=>f,jl:()=>w,k1:()=>l,mY:()=>C,mv:()=>N,nR:()=>_,s5:()=>I,ue:()=>o,wT:()=>x,zA:()=>A});var I=e=>void 0!==e.loopBack;function A(e,t){let n={};return t.forEach(t=>{let i=p(N(e,t));if(n[i])throw new Error(`Cannot project ${t} and ${n[i]}. Both are of type ${i}`);n[i]=t}),{types:T(e,n),relations:O(e,n),skolems:e.skolems}}function M(e){return[...new Set(k(e).map(p))].filter(e=>void 0!==e)}function T(e,t){let n={},i=Object.keys(t);for(let t in e.types){let o=e.types[t],r=i.some(t=>v(e,o,t));n[t]={_:"type",id:o.id,types:o.types,atoms:r?[]:o.atoms,meta:o.meta}}return n}function O(e,t){let n={},i=Object.keys(t),o=Object.values(t);for(let t in e.relations){let r=e.relations[t],s=r.types.some(t=>i.some(n=>v(e,t,n))),a=s?P(e,r.types,i):[];n[t]={_:"relation",id:r.id,name:r.name,types:s?F(r.types,a):r.types,tuples:s?R(r.tuples,a,o):r.tuples},s||(n[t]=r)}return n}function P(e,t,n){let i=[];return t.forEach((t,o)=>{n.some(n=>v(e,t,n))&&i.push(o)}),i}function R(e,t,n){return e.filter(e=>e.atoms.some(e=>n.includes(e))).map(e=>({_:"tuple",types:F(e.types,t),atoms:F(e.atoms,t)})).filter(e=>e.atoms.length>1)}function F(e,t){let n=[];for(let i=0;io,Cl:()=>r,Tt:()=>s,fX:()=>l,zs:()=>a});var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},i(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0)&&!(i=r.next()).done;)s.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function l(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;on,language:()=>o});var n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},o={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)/,["constant","constant.punctuation"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],atoms:[[/(:)(@atomName)/,["constant.punctuation","constant"]],[/:"/,{token:"constant.delimiter",next:"@doubleQuotedStringAtom"}],[/:'/,{token:"constant.delimiter",next:"@singleQuotedStringAtom"}]],doubleQuotedStringAtom:[[/"/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringAtom:[[/'/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.interpol"}],[/~[A-Z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.noInterpol"}]],sigil:[[/~([a-zA-Z])\{/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.{.}"}],[/~([a-zA-Z])\[/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.[.]"}],[/~([a-zA-Z])\(/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.(.)"}],[/~([a-zA-Z])\,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.<.>"}],[/~([a-zA-Z])(@sigilSymmetricDelimiter)/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.$2.$2"}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContentInterpol"}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,"string"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContent"}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContentInterpol"}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,"regexp"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContent"}],"sigilStart.interpol":[[/~([a-zA-Z])@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContentInterpol"}],"sigilStart.noInterpol":[[/~([a-zA-Z])@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,"sigil"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContent"}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:"comment.block.documentation",next:"@doubleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?"/,{token:"comment.block.documentation",next:"@doubleQuotedStringDocstring"}],[/\@(module|type)?doc false/,"comment.block.documentation"],[/\@(@variableName)/,"variable"]],doubleQuotedHeredocDocstring:[[/"""/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],doubleQuotedStringDocstring:[[/"/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],symbols:[[/\?(\\.|[^\\\s])/,"number.constant"],[/&\d+/,"operator"],[/<<<|>>>/,"operator"],[/[()\[\]\{\}]|<<|>>/,"@brackets"],[/\.\.\./,"identifier"],[/=>/,"punctuation"],[/@operator/,"operator"],[/[:;,.%]/,"punctuation"]],stringContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringContent"}],stringContent:[[/./,"string"]],stringConstantContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringConstantContent"}],stringConstantContent:[[/./,"constant"]],regexpContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@regexpContent"}],regexpContent:[[/(\s)(#)(\s.*)$/,["white","comment.punctuation","comment"]],[/./,"regexp"]],sigilContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@sigilContent"}],sigilContent:[[/./,"sigil"]],docstringContent:[[/./,"comment.block.documentation"]],escapeChar:[[/@escape/,"constant.character.escape"]],interpolation:[[/#{/,{token:"delimiter.bracket.embed",next:"@interpolationContinue"}]],interpolationContinue:[[/}/,{token:"delimiter.bracket.embed",next:"@pop"}],{include:"@root"}]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1710.bundle.js.LICENSE.txt b/forge/sterling/build/1710.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1710.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1740.bundle.js b/forge/sterling/build/1740.bundle.js
new file mode 100644
index 000000000..65e0c1534
--- /dev/null
+++ b/forge/sterling/build/1740.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1740.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1740],{41740(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>r});var o={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},r={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>o,language:()=>i});var o={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1888.bundle.js.LICENSE.txt b/forge/sterling/build/1888.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1888.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/1914.bundle.js b/forge/sterling/build/1914.bundle.js
new file mode 100644
index 000000000..a1de122c6
--- /dev/null
+++ b/forge/sterling/build/1914.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 1914.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[1914],{21914(E,T,R){R.r(T),R.d(T,{conf:()=>A,language:()=>I});var A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT","ABSOLUTE","ACTION","ADA","ADD","AFTER","ALL","ALLOCATE","ALTER","ALWAYS","ANALYZE","AND","ANY","ARE","AS","ASC","ASSERTION","AT","ATTACH","AUTHORIZATION","AUTOINCREMENT","AVG","BACKUP","BEFORE","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BREAK","BROWSE","BULK","BY","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","COMPUTE","CONFLICT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATE","DAY","DBCC","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DETACH","DIAGNOSTICS","DISCONNECT","DISK","DISTINCT","DISTRIBUTED","DO","DOMAIN","DOUBLE","DROP","DUMP","EACH","ELSE","END","END-EXEC","ERRLVL","ESCAPE","EXCEPT","EXCEPTION","EXCLUDE","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTERNAL","EXTRACT","FAIL","FALSE","FETCH","FILE","FILLFACTOR","FILTER","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORTRAN","FOUND","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GENERATED","GET","GLOB","GLOBAL","GO","GOTO","GRANT","GROUP","GROUPS","HAVING","HOLDLOCK","HOUR","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IGNORE","IMMEDIATE","IN","INCLUDE","INDEX","INDEXED","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INSTEAD","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISNULL","ISOLATION","JOIN","KEY","KILL","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LIMIT","LINENO","LOAD","LOCAL","LOWER","MATCH","MATERIALIZED","MAX","MERGE","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NOCHECK","NONCLUSTERED","NONE","NOT","NOTHING","NOTNULL","NULL","NULLIF","NULLS","NUMERIC","OCTET_LENGTH","OF","OFF","OFFSET","OFFSETS","ON","ONLY","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OTHERS","OUTER","OUTPUT","OVER","OVERLAPS","PAD","PARTIAL","PARTITION","PASCAL","PERCENT","PIVOT","PLAN","POSITION","PRAGMA","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PRINT","PRIOR","PRIVILEGES","PROC","PROCEDURE","PUBLIC","QUERY","RAISE","RAISERROR","RANGE","READ","READTEXT","REAL","RECONFIGURE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","REPLICATION","RESTORE","RESTRICT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","ROLLBACK","ROW","ROWCOUNT","ROWGUIDCOL","ROWS","RULE","SAVE","SAVEPOINT","SCHEMA","SCROLL","SECOND","SECTION","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION","SESSION_USER","SET","SETUSER","SHUTDOWN","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","STATISTICS","SUBSTRING","SUM","SYSTEM_USER","TABLE","TABLESAMPLE","TEMP","TEMPORARY","TEXTSIZE","THEN","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOP","TRAILING","TRAN","TRANSACTION","TRANSLATE","TRANSLATION","TRIGGER","TRIM","TRUE","TRUNCATE","TRY_CONVERT","TSEQUAL","UNBOUNDED","UNION","UNIQUE","UNKNOWN","UNPIVOT","UPDATE","UPDATETEXT","UPPER","USAGE","USE","USER","USING","VACUUM","VALUE","VALUES","VARCHAR","VARYING","VIEW","VIRTUAL","WAITFOR","WHEN","WHENEVER","WHERE","WHILE","WINDOW","WITH","WITHIN GROUP","WITHOUT","WORK","WRITE","WRITETEXT","YEAR","ZONE"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/1914.bundle.js.LICENSE.txt b/forge/sterling/build/1914.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/1914.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/198.bundle.js b/forge/sterling/build/198.bundle.js
new file mode 100644
index 000000000..fb6c4bde6
--- /dev/null
+++ b/forge/sterling/build/198.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 198.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[198],{70198(e,t,n){n.r(t),n.d(t,{conf:()=>i,language:()=>o});var i={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},o={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:,action:{token:"keyword",next:"@lexing_EFFECT_commaseq0"}},{regex:/\.@symbolic+/,action:{token:"identifier.sym"}},{regex:/\.@digit*@fexponent@FLOATSP*/,action:{token:"number.float"}},{regex:/\.@digit+/,action:{token:"number.float"}},{regex:/\$@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_dlr":{token:"keyword.dlr"},"@default":{token:"namespace"}}}},{regex:/\#@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_srp":{token:"keyword.srp"},"@default":{token:"identifier"}}}},{regex:/%\(/,action:{token:"delimiter.parenthesis"}},{regex:/^%{(#|\^|\$)?/,action:{token:"keyword",next:"@lexing_EXTCODE",nextEmbedded:"text/javascript"}},{regex:/^%}/,action:{token:"keyword"}},{regex:/'\(/,action:{token:"delimiter.parenthesis"}},{regex:/'\[/,action:{token:"delimiter.bracket"}},{regex:/'\{/,action:{token:"delimiter.brace"}},[/(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/,["string","string.escape","string"]],[/'[^\\']'/,"string"],[/"/,"string.quote","@lexing_DQUOTE"],{regex:/`\(/,action:"@brackets"},{regex:/\\/,action:{token:"punctuation"}},{regex:/@irregular_keywords(?!@IDENTRST)/,action:{token:"keyword"}},{regex:/@IDENTFST@IDENTRST*[/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/198.bundle.js.LICENSE.txt b/forge/sterling/build/198.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/198.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/205.bundle.js b/forge/sterling/build/205.bundle.js
new file mode 100644
index 000000000..7f42e78fc
--- /dev/null
+++ b/forge/sterling/build/205.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 205.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[205],{92586(e,o,r){r.r(o),r.d(o,{conf:()=>t,language:()=>a});var t={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},a={defaultToken:"",tokenPostfix:".r",roxygen:["@alias","@aliases","@assignee","@author","@backref","@callGraph","@callGraphDepth","@callGraphPrimitives","@concept","@describeIn","@description","@details","@docType","@encoding","@evalNamespace","@evalRd","@example","@examples","@export","@exportClass","@exportMethod","@exportPattern","@family","@field","@formals","@format","@import","@importClassesFrom","@importFrom","@importMethodsFrom","@include","@inherit","@inheritDotParams","@inheritParams","@inheritSection","@keywords","@md","@method","@name","@noMd","@noRd","@note","@param","@rawNamespace","@rawRd","@rdname","@references","@return","@S3method","@section","@seealso","@setClass","@slot","@source","@template","@templateVar","@title","@TODO","@usage","@useDynLib"],constants:["NULL","FALSE","TRUE","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","T","F","LETTERS","letters","month.abb","month.name","pi","R.version.string"],keywords:["break","next","return","if","else","for","in","repeat","while","array","category","character","complex","double","function","integer","list","logical","matrix","numeric","vector","data.frame","factor","library","require","attach","detach","source"],special:["\\n","\\r","\\t","\\b","\\a","\\f","\\v","\\'",'\\"',"\\\\"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@numbers"},{include:"@strings"},[/[{}\[\]()]/,"@brackets"],{include:"@operators"},[/#'$/,"comment.doc"],[/#'/,"comment.doc","@roxygen"],[/(^#.*$)/,"comment"],[/\s+/,"white"],[/[,:;]/,"delimiter"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@constants":"constant","@default":"identifier"}}]],roxygen:[[/@\w+/,{cases:{"@roxygen":"tag","@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/\s+/,{cases:{"@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/.*/,{token:"comment.doc",next:"@pop"}]],numbers:[[/0[xX][0-9a-fA-F]+/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/,"number"]],operators:[[/<{1,2}-/,"operator"],[/->{1,2}/,"operator"],[/%[^%\s]+%/,"operator"],[/\*\*/,"operator"],[/%%/,"operator"],[/&&/,"operator"],[/\|\|/,"operator"],[/<,"operator"],[/>>/,"operator"],[/[-+=&|!<>^~*/:$]/,"operator"]],strings:[[/'/,"string.escape","@stringBody"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/'/,"string.escape","@popall"],[/./,"string"]],dblStringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/"/,"string.escape","@popall"],[/./,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/205.bundle.js.LICENSE.txt b/forge/sterling/build/205.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/205.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2077.bundle.js b/forge/sterling/build/2077.bundle.js
new file mode 100644
index 000000000..4cc1f7e89
--- /dev/null
+++ b/forge/sterling/build/2077.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2077.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2077],{72077(e,t,n){n.r(t),n.d(t,{setupMode:()=>St,setupMode1:()=>Rt});var r=n(88349),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,u={};i(u,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))s.call(e,r)||"default"===r||i(e,r,{get:()=>t[r],enumerable:!(n=o(t,r))||n.enumerable})})(u,r);var c,d,g,l,h,f,p,v,m,w,_,b,k,y,E,x,C,I,A,R,S,P,T,F,D,L,j,M,O,N,U,W,V,H,K,z,X,B,$,q,Q,G,J,Y,Z,ee,te,ne,re,ie=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/html/htmlWorker",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};(d=c||(c={})).MIN_VALUE=-2147483648,d.MAX_VALUE=2147483647,(l=g||(g={})).MIN_VALUE=0,l.MAX_VALUE=2147483647,(f=h||(h={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=g.MAX_VALUE),t===Number.MAX_VALUE&&(t=g.MAX_VALUE),{line:e,character:t}},f.is=function(e){var t=e;return it.objectLiteral(t)&&it.uinteger(t.line)&&it.uinteger(t.character)},(v=p||(p={})).create=function(e,t,n,r){if(it.uinteger(e)&&it.uinteger(t)&&it.uinteger(n)&&it.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+r+"]")},v.is=function(e){var t=e;return it.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)},(w=m||(m={})).create=function(e,t){return{uri:e,range:t}},w.is=function(e){var t=e;return it.defined(t)&&p.is(t.range)&&(it.string(t.uri)||it.undefined(t.uri))},(b=_||(_={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},b.is=function(e){var t=e;return it.defined(t)&&p.is(t.targetRange)&&it.string(t.targetUri)&&(p.is(t.targetSelectionRange)||it.undefined(t.targetSelectionRange))&&(p.is(t.originSelectionRange)||it.undefined(t.originSelectionRange))},(y=k||(k={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},y.is=function(e){var t=e;return it.numberRange(t.red,0,1)&&it.numberRange(t.green,0,1)&&it.numberRange(t.blue,0,1)&&it.numberRange(t.alpha,0,1)},(x=E||(E={})).create=function(e,t){return{range:e,color:t}},x.is=function(e){var t=e;return p.is(t.range)&&k.is(t.color)},(I=C||(C={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},I.is=function(e){var t=e;return it.string(t.label)&&(it.undefined(t.textEdit)||H.is(t))&&(it.undefined(t.additionalTextEdits)||it.typedArray(t.additionalTextEdits,H.is))},(R=A||(A={})).Comment="comment",R.Imports="imports",R.Region="region",(P=S||(S={})).create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return it.defined(n)&&(o.startCharacter=n),it.defined(r)&&(o.endCharacter=r),it.defined(i)&&(o.kind=i),o},P.is=function(e){var t=e;return it.uinteger(t.startLine)&&it.uinteger(t.startLine)&&(it.undefined(t.startCharacter)||it.uinteger(t.startCharacter))&&(it.undefined(t.endCharacter)||it.uinteger(t.endCharacter))&&(it.undefined(t.kind)||it.string(t.kind))},(F=T||(T={})).create=function(e,t){return{location:e,message:t}},F.is=function(e){var t=e;return it.defined(t)&&m.is(t.location)&&it.string(t.message)},(L=D||(D={})).Error=1,L.Warning=2,L.Information=3,L.Hint=4,(M=j||(j={})).Unnecessary=1,M.Deprecated=2,(O||(O={})).is=function(e){var t=e;return null!=t&&it.string(t.href)},(U=N||(N={})).create=function(e,t,n,r,i,o){var a={range:e,message:t};return it.defined(n)&&(a.severity=n),it.defined(r)&&(a.code=r),it.defined(i)&&(a.source=i),it.defined(o)&&(a.relatedInformation=o),a},U.is=function(e){var t,n=e;return it.defined(n)&&p.is(n.range)&&it.string(n.message)&&(it.number(n.severity)||it.undefined(n.severity))&&(it.integer(n.code)||it.string(n.code)||it.undefined(n.code))&&(it.undefined(n.codeDescription)||it.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(it.string(n.source)||it.undefined(n.source))&&(it.undefined(n.relatedInformation)||it.typedArray(n.relatedInformation,T.is))},(V=W||(W={})).create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},V.is=function(e){var t=e;return it.defined(t)&&it.string(t.title)&&it.string(t.command)},(K=H||(H={})).replace=function(e,t){return{range:e,newText:t}},K.insert=function(e,t){return{range:{start:e,end:e},newText:t}},K.del=function(e){return{range:e,newText:""}},K.is=function(e){var t=e;return it.objectLiteral(t)&&it.string(t.newText)&&p.is(t.range)},(X=z||(z={})).create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},X.is=function(e){var t=e;return void 0!==t&&it.objectLiteral(t)&&it.string(t.label)&&(it.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(it.string(t.description)||void 0===t.description)},(B||(B={})).is=function(e){return"string"==typeof e},(q=$||($={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},q.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},q.del=function(e,t){return{range:e,newText:"",annotationId:t}},q.is=function(e){var t=e;return H.is(t)&&(z.is(t.annotationId)||B.is(t.annotationId))},(G=Q||(Q={})).create=function(e,t){return{textDocument:e,edits:t}},G.is=function(e){var t=e;return it.defined(t)&&ce.is(t.textDocument)&&Array.isArray(t.edits)},(Y=J||(J={})).create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},Y.is=function(e){var t=e;return t&&"create"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(ee=Z||(Z={})).create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},ee.is=function(e){var t=e;return t&&"rename"===t.kind&&it.string(t.oldUri)&&it.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(ne=te||(te={})).create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},ne.is=function(e){var t=e;return t&&"delete"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||it.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||it.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(re||(re={})).is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every(function(e){return it.string(e.kind)?J.is(e)||Z.is(e)||te.is(e):Q.is(e)}))};var oe,ae,se,ue,ce,de,ge,le,he,fe,pe,ve,me,we,_e,be,ke,ye,Ee,xe,Ce,Ie,Ae,Re,Se,Pe,Te,Fe,De,Le,je,Me,Oe,Ne,Ue,We,Ve,He,Ke,ze,Xe,Be,$e,qe,Qe,Ge,Je,Ye,Ze,et,tt,nt=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=H.insert(e,t):B.is(n)?(i=n,r=$.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=H.replace(e,t):B.is(n)?(i=n,r=$.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=H.del(e):B.is(t)?(r=t,n=$.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=$.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),rt=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(B.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new rt(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(e){if(Q.is(e)){var n=new nt(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(function(n){var r=new nt(e.changes[n]);t._textEditChanges[n]=r})):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(ce.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new nt(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new nt(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new rt,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||B.is(t)?r=t:n=t,void 0===r?i=J.create(e,n):(o=B.is(r)?r:this._changeAnnotations.manage(r),i=J.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,a;if(z.is(n)||B.is(n)?i=n:r=n,void 0===i?o=Z.create(e,t,r):(a=B.is(i)?i:this._changeAnnotations.manage(i),o=Z.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(o),void 0!==a)return a},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||B.is(t)?r=t:n=t,void 0===r?i=te.create(e,n):(o=B.is(r)?r:this._changeAnnotations.manage(r),i=te.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(ae=oe||(oe={})).create=function(e){return{uri:e}},ae.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)},(ue=se||(se={})).create=function(e,t){return{uri:e,version:t}},ue.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.integer(t.version)},(de=ce||(ce={})).create=function(e,t){return{uri:e,version:t}},de.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&(null===t.version||it.integer(t.version))},(le=ge||(ge={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},le.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.string(t.languageId)&&it.integer(t.version)&&it.string(t.text)},(fe=he||(he={})).PlainText="plaintext",fe.Markdown="markdown",function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(he||(he={})),(pe||(pe={})).is=function(e){var t=e;return it.objectLiteral(e)&&he.is(t.kind)&&it.string(t.value)},(me=ve||(ve={})).Text=1,me.Method=2,me.Function=3,me.Constructor=4,me.Field=5,me.Variable=6,me.Class=7,me.Interface=8,me.Module=9,me.Property=10,me.Unit=11,me.Value=12,me.Enum=13,me.Keyword=14,me.Snippet=15,me.Color=16,me.File=17,me.Reference=18,me.Folder=19,me.EnumMember=20,me.Constant=21,me.Struct=22,me.Event=23,me.Operator=24,me.TypeParameter=25,(_e=we||(we={})).PlainText=1,_e.Snippet=2,(be||(be={})).Deprecated=1,(ye=ke||(ke={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},ye.is=function(e){var t=e;return t&&it.string(t.newText)&&p.is(t.insert)&&p.is(t.replace)},(xe=Ee||(Ee={})).asIs=1,xe.adjustIndentation=2,(Ce||(Ce={})).create=function(e){return{label:e}},(Ie||(Ie={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Re=Ae||(Ae={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Re.is=function(e){var t=e;return it.string(t)||it.objectLiteral(t)&&it.string(t.language)&&it.string(t.value)},(Se||(Se={})).is=function(e){var t=e;return!!t&&it.objectLiteral(t)&&(pe.is(t.contents)||Ae.is(t.contents)||it.typedArray(t.contents,Ae.is))&&(void 0===e.range||p.is(e.range))},(Pe||(Pe={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Te||(Te={})).create=function(e,t){for(var n=[],r=2;r=0;a--){var s=i[a],u=e.offsetAt(s.range.start),c=e.offsetAt(s.range.end);if(!(c<=o))throw new Error("Overlapping edit");r=r.substring(0,u)+s.newText+r.substring(c,r.length),o=u}return r}}(tt||(tt={}));var it,ot,at,st=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return h.create(0,e);for(;ne?r=i:n=i+1}var o=n-1;return h.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1e.doComplete(i.toString(),ct(t))).then(n=>{if(!n)return;const r=e.getWordUntilPosition(t),i=new u.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),o=n.items.map(e=>{const t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:(n=e.command,n&&"editor.action.triggerSuggest"===n.command?{id:n.command,title:n.title,arguments:n.arguments}:void 0),range:i,kind:gt(e.kind)};var n,r;return e.textEdit&&(void 0!==(r=e.textEdit).insert&&void 0!==r.replace?t.range={insert:dt(e.textEdit.insert),replace:dt(e.textEdit.replace)}:t.range=dt(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(lt)),e.insertTextFormat===we.Snippet&&(t.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:o}})}};function ct(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function dt(e){if(e)return new u.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function gt(e){const t=u.languages.CompletionItemKind;switch(e){case ve.Text:return t.Text;case ve.Method:return t.Method;case ve.Function:return t.Function;case ve.Constructor:return t.Constructor;case ve.Field:return t.Field;case ve.Variable:return t.Variable;case ve.Class:return t.Class;case ve.Interface:return t.Interface;case ve.Module:return t.Module;case ve.Property:return t.Property;case ve.Unit:return t.Unit;case ve.Value:return t.Value;case ve.Enum:return t.Enum;case ve.Keyword:return t.Keyword;case ve.Snippet:return t.Snippet;case ve.Color:return t.Color;case ve.File:return t.File;case ve.Reference:return t.Reference}return t.Property}function lt(e){if(e)return{range:dt(e.range),text:e.newText}}var ht=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),ct(t))).then(e=>{if(e)return{range:dt(e.range),contents:pt(e.contents)}})}};function ft(e){return"string"==typeof e?{value:e}:(t=e)&&"object"==typeof t&&"string"==typeof t.kind?"plaintext"===e.kind?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:e.value}:{value:"```"+e.language+"\n"+e.value+"\n```\n"};var t}function pt(e){if(e)return Array.isArray(e)?e.map(ft):[ft(e)]}var vt=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),ct(t))).then(e=>{if(e)return e.map(e=>({range:dt(e.range),kind:mt(e.kind)}))})}};function mt(e){switch(e){case Fe.Read:return u.languages.DocumentHighlightKind.Read;case Fe.Write:return u.languages.DocumentHighlightKind.Write;case Fe.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var wt=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),ct(t),n)).then(e=>function(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){const r=u.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,edit:{range:dt(i.range),text:i.newText}})}return{edits:t}}(e))}},_t=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>({name:e.name,detail:"",containerName:e.containerName,kind:bt(e.kind),range:dt(e.location.range),selectionRange:dt(e.location.range),tags:[]}))})}};function bt(e){let t=u.languages.SymbolKind;switch(e){case je.File:return t.Array;case je.Module:return t.Module;case je.Namespace:return t.Namespace;case je.Package:return t.Package;case je.Class:return t.Class;case je.Method:return t.Method;case je.Property:return t.Property;case je.Field:return t.Field;case je.Constructor:return t.Constructor;case je.Enum:return t.Enum;case je.Interface:return t.Interface;case je.Function:return t.Function;case je.Variable:return t.Variable;case je.Constant:return t.Constant;case je.String:return t.String;case je.Number:return t.Number;case je.Boolean:return t.Boolean;case je.Array:return t.Array}return t.Function}var kt=class{constructor(e){this._worker=e}provideLinks(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:dt(e.range),url:e.target}))}})}},yt=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,xt(t)).then(e=>{if(e&&0!==e.length)return e.map(lt)}))}},Et=class{constructor(e){this._worker=e}provideDocumentRangeFormattingEdits(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),function(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}(t),xt(n)).then(e=>{if(e&&0!==e.length)return e.map(lt)}))}};function xt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var Ct=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{const t={start:e.startLine+1,end:e.endLine+1};return void 0!==e.kind&&(t.kind=function(e){switch(e){case A.Comment:return u.languages.FoldingRangeKind.Comment;case A.Imports:return u.languages.FoldingRangeKind.Imports;case A.Region:return u.languages.FoldingRangeKind.Region}}(e.kind)),t})})}},It=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(ct))).then(e=>{if(e)return e.map(e=>{const t=[];for(;e;)t.push({range:dt(e.range)}),e=e.parent;return t})})}},At=class extends ut{constructor(e){super(e,[".",":","<",'"',"=","/"])}};function Rt(e){const t=new ie(e),n=(...e)=>t.getLanguageServiceWorker(...e);let r=e.languageId;u.languages.registerCompletionItemProvider(r,new At(n)),u.languages.registerHoverProvider(r,new ht(n)),u.languages.registerDocumentHighlightProvider(r,new vt(n)),u.languages.registerLinkProvider(r,new kt(n)),u.languages.registerFoldingRangeProvider(r,new Ct(n)),u.languages.registerDocumentSymbolProvider(r,new _t(n)),u.languages.registerSelectionRangeProvider(r,new It(n)),u.languages.registerRenameProvider(r,new wt(n)),"html"===r&&(u.languages.registerDocumentFormattingEditProvider(r,new yt(n)),u.languages.registerDocumentRangeFormattingEditProvider(r,new Et(n)))}function St(e){const t=[],n=[],r=new ie(e);t.push(r);const i=(...e)=>r.getLanguageServiceWorker(...e);return function(){const{languageId:t,modeConfiguration:r}=e;Tt(n),r.completionItems&&n.push(u.languages.registerCompletionItemProvider(t,new At(i))),r.hovers&&n.push(u.languages.registerHoverProvider(t,new ht(i))),r.documentHighlights&&n.push(u.languages.registerDocumentHighlightProvider(t,new vt(i))),r.links&&n.push(u.languages.registerLinkProvider(t,new kt(i))),r.documentSymbols&&n.push(u.languages.registerDocumentSymbolProvider(t,new _t(i))),r.rename&&n.push(u.languages.registerRenameProvider(t,new wt(i))),r.foldingRanges&&n.push(u.languages.registerFoldingRangeProvider(t,new Ct(i))),r.selectionRanges&&n.push(u.languages.registerSelectionRangeProvider(t,new It(i))),r.documentFormattingEdits&&n.push(u.languages.registerDocumentFormattingEditProvider(t,new yt(i))),r.documentRangeFormattingEdits&&n.push(u.languages.registerDocumentRangeFormattingEditProvider(t,new Et(i)))}(),t.push(Pt(n)),Pt(t)}function Pt(e){return{dispose:()=>Tt(e)}}function Tt(e){for(;e.length;)e.pop().dispose()}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2077.bundle.js.LICENSE.txt b/forge/sterling/build/2077.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2077.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2244.bundle.js b/forge/sterling/build/2244.bundle.js
new file mode 100644
index 000000000..131901bb9
--- /dev/null
+++ b/forge/sterling/build/2244.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2244.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2244],{12244(e,n,t){t.r(n),t.d(n,{conf:()=>s,language:()=>o});var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2244.bundle.js.LICENSE.txt b/forge/sterling/build/2244.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2244.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2278.bundle.js b/forge/sterling/build/2278.bundle.js
new file mode 100644
index 000000000..1673f9265
--- /dev/null
+++ b/forge/sterling/build/2278.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2278.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2278],{2278(e,o,t){t.r(o),t.d(o,{conf:()=>n,language:()=>r});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},r={defaultToken:"",tokenPostfix:".ecl",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2278.bundle.js.LICENSE.txt b/forge/sterling/build/2278.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2278.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2398.bundle.js b/forge/sterling/build/2398.bundle.js
new file mode 100644
index 000000000..3a62eefe8
--- /dev/null
+++ b/forge/sterling/build/2398.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2398.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2398],{62398(e,n,i){i.r(n),i.d(n,{conf:()=>t,language:()=>r});var t={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["begin","end"],["case","endcase"],["casex","endcase"],["casez","endcase"],["checker","endchecker"],["class","endclass"],["clocking","endclocking"],["config","endconfig"],["function","endfunction"],["generate","endgenerate"],["group","endgroup"],["interface","endinterface"],["module","endmodule"],["package","endpackage"],["primitive","endprimitive"],["program","endprogram"],["property","endproperty"],["specify","endspecify"],["sequence","endsequence"],["table","endtable"],["task","endtask"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!1,markers:{start:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\b"),end:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\b")}}},r={defaultToken:"",tokenPostfix:".sv",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","null","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],builtin_gates:["and","nand","nor","or","xor","xnor","buf","not","bufif0","bufif1","notif1","notif0","cmos","nmos","pmos","rcmos","rnmos","rpmos","tran","tranif1","tranif0","rtran","rtranif1","rtranif0"],operators:["=","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>+","<<<=",">>>=","?",":","+","-","!","~","&","~&","|","~|","^","~^","^~","+","-","*","/","%","==","!=","===","!==","==?","!=?","&&","||","**","<","<=",">",">=","&","|","^",">>","<<",">>>","<<<","++","--","->","<->","inside","dist","::","+:","-:","*>","&&&","|->","|=>","#=#"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],{include:"@numbers"},[/[;,.]/,"delimiter"],{include:"@strings"}],identifier_or_keyword:[[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}]],numbers:[[/\d+?[\d_]*(?:\.[\d_]+)?[eE][\-+]?\d+/,"number.float"],[/\d+?[\d_]*\.[\d_]+(?:\s*@timeunits)?/,"number.float"],[/(?:\d+?[\d_]*\s*)?'[sS]?[dD]\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/,"number"],[/(?:\d+?[\d_]*\s*)?'[sS]?[bB]\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/,"number.binary"],[/(?:\d+?[\d_]*\s*)?'[sS]?[oO]\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/,"number.octal"],[/(?:\d+?[\d_]*\s*)?'[sS]?[hH]\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/,"number.hex"],[/1step/,"number"],[/[\dxXzZ]+?[\dxXzZ_]*(?:\s*@timeunits)?/,"number"],[/'[01xXzZ]+/,"number"]],module_instance:[{include:"@whitespace"},[/(#?)(\()/,["",{token:"@brackets",next:"@port_connection"}]],[/@identifier\s*[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@symbols|[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@identifier/,"type"],[/;/,"delimiter","@pop"]],port_connection:[{include:"@identifier_or_keyword"},{include:"@whitespace"},[/@systemcall/,"variable.predefined"],{include:"@numbers"},{include:"@strings"},[/[,]/,"delimiter"],[/\(/,"@brackets","@port_connection"],[/\)/,"@brackets","@pop"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],include:[[/(\s*)(")([\w*\/*]*)(.\w*)(")/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]],[/(\s*)(<)([\w*\/*]*)(.\w*)(>)/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]]],table:[{include:"@whitespace"},[/[()]/,"@brackets"],[/[:;]/,"delimiter"],[/[01\-*?xXbBrRfFpPnN]/,"variable.predefined"],["endtable","keyword.endtable","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2398.bundle.js.LICENSE.txt b/forge/sterling/build/2398.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2398.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/25643f53afdceee11c32.woff2 b/forge/sterling/build/25643f53afdceee11c32.woff2
new file mode 100644
index 000000000..61acca290
Binary files /dev/null and b/forge/sterling/build/25643f53afdceee11c32.woff2 differ
diff --git a/forge/sterling/build/2586.bundle.js b/forge/sterling/build/2586.bundle.js
new file mode 100644
index 000000000..ca9ed70a8
--- /dev/null
+++ b/forge/sterling/build/2586.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2586.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2586],{22586(t,e,i){i.r(e),i.d(e,{conf:()=>r,language:()=>m});var r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{#","#}"]},brackets:[["{#","#}"],["{%","%}"],["{{","}}"],["(",")"],["[","]"],["\x3c!--","--\x3e"],["<",">"]],autoClosingPairs:[{open:"{# ",close:" #}"},{open:"{% ",close:" %}"},{open:"{{ ",close:" }}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},m={defaultToken:"",tokenPostfix:"",ignoreCase:!0,keywords:["apply","autoescape","block","deprecated","do","embed","extends","flush","for","from","if","import","include","macro","sandbox","set","use","verbatim","with","endapply","endautoescape","endblock","endembed","endfor","endif","endmacro","endsandbox","endset","endwith","true","false"],tokenizer:{root:[[/\s+/],[/{#/,"comment.twig","@commentState"],[/{%[-~]?/,"delimiter.twig","@blockState"],[/{{[-~]?/,"delimiter.twig","@variableState"],[/)/,["delimiter.html","tag.html","","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/,"delimiter.html"],[/[^<]+/]],commentState:[[/#}/,"comment.twig","@pop"],[/./,"comment.twig"]],blockState:[[/[-~]?%}/,"delimiter.twig","@pop"],[/\s+/],[/(verbatim)(\s*)([-~]?%})/,["keyword.twig","",{token:"delimiter.twig",next:"@rawDataState"}]],{include:"expression"}],rawDataState:[[/({%[-~]?)(\s*)(endverbatim)(\s*)([-~]?%})/,["delimiter.twig","","keyword.twig","",{token:"delimiter.twig",next:"@popall"}]],[/./,"string.twig"]],variableState:[[/[-~]?}}/,"delimiter.twig","@pop"],{include:"expression"}],stringState:[[/"/,"string.twig","@pop"],[/#{\s*/,"string.twig","@interpolationState"],[/[^#"\\]*(?:(?:\\.|#(?!\{))[^#"\\]*)*/,"string.twig"]],interpolationState:[[/}/,"string.twig","@pop"],{include:"expression"}],expression:[[/\s+/],[/\+|-|\/{1,2}|%|\*{1,2}/,"operators.twig"],[/(and|or|not|b-and|b-xor|b-or)(\s+)/,["operators.twig",""]],[/==|!=|<|>|>=|<=/,"operators.twig"],[/(starts with|ends with|matches)(\s+)/,["operators.twig",""]],[/(in)(\s+)/,["operators.twig",""]],[/(is)(\s+)/,["operators.twig",""]],[/\||~|:|\.{1,2}|\?{1,2}/,"operators.twig"],[/[^\W\d][\w]*/,{cases:{"@keywords":"keyword.twig","@default":"variable.twig"}}],[/\d+(\.\d+)?/,"number.twig"],[/\(|\)|\[|\]|{|}|,/,"delimiter.twig"],[/"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/,"string.twig"],[/"/,"string.twig","@stringState"],[/=>/,"operators.twig"],[/=/,"operators.twig"]],doctype:[[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name.html","@scriptAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter.html","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name.html","@styleAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter.html","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2586.bundle.js.LICENSE.txt b/forge/sterling/build/2586.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2586.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2658.bundle.js b/forge/sterling/build/2658.bundle.js
new file mode 100644
index 000000000..f82905b81
--- /dev/null
+++ b/forge/sterling/build/2658.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2658.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2658],{92658(e,t,n){n.r(t),n.d(t,{conf:()=>p,language:()=>m});var r=n(88349),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,d={};i(d,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))a.call(e,r)||"default"===r||i(e,r,{get:()=>t[r],enumerable:!(n=o(t,r))||n.enumerable})})(d,r);var l=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],p={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${l.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:d.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${l.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:d.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},m={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2658.bundle.js.LICENSE.txt b/forge/sterling/build/2658.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2658.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2686.bundle.js b/forge/sterling/build/2686.bundle.js
new file mode 100644
index 000000000..cd9412b43
--- /dev/null
+++ b/forge/sterling/build/2686.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2686.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2686],{32686(e,n,o){o.r(n),o.d(n,{conf:()=>t,language:()=>s});var t={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".objective-c",keywords:["#import","#include","#define","#else","#endif","#if","#ifdef","#ifndef","#ident","#undef","@class","@defs","@dynamic","@encode","@end","@implementation","@interface","@package","@private","@protected","@property","@protocol","@public","@selector","@synthesize","__declspec","assign","auto","BOOL","break","bycopy","byref","case","char","Class","const","copy","continue","default","do","double","else","enum","extern","FALSE","false","float","for","goto","if","in","int","id","inout","IMP","long","nil","nonatomic","NULL","oneway","out","private","public","protected","readwrite","readonly","register","return","SEL","self","short","signed","sizeof","static","struct","super","switch","typedef","TRUE","true","union","unsigned","volatile","void","while"],decpart:/\d(_?\d)*/,decimal:/0|@decpart/,tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()<>]/,"@brackets"],[/[a-zA-Z@#]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/,"number.hex"],[/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,{cases:{"(\\d)*":"number",$0:"number.float"}}]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2686.bundle.js.LICENSE.txt b/forge/sterling/build/2686.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2686.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2692.bundle.js b/forge/sterling/build/2692.bundle.js
new file mode 100644
index 000000000..1acb5adc5
--- /dev/null
+++ b/forge/sterling/build/2692.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2692.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2692],{82692(e,s,o){o.r(s),o.d(s,{conf:()=>n,language:()=>l});var n={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},l={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2692.bundle.js.LICENSE.txt b/forge/sterling/build/2692.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2692.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2745.bundle.js b/forge/sterling/build/2745.bundle.js
new file mode 100644
index 000000000..66d3d332c
--- /dev/null
+++ b/forge/sterling/build/2745.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2745.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2745],{52745(e,t,n){n.r(t),n.d(t,{setupMode:()=>Tt});var r=n(88349),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,u={};i(u,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))s.call(e,r)||"default"===r||i(e,r,{get:()=>t[r],enumerable:!(n=o(t,r))||n.enumerable})})(u,r);var c,d,g,l,h,f,p,v,m,_,w,b,k,y,C,E,x,I,A,S,T,R,M,P,D,L,j,O,F,N,U,W,V,H,K,z,X,B,$,q,Q,G,J,Y,Z,ee,te,ne,re,ie=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};(d=c||(c={})).MIN_VALUE=-2147483648,d.MAX_VALUE=2147483647,(l=g||(g={})).MIN_VALUE=0,l.MAX_VALUE=2147483647,(f=h||(h={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=g.MAX_VALUE),t===Number.MAX_VALUE&&(t=g.MAX_VALUE),{line:e,character:t}},f.is=function(e){var t=e;return it.objectLiteral(t)&&it.uinteger(t.line)&&it.uinteger(t.character)},(v=p||(p={})).create=function(e,t,n,r){if(it.uinteger(e)&&it.uinteger(t)&&it.uinteger(n)&&it.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+r+"]")},v.is=function(e){var t=e;return it.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)},(_=m||(m={})).create=function(e,t){return{uri:e,range:t}},_.is=function(e){var t=e;return it.defined(t)&&p.is(t.range)&&(it.string(t.uri)||it.undefined(t.uri))},(b=w||(w={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},b.is=function(e){var t=e;return it.defined(t)&&p.is(t.targetRange)&&it.string(t.targetUri)&&(p.is(t.targetSelectionRange)||it.undefined(t.targetSelectionRange))&&(p.is(t.originSelectionRange)||it.undefined(t.originSelectionRange))},(y=k||(k={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},y.is=function(e){var t=e;return it.numberRange(t.red,0,1)&&it.numberRange(t.green,0,1)&&it.numberRange(t.blue,0,1)&&it.numberRange(t.alpha,0,1)},(E=C||(C={})).create=function(e,t){return{range:e,color:t}},E.is=function(e){var t=e;return p.is(t.range)&&k.is(t.color)},(I=x||(x={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},I.is=function(e){var t=e;return it.string(t.label)&&(it.undefined(t.textEdit)||H.is(t))&&(it.undefined(t.additionalTextEdits)||it.typedArray(t.additionalTextEdits,H.is))},(S=A||(A={})).Comment="comment",S.Imports="imports",S.Region="region",(R=T||(T={})).create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return it.defined(n)&&(o.startCharacter=n),it.defined(r)&&(o.endCharacter=r),it.defined(i)&&(o.kind=i),o},R.is=function(e){var t=e;return it.uinteger(t.startLine)&&it.uinteger(t.startLine)&&(it.undefined(t.startCharacter)||it.uinteger(t.startCharacter))&&(it.undefined(t.endCharacter)||it.uinteger(t.endCharacter))&&(it.undefined(t.kind)||it.string(t.kind))},(P=M||(M={})).create=function(e,t){return{location:e,message:t}},P.is=function(e){var t=e;return it.defined(t)&&m.is(t.location)&&it.string(t.message)},(L=D||(D={})).Error=1,L.Warning=2,L.Information=3,L.Hint=4,(O=j||(j={})).Unnecessary=1,O.Deprecated=2,(F||(F={})).is=function(e){var t=e;return null!=t&&it.string(t.href)},(U=N||(N={})).create=function(e,t,n,r,i,o){var a={range:e,message:t};return it.defined(n)&&(a.severity=n),it.defined(r)&&(a.code=r),it.defined(i)&&(a.source=i),it.defined(o)&&(a.relatedInformation=o),a},U.is=function(e){var t,n=e;return it.defined(n)&&p.is(n.range)&&it.string(n.message)&&(it.number(n.severity)||it.undefined(n.severity))&&(it.integer(n.code)||it.string(n.code)||it.undefined(n.code))&&(it.undefined(n.codeDescription)||it.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(it.string(n.source)||it.undefined(n.source))&&(it.undefined(n.relatedInformation)||it.typedArray(n.relatedInformation,M.is))},(V=W||(W={})).create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},V.is=function(e){var t=e;return it.defined(t)&&it.string(t.title)&&it.string(t.command)},(K=H||(H={})).replace=function(e,t){return{range:e,newText:t}},K.insert=function(e,t){return{range:{start:e,end:e},newText:t}},K.del=function(e){return{range:e,newText:""}},K.is=function(e){var t=e;return it.objectLiteral(t)&&it.string(t.newText)&&p.is(t.range)},(X=z||(z={})).create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},X.is=function(e){var t=e;return void 0!==t&&it.objectLiteral(t)&&it.string(t.label)&&(it.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(it.string(t.description)||void 0===t.description)},(B||(B={})).is=function(e){return"string"==typeof e},(q=$||($={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},q.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},q.del=function(e,t){return{range:e,newText:"",annotationId:t}},q.is=function(e){var t=e;return H.is(t)&&(z.is(t.annotationId)||B.is(t.annotationId))},(G=Q||(Q={})).create=function(e,t){return{textDocument:e,edits:t}},G.is=function(e){var t=e;return it.defined(t)&&ce.is(t.textDocument)&&Array.isArray(t.edits)},(Y=J||(J={})).create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},Y.is=function(e){var t=e;return t&&"create"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(ee=Z||(Z={})).create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},ee.is=function(e){var t=e;return t&&"rename"===t.kind&&it.string(t.oldUri)&&it.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(ne=te||(te={})).create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},ne.is=function(e){var t=e;return t&&"delete"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||it.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||it.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||B.is(t.annotationId))},(re||(re={})).is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every(function(e){return it.string(e.kind)?J.is(e)||Z.is(e)||te.is(e):Q.is(e)}))};var oe,ae,se,ue,ce,de,ge,le,he,fe,pe,ve,me,_e,we,be,ke,ye,Ce,Ee,xe,Ie,Ae,Se,Te,Re,Me,Pe,De,Le,je,Oe,Fe,Ne,Ue,We,Ve,He,Ke,ze,Xe,Be,$e,qe,Qe,Ge,Je,Ye,Ze,et,tt,nt=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=H.insert(e,t):B.is(n)?(i=n,r=$.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=H.replace(e,t):B.is(n)?(i=n,r=$.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=H.del(e):B.is(t)?(r=t,n=$.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=$.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),rt=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(B.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new rt(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(e){if(Q.is(e)){var n=new nt(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(function(n){var r=new nt(e.changes[n]);t._textEditChanges[n]=r})):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(ce.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new nt(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new nt(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new rt,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||B.is(t)?r=t:n=t,void 0===r?i=J.create(e,n):(o=B.is(r)?r:this._changeAnnotations.manage(r),i=J.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,a;if(z.is(n)||B.is(n)?i=n:r=n,void 0===i?o=Z.create(e,t,r):(a=B.is(i)?i:this._changeAnnotations.manage(i),o=Z.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(o),void 0!==a)return a},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||B.is(t)?r=t:n=t,void 0===r?i=te.create(e,n):(o=B.is(r)?r:this._changeAnnotations.manage(r),i=te.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(ae=oe||(oe={})).create=function(e){return{uri:e}},ae.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)},(ue=se||(se={})).create=function(e,t){return{uri:e,version:t}},ue.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.integer(t.version)},(de=ce||(ce={})).create=function(e,t){return{uri:e,version:t}},de.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&(null===t.version||it.integer(t.version))},(le=ge||(ge={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},le.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.string(t.languageId)&&it.integer(t.version)&&it.string(t.text)},(fe=he||(he={})).PlainText="plaintext",fe.Markdown="markdown",function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(he||(he={})),(pe||(pe={})).is=function(e){var t=e;return it.objectLiteral(e)&&he.is(t.kind)&&it.string(t.value)},(me=ve||(ve={})).Text=1,me.Method=2,me.Function=3,me.Constructor=4,me.Field=5,me.Variable=6,me.Class=7,me.Interface=8,me.Module=9,me.Property=10,me.Unit=11,me.Value=12,me.Enum=13,me.Keyword=14,me.Snippet=15,me.Color=16,me.File=17,me.Reference=18,me.Folder=19,me.EnumMember=20,me.Constant=21,me.Struct=22,me.Event=23,me.Operator=24,me.TypeParameter=25,(we=_e||(_e={})).PlainText=1,we.Snippet=2,(be||(be={})).Deprecated=1,(ye=ke||(ke={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},ye.is=function(e){var t=e;return t&&it.string(t.newText)&&p.is(t.insert)&&p.is(t.replace)},(Ee=Ce||(Ce={})).asIs=1,Ee.adjustIndentation=2,(xe||(xe={})).create=function(e){return{label:e}},(Ie||(Ie={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Se=Ae||(Ae={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Se.is=function(e){var t=e;return it.string(t)||it.objectLiteral(t)&&it.string(t.language)&&it.string(t.value)},(Te||(Te={})).is=function(e){var t=e;return!!t&&it.objectLiteral(t)&&(pe.is(t.contents)||Ae.is(t.contents)||it.typedArray(t.contents,Ae.is))&&(void 0===e.range||p.is(e.range))},(Re||(Re={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Me||(Me={})).create=function(e,t){for(var n=[],r=2;r=0;a--){var s=i[a],u=e.offsetAt(s.range.start),c=e.offsetAt(s.range.end);if(!(c<=o))throw new Error("Overlapping edit");r=r.substring(0,u)+s.newText+r.substring(c,r.length),o=u}return r}}(tt||(tt={}));var it,ot,at,st=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return h.create(0,e);for(;ne?r=i:n=i+1}var o=n-1;return h.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1{let t,n=e.getLanguageId();n===this._languageId&&(this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(t),t=window.setTimeout(()=>this._doValidate(e.uri,n),500)}),this._doValidate(e.uri,n))},i=e=>{u.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(u.editor.onDidCreateModel(r)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{u.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),u.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{const r=n.map(e=>function(e,t){let n="number"==typeof t.code?String(t.code):t.code;return{severity:ct(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}(0,e));let i=u.editor.getModel(e);i&&i.getLanguageId()===t&&u.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function ct(e){switch(e){case D.Error:return u.MarkerSeverity.Error;case D.Warning:return u.MarkerSeverity.Warning;case D.Information:return u.MarkerSeverity.Info;case D.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var dt=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),gt(t))).then(n=>{if(!n)return;const r=e.getWordUntilPosition(t),i=new u.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),o=n.items.map(e=>{const t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:(n=e.command,n&&"editor.action.triggerSuggest"===n.command?{id:n.command,title:n.title,arguments:n.arguments}:void 0),range:i,kind:ht(e.kind)};var n,r;return e.textEdit&&(void 0!==(r=e.textEdit).insert&&void 0!==r.replace?t.range={insert:lt(e.textEdit.insert),replace:lt(e.textEdit.replace)}:t.range=lt(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(ft)),e.insertTextFormat===_e.Snippet&&(t.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:o}})}};function gt(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function lt(e){if(e)return new u.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function ht(e){const t=u.languages.CompletionItemKind;switch(e){case ve.Text:return t.Text;case ve.Method:return t.Method;case ve.Function:return t.Function;case ve.Constructor:return t.Constructor;case ve.Field:return t.Field;case ve.Variable:return t.Variable;case ve.Class:return t.Class;case ve.Interface:return t.Interface;case ve.Module:return t.Module;case ve.Property:return t.Property;case ve.Unit:return t.Unit;case ve.Value:return t.Value;case ve.Enum:return t.Enum;case ve.Keyword:return t.Keyword;case ve.Snippet:return t.Snippet;case ve.Color:return t.Color;case ve.File:return t.File;case ve.Reference:return t.Reference}return t.Property}function ft(e){if(e)return{range:lt(e.range),text:e.newText}}var pt=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),gt(t))).then(e=>{if(e)return{range:lt(e.range),contents:mt(e.contents)}})}};function vt(e){return"string"==typeof e?{value:e}:(t=e)&&"object"==typeof t&&"string"==typeof t.kind?"plaintext"===e.kind?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:e.value}:{value:"```"+e.language+"\n"+e.value+"\n```\n"};var t}function mt(e){if(e)return Array.isArray(e)?e.map(vt):[vt(e)]}var _t=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),gt(t))).then(e=>{if(e)return e.map(e=>({range:lt(e.range),kind:wt(e.kind)}))})}};function wt(e){switch(e){case Pe.Read:return u.languages.DocumentHighlightKind.Read;case Pe.Write:return u.languages.DocumentHighlightKind.Write;case Pe.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var bt=class{constructor(e){this._worker=e}provideDefinition(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),gt(t))).then(e=>{if(e)return[kt(e)]})}};function kt(e){return{uri:u.Uri.parse(e.uri),range:lt(e.range)}}var yt=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),gt(t))).then(e=>{if(e)return e.map(kt)})}},Ct=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),gt(t),n)).then(e=>function(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){const r=u.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,edit:{range:lt(i.range),text:i.newText}})}return{edits:t}}(e))}},Et=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>({name:e.name,detail:"",containerName:e.containerName,kind:xt(e.kind),range:lt(e.location.range),selectionRange:lt(e.location.range),tags:[]}))})}};function xt(e){let t=u.languages.SymbolKind;switch(e){case je.File:return t.Array;case je.Module:return t.Module;case je.Namespace:return t.Namespace;case je.Package:return t.Package;case je.Class:return t.Class;case je.Method:return t.Method;case je.Property:return t.Property;case je.Field:return t.Field;case je.Constructor:return t.Constructor;case je.Enum:return t.Enum;case je.Interface:return t.Interface;case je.Function:return t.Function;case je.Variable:return t.Variable;case je.Constant:return t.Constant;case je.String:return t.String;case je.Number:return t.Number;case je.Boolean:return t.Boolean;case je.Array:return t.Array}return t.Function}var It=class{constructor(e){this._worker=e}provideDocumentColors(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:lt(e.range)}))})}provideColorPresentations(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,function(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=ft(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(ft)),t})})}},At=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{const t={start:e.startLine+1,end:e.endLine+1};return void 0!==e.kind&&(t.kind=function(e){switch(e){case A.Comment:return u.languages.FoldingRangeKind.Comment;case A.Imports:return u.languages.FoldingRangeKind.Imports;case A.Region:return u.languages.FoldingRangeKind.Region}}(e.kind)),t})})}},St=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(gt))).then(e=>{if(e)return e.map(e=>{const t=[];for(;e;)t.push({range:lt(e.range)}),e=e.parent;return t})})}};function Tt(e){const t=[],n=[],r=new ie(e);t.push(r);const i=(...e)=>r.getLanguageServiceWorker(...e);return function(){const{languageId:t,modeConfiguration:r}=e;Mt(n),r.completionItems&&n.push(u.languages.registerCompletionItemProvider(t,new dt(i,["/","-",":"]))),r.hovers&&n.push(u.languages.registerHoverProvider(t,new pt(i))),r.documentHighlights&&n.push(u.languages.registerDocumentHighlightProvider(t,new _t(i))),r.definitions&&n.push(u.languages.registerDefinitionProvider(t,new bt(i))),r.references&&n.push(u.languages.registerReferenceProvider(t,new yt(i))),r.documentSymbols&&n.push(u.languages.registerDocumentSymbolProvider(t,new Et(i))),r.rename&&n.push(u.languages.registerRenameProvider(t,new Ct(i))),r.colors&&n.push(u.languages.registerColorProvider(t,new It(i))),r.foldingRanges&&n.push(u.languages.registerFoldingRangeProvider(t,new At(i))),r.diagnostics&&n.push(new ut(t,i,e.onDidChange)),r.selectionRanges&&n.push(u.languages.registerSelectionRangeProvider(t,new St(i)))}(),t.push(Rt(n)),Rt(t)}function Rt(e){return{dispose:()=>Mt(e)}}function Mt(e){for(;e.length;)e.pop().dispose()}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2745.bundle.js.LICENSE.txt b/forge/sterling/build/2745.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2745.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/2962.bundle.js b/forge/sterling/build/2962.bundle.js
new file mode 100644
index 000000000..14890e6b4
--- /dev/null
+++ b/forge/sterling/build/2962.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2962.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[2962],{42962(e,t,r){r.r(t),r.d(t,{conf:()=>n,language:()=>o});var n={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={tokenPostfix:".julia",keywords:["begin","while","if","for","try","return","break","continue","function","macro","quote","let","local","global","const","do","struct","module","baremodule","using","import","export","end","else","elseif","catch","finally","mutable","primitive","abstract","type","in","isa","where","new"],types:["LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","AbstractArray","UndefKeywordError","AbstractChannel","UndefRefError","AbstractChar","UndefVarError","AbstractDict","Union","AbstractDisplay","UnionAll","AbstractFloat","UnitRange","AbstractIrrational","Unsigned","AbstractMatrix","AbstractRange","Val","AbstractSet","Vararg","AbstractString","VecElement","AbstractUnitRange","VecOrMat","AbstractVecOrMat","Vector","AbstractVector","VersionNumber","Any","WeakKeyDict","ArgumentError","WeakRef","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError"],keywordops:["<:",">:",":","=>","...",".","->","?"],allops:/[^\w\d\s()\[\]{}"'#]+/,constants:["true","false","nothing","missing","undef","Inf","pi","NaN","π","ℯ","ans","PROGRAM_FILE","ARGS","C_NULL","VERSION","DEPOT_PATH","LOAD_PATH"],operators:["!","!=","!==","%","&","*","+","-","/","//","<","<<","<=","==","===","=>",">",">=",">>",">>>","\\","^","|","|>","~","÷","∈","∉","∋","∌","∘","√","∛","∩","∪","≈","≉","≠","≡","≢","≤","≥","⊆","⊇","⊈","⊉","⊊","⊋","⊻"],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],ident:/π|ℯ|\b(?!\d)\w+\b/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\s*|\b(isa)\s+/,"keyword","@typeanno"],[/\b(isa)(\s*\(@ident\s*,\s*)/,["keyword",{token:"",next:"@typeanno"}]],[/\b(type|struct)[ \t]+/,"keyword","@typeanno"],[/^\s*:@ident[!?]?/,"metatag"],[/(return)(\s*:@ident[!?]?)/,["keyword","metatag"]],[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/,["","metatag"]],[/:\(/,"metatag","@quote"],[/r"""/,"regexp.delim","@tregexp"],[/r"/,"regexp.delim","@sregexp"],[/raw"""/,"string.delim","@rtstring"],[/[bv]?"""/,"string.delim","@dtstring"],[/raw"/,"string.delim","@rsstring"],[/[bv]?"/,"string.delim","@dsstring"],[/(@ident)\{/,{cases:{"$1@types":{token:"type",next:"@gen"},"@default":{token:"type",next:"@gen"}}}],[/@ident[!?'']?(?=\.?\()/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"keyword.flow"}}],[/@ident[!?']?/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"identifier"}}],[/\$\w+/,"key"],[/\$\(/,"key","@paste"],[/@@@ident/,"annotation"],{include:"@whitespace"},[/'(?:@escapes|.)'/,"string.character"],[/[()\[\]{}]/,"@brackets"],[/@allops/,{cases:{"@keywordops":"keyword","@operators":"operator"}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0[bB][01](_?[01])*/,"number.binary"],[/[+\-]?\d+(\.\d+)?(im?|[eE][+\-]?\d+(\.\d+)?)?/,"number"]],typeanno:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@gen"],[/([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(\s*<:\s*)/,["type","keyword"]],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type","@pop"],["","","@pop"]],gen:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@push"],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type"],[/<:/,"keyword"],[/(\})(\s*<:\s*)/,["type",{token:"keyword",next:"@pop"}]],[/\}/,"type","@pop"],{include:"@root"}],quote:[[/\$\(/,"key","@paste"],[/\(/,"@brackets","@paren"],[/\)/,"metatag","@pop"],{include:"@root"}],paste:[[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@paren"],[/\)/,"key","@pop"],{include:"@root"}],paren:[[/\$\(/,"key","@paste"],[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@push"],[/\)/,"@brackets","@pop"],{include:"@root"}],sregexp:[[/^.*/,"invalid"],[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"[imsx]*/,"regexp.delim","@pop"]],tregexp:[[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"(?!"")/,"string"],[/"""[imsx]*/,"regexp.delim","@pop"]],rsstring:[[/^.*/,"invalid"],[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"/,"string.delim","@pop"]],rtstring:[[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],dsstring:[[/^.*/,"invalid"],[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string.delim","@pop"]],dtstring:[[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],interpolated:[[/\(/,{token:"",switchTo:"@interpolated_compound"}],[/[a-zA-Z_]\w*/,"identifier"],["","","@pop"]],interpolated_compound:[[/\)/,"","@pop"],{include:"@root"}],whitespace:[[/[ \t\r\n]+/,""],[/#=/,"comment","@multi_comment"],[/#.*$/,"comment"]],multi_comment:[[/#=/,"comment","@push"],[/=#/,"comment","@pop"],[/=(?!#)|#(?!=)/,"comment"],[/[^#=]+/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/2962.bundle.js.LICENSE.txt b/forge/sterling/build/2962.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/2962.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/3042.bundle.js b/forge/sterling/build/3042.bundle.js
new file mode 100644
index 000000000..f84c6d39a
--- /dev/null
+++ b/forge/sterling/build/3042.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3042.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3042],{83042(x,e,i){i.r(e),i.d(e,{conf:()=>d,language:()=>f});var d={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},f={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","constructor","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3042.bundle.js.LICENSE.txt b/forge/sterling/build/3042.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3042.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/3062.bundle.js b/forge/sterling/build/3062.bundle.js
new file mode 100644
index 000000000..d6eb1b366
--- /dev/null
+++ b/forge/sterling/build/3062.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3062.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3062],{53062(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>r});var o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},r={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3062.bundle.js.LICENSE.txt b/forge/sterling/build/3062.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3062.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/3096.bundle.js b/forge/sterling/build/3096.bundle.js
new file mode 100644
index 000000000..382035343
--- /dev/null
+++ b/forge/sterling/build/3096.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3096.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3096],{83096(e,t,i){i.r(t),i.d(t,{conf:()=>u,language:()=>c});var n=i(88349),o=Object.defineProperty,r=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,d={};o(d,"__esModule",{value:!0}),((e,t,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of l(t))a.call(e,n)||"default"===n||o(e,n,{get:()=>t[n],enumerable:!(i=r(t,n))||i.enumerable})})(d,n);var s=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],u={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${s.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:d.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${s.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:d.languages.IndentAction.Indent}}]},c={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,"comment.end.liquid","@pop"],[/./,"comment.content.liquid"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3096.bundle.js.LICENSE.txt b/forge/sterling/build/3096.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3096.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/3182.bundle.js b/forge/sterling/build/3182.bundle.js
new file mode 100644
index 000000000..8fbbf7e0d
--- /dev/null
+++ b/forge/sterling/build/3182.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3182.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3182],{43182(e,_,t){t.r(_),t.d(_,{conf:()=>s,language:()=>r});var s={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},r={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["abbrev","abs","acldefault","aclexplode","acos","acosd","acosh","age","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","ascii","asin","asind","asinh","atan","atan2","atan2d","atand","atanh","avg","bit","bit_and","bit_count","bit_length","bit_or","bit_xor","bool_and","bool_or","bound_box","box","brin_desummarize_range","brin_summarize_new_values","brin_summarize_range","broadcast","btrim","cardinality","cbrt","ceil","ceiling","center","char_length","character_length","chr","circle","clock_timestamp","coalesce","col_description","concat","concat_ws","convert","convert_from","convert_to","corr","cos","cosd","cosh","cot","cotd","count","covar_pop","covar_samp","cume_dist","current_catalog","current_database","current_date","current_query","current_role","current_schema","current_schemas","current_setting","current_time","current_timestamp","current_user","currval","cursor_to_xml","cursor_to_xmlschema","date_bin","date_part","date_trunc","database_to_xml","database_to_xml_and_xmlschema","database_to_xmlschema","decode","degrees","dense_rank","diagonal","diameter","div","encode","enum_first","enum_last","enum_range","every","exp","extract","factorial","family","first_value","floor","format","format_type","gcd","gen_random_uuid","generate_series","generate_subscripts","get_bit","get_byte","get_current_ts_config","gin_clean_pending_list","greatest","grouping","has_any_column_privilege","has_column_privilege","has_database_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_schema_privilege","has_sequence_privilege","has_server_privilege","has_table_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","initcap","isclosed","isempty","isfinite","isopen","json_agg","json_array_elements","json_array_elements_text","json_array_length","json_build_array","json_build_object","json_each","json_each_text","json_extract_path","json_extract_path_text","json_object","json_object_agg","json_object_keys","json_populate_record","json_populate_recordset","json_strip_nulls","json_to_record","json_to_recordset","json_to_tsvector","json_typeof","jsonb_agg","jsonb_array_elements","jsonb_array_elements_text","jsonb_array_length","jsonb_build_array","jsonb_build_object","jsonb_each","jsonb_each_text","jsonb_extract_path","jsonb_extract_path_text","jsonb_insert","jsonb_object","jsonb_object_agg","jsonb_object_keys","jsonb_path_exists","jsonb_path_match","jsonb_path_query","jsonb_path_query_array","jsonb_path_exists_tz","jsonb_path_query_first","jsonb_path_query_array_tz","jsonb_path_query_first_tz","jsonb_path_query_tz","jsonb_path_match_tz","jsonb_populate_record","jsonb_populate_recordset","jsonb_pretty","jsonb_set","jsonb_set_lax","jsonb_strip_nulls","jsonb_to_record","jsonb_to_recordset","jsonb_to_tsvector","jsonb_typeof","justify_days","justify_hours","justify_interval","lag","last_value","lastval","lcm","lead","least","left","length","line","ln","localtime","localtimestamp","log","log10","lower","lower_inc","lower_inf","lpad","lseg","ltrim","macaddr8_set7bit","make_date","make_interval","make_time","make_timestamp","make_timestamptz","makeaclitem","masklen","max","md5","min","min_scale","mod","mode","multirange","netmask","network","nextval","normalize","now","npoints","nth_value","ntile","nullif","num_nonnulls","num_nulls","numnode","obj_description","octet_length","overlay","parse_ident","path","pclose","percent_rank","percentile_cont","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backend_pid","pg_backup_start_time","pg_blocking_pids","pg_cancel_backend","pg_client_encoding","pg_collation_actual_version","pg_collation_is_visible","pg_column_compression","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_copy_logical_replication_slot","pg_copy_physical_replication_slot","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_logfile","pg_current_snapshot","pg_current_wal_flush_lsn","pg_current_wal_insert_lsn","pg_current_wal_lsn","pg_current_xact_id","pg_current_xact_id_if_assigned","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_event_trigger_ddl_commands","pg_event_trigger_dropped_objects","pg_event_trigger_table_rewrite_oid","pg_event_trigger_table_rewrite_reason","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_catalog_foreign_keys","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_statisticsobjdef","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_get_wal_replay_pause_state","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_import_system_collations","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_wal_replay_paused","pg_is_xlog_replay_paused","pg_jit_available","pg_last_committed_xact","pg_last_wal_receive_lsn","pg_last_wal_replay_lsn","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_log_backend_memory_contexts","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_archive_statusdir","pg_ls_dir","pg_ls_logdir","pg_ls_tmpdir","pg_ls_waldir","pg_mcv_list_items","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_partition_ancestors","pg_partition_root","pg_partition_tree","pg_postmaster_start_time","pg_promote","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_advance","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_replication_slot_advance","pg_rotate_logfile","pg_safe_snapshot_blocking_pids","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_snapshot_xip","pg_snapshot_xmax","pg_snapshot_xmin","pg_start_backup","pg_stat_file","pg_statistics_obj_is_visible","pg_stop_backup","pg_switch_wal","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_terminate_backend","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_visible_in_snapshot","pg_wal_lsn_diff","pg_wal_replay_pause","pg_wal_replay_resume","pg_walfile_name","pg_walfile_name_offset","pg_xact_commit_timestamp","pg_xact_commit_timestamp_origin","pg_xact_status","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","pi","plainto_tsquery","point","polygon","popen","position","power","pqserverversion","query_to_xml","query_to_xml_and_xmlschema","query_to_xmlschema","querytree","quote_ident","quote_literal","quote_nullable","radians","radius","random","range_agg","range_intersect_agg","range_merge","rank","regexp_match","regexp_matches","regexp_replace","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","repeat","replace","reverse","right","round","row_number","row_security_active","row_to_json","rpad","rtrim","scale","schema_to_xml","schema_to_xml_and_xmlschema","schema_to_xmlschema","session_user","set_bit","set_byte","set_config","set_masklen","setseed","setval","setweight","sha224","sha256","sha384","sha512","shobj_description","sign","sin","sind","sinh","slope","split_part","sprintf","sqrt","starts_with","statement_timestamp","stddev","stddev_pop","stddev_samp","string_agg","string_to_array","string_to_table","strip","strpos","substr","substring","sum","suppress_redundant_updates_trigger","table_to_xml","table_to_xml_and_xmlschema","table_to_xmlschema","tan","tand","tanh","text","timeofday","timezone","to_ascii","to_char","to_date","to_hex","to_json","to_number","to_regclass","to_regcollation","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_timestamp","to_tsquery","to_tsvector","transaction_timestamp","translate","trim","trim_array","trim_scale","trunc","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_if_assigned","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_status","txid_visible_in_snapshot","unistr","unnest","upper","upper_inc","upper_inf","user","var_pop","var_samp","variance","version","websearch_to_tsquery","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3182.bundle.js.LICENSE.txt b/forge/sterling/build/3182.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3182.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/34c31911fbbca2c10045.woff b/forge/sterling/build/34c31911fbbca2c10045.woff
new file mode 100644
index 000000000..815fbf57c
Binary files /dev/null and b/forge/sterling/build/34c31911fbbca2c10045.woff differ
diff --git a/forge/sterling/build/3622.bundle.js b/forge/sterling/build/3622.bundle.js
new file mode 100644
index 000000000..371be2e45
--- /dev/null
+++ b/forge/sterling/build/3622.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3622.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3622],{3622(e,t,n){n.r(t),n.d(t,{conf:()=>s,language:()=>o});var s={comments:{lineComment:"#"}},o={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3622.bundle.js.LICENSE.txt b/forge/sterling/build/3622.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3622.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/365e07982826c8d6327e.woff2 b/forge/sterling/build/365e07982826c8d6327e.woff2
new file mode 100644
index 000000000..ee3239132
Binary files /dev/null and b/forge/sterling/build/365e07982826c8d6327e.woff2 differ
diff --git a/forge/sterling/build/3726.bundle.js b/forge/sterling/build/3726.bundle.js
new file mode 100644
index 000000000..15d721d25
--- /dev/null
+++ b/forge/sterling/build/3726.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 3726.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[3726],{13726(e,o,n){n.r(o),n.d(o,{conf:()=>s,language:()=>t});var s={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},t={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/3726.bundle.js.LICENSE.txt b/forge/sterling/build/3726.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/3726.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/398.bundle.js b/forge/sterling/build/398.bundle.js
new file mode 100644
index 000000000..03578bbe6
--- /dev/null
+++ b/forge/sterling/build/398.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 398.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[398],{48017(e,t,r){r.r(t),r.d(t,{conf:()=>s,language:()=>n});var s={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n={defaultToken:"",ignoreCase:!1,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/398.bundle.js.LICENSE.txt b/forge/sterling/build/398.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/398.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/3b12523542a36f074eff.woff2 b/forge/sterling/build/3b12523542a36f074eff.woff2
new file mode 100644
index 000000000..181347543
Binary files /dev/null and b/forge/sterling/build/3b12523542a36f074eff.woff2 differ
diff --git a/forge/sterling/build/3e019f26a840cbca0aae.woff b/forge/sterling/build/3e019f26a840cbca0aae.woff
new file mode 100644
index 000000000..d41bb68a9
Binary files /dev/null and b/forge/sterling/build/3e019f26a840cbca0aae.woff differ
diff --git a/forge/sterling/build/4114.bundle.js b/forge/sterling/build/4114.bundle.js
new file mode 100644
index 000000000..9f76f0e2e
--- /dev/null
+++ b/forge/sterling/build/4114.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4114.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4114],{64114(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>s});var o={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>o,language:()=>r});var o={comments:{blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"(*",close:"*)"},{open:"<*",close:"*>"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}]},r={defaultToken:"",tokenPostfix:".m3",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["AND","ANY","ARRAY","AS","BEGIN","BITS","BRANDED","BY","CASE","CONST","DIV","DO","ELSE","ELSIF","END","EVAL","EXCEPT","EXCEPTION","EXIT","EXPORTS","FINALLY","FOR","FROM","GENERIC","IF","IMPORT","IN","INTERFACE","LOCK","LOOP","METHODS","MOD","MODULE","NOT","OBJECT","OF","OR","OVERRIDES","PROCEDURE","RAISE","RAISES","READONLY","RECORD","REF","REPEAT","RETURN","REVEAL","SET","THEN","TO","TRY","TYPE","TYPECASE","UNSAFE","UNTIL","UNTRACED","VALUE","VAR","WHILE","WITH"],reservedConstNames:["ABS","ADR","ADRSIZE","BITSIZE","BYTESIZE","CEILING","DEC","DISPOSE","FALSE","FIRST","FLOAT","FLOOR","INC","ISTYPE","LAST","LOOPHOLE","MAX","MIN","NARROW","NEW","NIL","NUMBER","ORD","ROUND","SUBARRAY","TRUE","TRUNC","TYPECODE","VAL"],reservedTypeNames:["ADDRESS","ANY","BOOLEAN","CARDINAL","CHAR","EXTENDED","INTEGER","LONGCARD","LONGINT","LONGREAL","MUTEX","NULL","REAL","REFANY","ROOT","TEXT"],operators:["+","-","*","/","&","^","."],relations:["=","#","<","<=",">",">=","<:",":"],delimiters:["|","..","=>",",",";",":="],symbols:/[>=<#.,:;+\-*/&^]+/,escapes:/\\(?:[\\fnrt"']|[0-7]{3})/,tokenizer:{root:[[/_\w*/,"invalid"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{"@keywords":{token:"keyword.$0"},"@reservedConstNames":{token:"constant.reserved.$0"},"@reservedTypeNames":{token:"type.reserved.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/,"number.float"],[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/,"number"],[/@symbols/,{cases:{"@operators":"operators","@relations":"operators","@delimiters":"delimiter","@default":"invalid"}}],[/'[^\\']'/,"string.char"],[/(')(@escapes)(')/,["string.char","string.escape","string.char"]],[/'/,"invalid"],[/"([^"\\]|\\.)*$/,"invalid"],[/"/,"string.text","@text"]],text:[[/[^\\"]+/,"string.text"],[/@escapes/,"string.escape"],[/\\./,"invalid"],[/"/,"string.text","@pop"]],comment:[[/\(\*/,"comment","@push"],[/\*\)/,"comment","@pop"],[/./,"comment"]],pragma:[[/<\*/,"keyword.pragma","@push"],[/\*>/,"keyword.pragma","@pop"],[/./,"keyword.pragma"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/<\*/,"keyword.pragma","@pragma"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4120.bundle.js.LICENSE.txt b/forge/sterling/build/4120.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4120.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4334.bundle.js b/forge/sterling/build/4334.bundle.js
new file mode 100644
index 000000000..6e3b07fbf
--- /dev/null
+++ b/forge/sterling/build/4334.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4334.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4334],{94334(e,o,t){t.r(o),t.d(o,{conf:()=>n,language:()=>s});var n={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},s={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4334.bundle.js.LICENSE.txt b/forge/sterling/build/4334.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4334.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4625f6ce1cdf7ab045a4.woff b/forge/sterling/build/4625f6ce1cdf7ab045a4.woff
new file mode 100644
index 000000000..15f9e6494
Binary files /dev/null and b/forge/sterling/build/4625f6ce1cdf7ab045a4.woff differ
diff --git a/forge/sterling/build/4630.bundle.js b/forge/sterling/build/4630.bundle.js
new file mode 100644
index 000000000..bf7f321b1
--- /dev/null
+++ b/forge/sterling/build/4630.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4630.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4630],{24630(e,t,o){o.r(t),o.d(t,{conf:()=>n,language:()=>i});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",tokenPostfix:".swift",identifier:/[a-zA-Z_][\w$]*/,attributes:["@autoclosure","@noescape","@noreturn","@NSApplicationMain","@NSCopying","@NSManaged","@objc","@UIApplicationMain","@noreturn","@availability","@IBAction","@IBDesignable","@IBInspectable","@IBOutlet"],accessmodifiers:["public","private","fileprivate","internal"],keywords:["__COLUMN__","__FILE__","__FUNCTION__","__LINE__","as","as!","as?","associativity","break","case","catch","class","continue","convenience","default","deinit","didSet","do","dynamic","dynamicType","else","enum","extension","fallthrough","fileprivate","final","for","func","get","guard","if","import","in","infix","init","inout","internal","is","lazy","left","let","mutating","nil","none","nonmutating","operator","optional","override","postfix","precedence","prefix","private","protocol","Protocol","public","repeat","required","return","right","self","Self","set","static","struct","subscript","super","switch","throw","throws","try","try!","Type","typealias","unowned","var","weak","where","while","willSet","FALSE","TRUE"],symbols:/[=(){}\[\].,:;@#\_&\-<>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],whitespace:[[/\s+/,"white"],[/"""/,"string.quote","@endDblDocString"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string.quote","@popall"],[/"/,"string"]],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/@@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4630.bundle.js.LICENSE.txt b/forge/sterling/build/4630.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4630.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4680.bundle.js b/forge/sterling/build/4680.bundle.js
new file mode 100644
index 000000000..789987944
--- /dev/null
+++ b/forge/sterling/build/4680.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4680.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4680],{44680(e,t,n){n.r(t),n.d(t,{conf:()=>o,language:()=>s});var o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},s={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","async","await","box","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","try","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/r(#*)"/,{token:"string.quote",bracket:"@open",next:"@stringraw.$1"}],[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'(\S|@escapes)'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],stringraw:[[/[^"#]+/,{token:"string"}],[/"(#*)/,{cases:{"$1==$S2":{token:"string.quote",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["#]/,{token:"string"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4680.bundle.js.LICENSE.txt b/forge/sterling/build/4680.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4680.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4698.bundle.js b/forge/sterling/build/4698.bundle.js
new file mode 100644
index 000000000..1e13b24f2
--- /dev/null
+++ b/forge/sterling/build/4698.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4698.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4698],{24698(e,n,s){s.r(n),s.d(n,{conf:()=>t,language:()=>o});var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4698.bundle.js.LICENSE.txt b/forge/sterling/build/4698.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4698.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/46bdd28f8ee3e7303117.woff b/forge/sterling/build/46bdd28f8ee3e7303117.woff
new file mode 100644
index 000000000..638b47a6d
Binary files /dev/null and b/forge/sterling/build/46bdd28f8ee3e7303117.woff differ
diff --git a/forge/sterling/build/4839.bundle.js b/forge/sterling/build/4839.bundle.js
new file mode 100644
index 000000000..53cb3e2dc
--- /dev/null
+++ b/forge/sterling/build/4839.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4839.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4839],{44839(e,t,n){n.r(t),n.d(t,{setupMode:()=>Yt});var r=n(88349),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,c={};i(c,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))s.call(e,r)||"default"===r||i(e,r,{get:()=>t[r],enumerable:!(n=o(t,r))||n.enumerable})})(c,r);var u,d,l,g,h,f,p,m,v,k,b,C,_,w,y,E,A,x,I,S,T,L,j,O,R,M,P,F,D,N,U,W,V,B,K,z,q,H,X,$,Q,G,J,Y,Z,ee,te,ne,re,ie=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=c.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};(d=u||(u={})).MIN_VALUE=-2147483648,d.MAX_VALUE=2147483647,(g=l||(l={})).MIN_VALUE=0,g.MAX_VALUE=2147483647,(f=h||(h={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=l.MAX_VALUE),t===Number.MAX_VALUE&&(t=l.MAX_VALUE),{line:e,character:t}},f.is=function(e){var t=e;return it.objectLiteral(t)&&it.uinteger(t.line)&&it.uinteger(t.character)},(m=p||(p={})).create=function(e,t,n,r){if(it.uinteger(e)&&it.uinteger(t)&&it.uinteger(n)&&it.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+r+"]")},m.is=function(e){var t=e;return it.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)},(k=v||(v={})).create=function(e,t){return{uri:e,range:t}},k.is=function(e){var t=e;return it.defined(t)&&p.is(t.range)&&(it.string(t.uri)||it.undefined(t.uri))},(C=b||(b={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},C.is=function(e){var t=e;return it.defined(t)&&p.is(t.targetRange)&&it.string(t.targetUri)&&(p.is(t.targetSelectionRange)||it.undefined(t.targetSelectionRange))&&(p.is(t.originSelectionRange)||it.undefined(t.originSelectionRange))},(w=_||(_={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},w.is=function(e){var t=e;return it.numberRange(t.red,0,1)&&it.numberRange(t.green,0,1)&&it.numberRange(t.blue,0,1)&&it.numberRange(t.alpha,0,1)},(E=y||(y={})).create=function(e,t){return{range:e,color:t}},E.is=function(e){var t=e;return p.is(t.range)&&_.is(t.color)},(x=A||(A={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},x.is=function(e){var t=e;return it.string(t.label)&&(it.undefined(t.textEdit)||B.is(t))&&(it.undefined(t.additionalTextEdits)||it.typedArray(t.additionalTextEdits,B.is))},(S=I||(I={})).Comment="comment",S.Imports="imports",S.Region="region",(L=T||(T={})).create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return it.defined(n)&&(o.startCharacter=n),it.defined(r)&&(o.endCharacter=r),it.defined(i)&&(o.kind=i),o},L.is=function(e){var t=e;return it.uinteger(t.startLine)&&it.uinteger(t.startLine)&&(it.undefined(t.startCharacter)||it.uinteger(t.startCharacter))&&(it.undefined(t.endCharacter)||it.uinteger(t.endCharacter))&&(it.undefined(t.kind)||it.string(t.kind))},(O=j||(j={})).create=function(e,t){return{location:e,message:t}},O.is=function(e){var t=e;return it.defined(t)&&v.is(t.location)&&it.string(t.message)},(M=R||(R={})).Error=1,M.Warning=2,M.Information=3,M.Hint=4,(F=P||(P={})).Unnecessary=1,F.Deprecated=2,(D||(D={})).is=function(e){var t=e;return null!=t&&it.string(t.href)},(U=N||(N={})).create=function(e,t,n,r,i,o){var a={range:e,message:t};return it.defined(n)&&(a.severity=n),it.defined(r)&&(a.code=r),it.defined(i)&&(a.source=i),it.defined(o)&&(a.relatedInformation=o),a},U.is=function(e){var t,n=e;return it.defined(n)&&p.is(n.range)&&it.string(n.message)&&(it.number(n.severity)||it.undefined(n.severity))&&(it.integer(n.code)||it.string(n.code)||it.undefined(n.code))&&(it.undefined(n.codeDescription)||it.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(it.string(n.source)||it.undefined(n.source))&&(it.undefined(n.relatedInformation)||it.typedArray(n.relatedInformation,j.is))},(V=W||(W={})).create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},V.is=function(e){var t=e;return it.defined(t)&&it.string(t.title)&&it.string(t.command)},(K=B||(B={})).replace=function(e,t){return{range:e,newText:t}},K.insert=function(e,t){return{range:{start:e,end:e},newText:t}},K.del=function(e){return{range:e,newText:""}},K.is=function(e){var t=e;return it.objectLiteral(t)&&it.string(t.newText)&&p.is(t.range)},(q=z||(z={})).create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},q.is=function(e){var t=e;return void 0!==t&&it.objectLiteral(t)&&it.string(t.label)&&(it.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(it.string(t.description)||void 0===t.description)},(H||(H={})).is=function(e){return"string"==typeof e},($=X||(X={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},$.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},$.del=function(e,t){return{range:e,newText:"",annotationId:t}},$.is=function(e){var t=e;return B.is(t)&&(z.is(t.annotationId)||H.is(t.annotationId))},(G=Q||(Q={})).create=function(e,t){return{textDocument:e,edits:t}},G.is=function(e){var t=e;return it.defined(t)&&ue.is(t.textDocument)&&Array.isArray(t.edits)},(Y=J||(J={})).create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},Y.is=function(e){var t=e;return t&&"create"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||H.is(t.annotationId))},(ee=Z||(Z={})).create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},ee.is=function(e){var t=e;return t&&"rename"===t.kind&&it.string(t.oldUri)&&it.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||it.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||it.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||H.is(t.annotationId))},(ne=te||(te={})).create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},ne.is=function(e){var t=e;return t&&"delete"===t.kind&&it.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||it.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||it.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||H.is(t.annotationId))},(re||(re={})).is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every(function(e){return it.string(e.kind)?J.is(e)||Z.is(e)||te.is(e):Q.is(e)}))};var oe,ae,se,ce,ue,de,le,ge,he,fe,pe,me,ve,ke,be,Ce,_e,we,ye,Ee,Ae,xe,Ie,Se,Te,Le,je,Oe,Re,Me,Pe,Fe,De,Ne,Ue,We,Ve,Be,Ke,ze,qe,He,Xe,$e,Qe,Ge,Je,Ye,Ze,et,tt,nt=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=B.insert(e,t):H.is(n)?(i=n,r=X.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=X.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=B.replace(e,t):H.is(n)?(i=n,r=X.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=X.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=B.del(e):H.is(t)?(r=t,n=X.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=X.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),rt=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(H.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new rt(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(e){if(Q.is(e)){var n=new nt(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(function(n){var r=new nt(e.changes[n]);t._textEditChanges[n]=r})):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(ue.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new nt(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new nt(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new rt,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||H.is(t)?r=t:n=t,void 0===r?i=J.create(e,n):(o=H.is(r)?r:this._changeAnnotations.manage(r),i=J.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,a;if(z.is(n)||H.is(n)?i=n:r=n,void 0===i?o=Z.create(e,t,r):(a=H.is(i)?i:this._changeAnnotations.manage(i),o=Z.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(o),void 0!==a)return a},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(z.is(t)||H.is(t)?r=t:n=t,void 0===r?i=te.create(e,n):(o=H.is(r)?r:this._changeAnnotations.manage(r),i=te.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(ae=oe||(oe={})).create=function(e){return{uri:e}},ae.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)},(ce=se||(se={})).create=function(e,t){return{uri:e,version:t}},ce.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.integer(t.version)},(de=ue||(ue={})).create=function(e,t){return{uri:e,version:t}},de.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&(null===t.version||it.integer(t.version))},(ge=le||(le={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},ge.is=function(e){var t=e;return it.defined(t)&&it.string(t.uri)&&it.string(t.languageId)&&it.integer(t.version)&&it.string(t.text)},(fe=he||(he={})).PlainText="plaintext",fe.Markdown="markdown",function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(he||(he={})),(pe||(pe={})).is=function(e){var t=e;return it.objectLiteral(e)&&he.is(t.kind)&&it.string(t.value)},(ve=me||(me={})).Text=1,ve.Method=2,ve.Function=3,ve.Constructor=4,ve.Field=5,ve.Variable=6,ve.Class=7,ve.Interface=8,ve.Module=9,ve.Property=10,ve.Unit=11,ve.Value=12,ve.Enum=13,ve.Keyword=14,ve.Snippet=15,ve.Color=16,ve.File=17,ve.Reference=18,ve.Folder=19,ve.EnumMember=20,ve.Constant=21,ve.Struct=22,ve.Event=23,ve.Operator=24,ve.TypeParameter=25,(be=ke||(ke={})).PlainText=1,be.Snippet=2,(Ce||(Ce={})).Deprecated=1,(we=_e||(_e={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},we.is=function(e){var t=e;return t&&it.string(t.newText)&&p.is(t.insert)&&p.is(t.replace)},(Ee=ye||(ye={})).asIs=1,Ee.adjustIndentation=2,(Ae||(Ae={})).create=function(e){return{label:e}},(xe||(xe={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Se=Ie||(Ie={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Se.is=function(e){var t=e;return it.string(t)||it.objectLiteral(t)&&it.string(t.language)&&it.string(t.value)},(Te||(Te={})).is=function(e){var t=e;return!!t&&it.objectLiteral(t)&&(pe.is(t.contents)||Ie.is(t.contents)||it.typedArray(t.contents,Ie.is))&&(void 0===e.range||p.is(e.range))},(Le||(Le={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(je||(je={})).create=function(e,t){for(var n=[],r=2;r=0;a--){var s=i[a],c=e.offsetAt(s.range.start),u=e.offsetAt(s.range.end);if(!(u<=o))throw new Error("Overlapping edit");r=r.substring(0,c)+s.newText+r.substring(u,r.length),o=c}return r}}(tt||(tt={}));var it,ot,at,st=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return h.create(0,e);for(;ne?r=i:n=i+1}var o=n-1;return h.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1{let t,n=e.getLanguageId();n===this._languageId&&(this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(t),t=window.setTimeout(()=>this._doValidate(e.uri,n),500)}),this._doValidate(e.uri,n))},i=e=>{c.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(c.editor.onDidCreateModel(r)),this._disposables.push(c.editor.onWillDisposeModel(i)),this._disposables.push(c.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{c.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{c.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),c.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{const r=n.map(e=>function(e,t){let n="number"==typeof t.code?String(t.code):t.code;return{severity:ut(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}(0,e));let i=c.editor.getModel(e);i&&i.getLanguageId()===t&&c.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function ut(e){switch(e){case R.Error:return c.MarkerSeverity.Error;case R.Warning:return c.MarkerSeverity.Warning;case R.Information:return c.MarkerSeverity.Info;case R.Hint:return c.MarkerSeverity.Hint;default:return c.MarkerSeverity.Info}}var dt=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),lt(t))).then(n=>{if(!n)return;const r=e.getWordUntilPosition(t),i=new c.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),o=n.items.map(e=>{const t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:(n=e.command,n&&"editor.action.triggerSuggest"===n.command?{id:n.command,title:n.title,arguments:n.arguments}:void 0),range:i,kind:ft(e.kind)};var n,r;return e.textEdit&&(void 0!==(r=e.textEdit).insert&&void 0!==r.replace?t.range={insert:ht(e.textEdit.insert),replace:ht(e.textEdit.replace)}:t.range=ht(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(pt)),e.insertTextFormat===ke.Snippet&&(t.insertTextRules=c.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:o}})}};function lt(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function gt(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function ht(e){if(e)return new c.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function ft(e){const t=c.languages.CompletionItemKind;switch(e){case me.Text:return t.Text;case me.Method:return t.Method;case me.Function:return t.Function;case me.Constructor:return t.Constructor;case me.Field:return t.Field;case me.Variable:return t.Variable;case me.Class:return t.Class;case me.Interface:return t.Interface;case me.Module:return t.Module;case me.Property:return t.Property;case me.Unit:return t.Unit;case me.Value:return t.Value;case me.Enum:return t.Enum;case me.Keyword:return t.Keyword;case me.Snippet:return t.Snippet;case me.Color:return t.Color;case me.File:return t.File;case me.Reference:return t.Reference}return t.Property}function pt(e){if(e)return{range:ht(e.range),text:e.newText}}var mt=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),lt(t))).then(e=>{if(e)return{range:ht(e.range),contents:kt(e.contents)}})}};function vt(e){return"string"==typeof e?{value:e}:(t=e)&&"object"==typeof t&&"string"==typeof t.kind?"plaintext"===e.kind?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:e.value}:{value:"```"+e.language+"\n"+e.value+"\n```\n"};var t}function kt(e){if(e)return Array.isArray(e)?e.map(vt):[vt(e)]}var bt=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>({name:e.name,detail:"",containerName:e.containerName,kind:Ct(e.kind),range:ht(e.location.range),selectionRange:ht(e.location.range),tags:[]}))})}};function Ct(e){let t=c.languages.SymbolKind;switch(e){case Pe.File:return t.Array;case Pe.Module:return t.Module;case Pe.Namespace:return t.Namespace;case Pe.Package:return t.Package;case Pe.Class:return t.Class;case Pe.Method:return t.Method;case Pe.Property:return t.Property;case Pe.Field:return t.Field;case Pe.Constructor:return t.Constructor;case Pe.Enum:return t.Enum;case Pe.Interface:return t.Interface;case Pe.Function:return t.Function;case Pe.Variable:return t.Variable;case Pe.Constant:return t.Constant;case Pe.String:return t.String;case Pe.Number:return t.Number;case Pe.Boolean:return t.Boolean;case Pe.Array:return t.Array}return t.Function}var _t=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,yt(t)).then(e=>{if(e&&0!==e.length)return e.map(pt)}))}},wt=class{constructor(e){this._worker=e}provideDocumentRangeFormattingEdits(e,t,n,r){const i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),gt(t),yt(n)).then(e=>{if(e&&0!==e.length)return e.map(pt)}))}};function yt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var Et,At=class{constructor(e){this._worker=e}provideDocumentColors(e,t){const n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:ht(e.range)}))})}provideColorPresentations(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,gt(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=pt(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(pt)),t})})}},xt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{const t={start:e.startLine+1,end:e.endLine+1};return void 0!==e.kind&&(t.kind=function(e){switch(e){case I.Comment:return c.languages.FoldingRangeKind.Comment;case I.Imports:return c.languages.FoldingRangeKind.Imports;case I.Region:return c.languages.FoldingRangeKind.Region}}(e.kind)),t})})}},It=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){const r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(lt))).then(e=>{if(e)return e.map(e=>{const t=[];for(;e;)t.push({range:ht(e.range)}),e=e.parent;return t})})}};function St(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function Tt(e){return 10===e||13===e||8232===e||8233===e}function Lt(e){return e>=48&&e<=57}(Et||(Et={})).DEFAULT={allowTrailingComma:!1};function jt(e){return{getInitialState:()=>new Gt(null,null,!1,null),tokenize:(t,n)=>function(e,t,n,r=0){let i=0,o=!1;switch(n.scanError){case 2:t='"'+t,i=1;break;case 1:t="/*"+t,i=2}const a=function(e,t){void 0===t&&(t=!1);var n=e.length,r=0,i="",o=0,a=16,s=0,c=0,u=0,d=0,l=0;function g(t,n){for(var i=0,o=0;i=48&&a<=57)o=16*o+a-48;else if(a>=65&&a<=70)o=16*o+a-65+10;else{if(!(a>=97&&a<=102))break;o=16*o+a-97+10}r++,i++}return i=n)return o=n,a=17;var t=e.charCodeAt(r);if(St(t)){do{r++,i+=String.fromCharCode(t),t=e.charCodeAt(r)}while(St(t));return a=15}if(Tt(t))return r++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(r)&&(r++,i+="\n"),s++,u=r,a=14;switch(t){case 123:return r++,a=1;case 125:return r++,a=2;case 91:return r++,a=3;case 93:return r++,a=4;case 58:return r++,a=6;case 44:return r++,a=5;case 34:return r++,i=function(){for(var t="",i=r;;){if(r>=n){t+=e.substring(i,r),l=2;break}var o=e.charCodeAt(r);if(34===o){t+=e.substring(i,r),r++;break}if(92!==o){if(o>=0&&o<=31){if(Tt(o)){t+=e.substring(i,r),l=2;break}l=6}r++}else{if(t+=e.substring(i,r),++r>=n){l=2;break}switch(e.charCodeAt(r++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var a=g(4,!0);a>=0?t+=String.fromCharCode(a):l=4;break;default:l=5}i=r}}return t}(),a=10;case 47:var h=r-1;if(47===e.charCodeAt(r+1)){for(r+=2;r=12&&e<=15);return e}:h,getToken:function(){return a},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return r-o},getTokenStartLine:function(){return c},getTokenStartCharacter:function(){return o-d},getTokenError:function(){return l}}}(t);let s=n.lastWasColon,c=n.parents;const u={tokens:[],endState:n.clone()};for(;;){let d=r+a.getPosition(),l="";const g=a.scan();if(17===g)break;if(d===r+a.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+t.substr(a.getPosition(),3));switch(o&&(d-=i),o=i>0,g){case 1:c=Qt.push(c,0),l=Mt,s=!1;break;case 2:c=Qt.pop(c),l=Mt,s=!1;break;case 3:c=Qt.push(c,1),l=Pt,s=!1;break;case 4:c=Qt.pop(c),l=Pt,s=!1;break;case 6:l=Ft,s=!0;break;case 5:l=Dt,s=!1;break;case 8:case 9:l=Nt,s=!1;break;case 7:l=Ut,s=!1;break;case 10:const e=c?c.type:0;l=s||1===e?Wt:Bt,s=!1;break;case 11:l=Vt,s=!1}if(e)switch(g){case 12:l=zt;break;case 13:l=Kt}u.endState=new Gt(n.getStateData(),a.getTokenError(),s,c),u.tokens.push({startIndex:d,scopes:l})}return u}(e,t,n)}}var Ot,Rt,Mt="delimiter.bracket.json",Pt="delimiter.array.json",Ft="delimiter.colon.json",Dt="delimiter.comma.json",Nt="keyword.json",Ut="keyword.json",Wt="string.value.json",Vt="number.json",Bt="string.key.json",Kt="comment.block.json",zt="comment.line.json";(Rt=Ot||(Ot={}))[Rt.Object=0]="Object",Rt[Rt.Array=1]="Array";var qt,Ht,Xt,$t,Qt=class{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(e,t){return new Qt(e,t)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},Gt=class{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new Gt(this._state,this.scanError,this.lastWasColon,this.parents)}equals(e){return e===this||!!(e&&e instanceof Gt)&&this.scanError===e.scanError&&this.lastWasColon===e.lastWasColon&&Qt.equals(this.parents,e.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};(Ht=qt||(qt={}))[Ht.None=0]="None",Ht[Ht.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",Ht[Ht.UnexpectedEndOfString=2]="UnexpectedEndOfString",Ht[Ht.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",Ht[Ht.InvalidUnicode=4]="InvalidUnicode",Ht[Ht.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",Ht[Ht.InvalidCharacter=6]="InvalidCharacter",($t=Xt||(Xt={}))[$t.OpenBraceToken=1]="OpenBraceToken",$t[$t.CloseBraceToken=2]="CloseBraceToken",$t[$t.OpenBracketToken=3]="OpenBracketToken",$t[$t.CloseBracketToken=4]="CloseBracketToken",$t[$t.CommaToken=5]="CommaToken",$t[$t.ColonToken=6]="ColonToken",$t[$t.NullKeyword=7]="NullKeyword",$t[$t.TrueKeyword=8]="TrueKeyword",$t[$t.FalseKeyword=9]="FalseKeyword",$t[$t.StringLiteral=10]="StringLiteral",$t[$t.NumericLiteral=11]="NumericLiteral",$t[$t.LineCommentTrivia=12]="LineCommentTrivia",$t[$t.BlockCommentTrivia=13]="BlockCommentTrivia",$t[$t.LineBreakTrivia=14]="LineBreakTrivia",$t[$t.Trivia=15]="Trivia",$t[$t.Unknown=16]="Unknown",$t[$t.EOF=17]="EOF";var Jt=class extends ct{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(c.editor.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(c.editor.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function Yt(e){const t=[],n=[],r=new ie(e);t.push(r);const i=(...e)=>r.getLanguageServiceWorker(...e);function o(){const{languageId:t,modeConfiguration:r}=e;en(n),r.documentFormattingEdits&&n.push(c.languages.registerDocumentFormattingEditProvider(t,new _t(i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(t,new wt(i))),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(t,new dt(i,[" ",":",'"']))),r.hovers&&n.push(c.languages.registerHoverProvider(t,new mt(i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(t,new bt(i))),r.tokens&&n.push(c.languages.setTokensProvider(t,jt(!0))),r.colors&&n.push(c.languages.registerColorProvider(t,new At(i))),r.foldingRanges&&n.push(c.languages.registerFoldingRangeProvider(t,new xt(i))),r.diagnostics&&n.push(new Jt(t,i,e)),r.selectionRanges&&n.push(c.languages.registerSelectionRangeProvider(t,new It(i)))}o(),t.push(c.languages.setLanguageConfiguration(e.languageId,tn));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,o())}),t.push(Zt(n)),Zt(t)}function Zt(e){return{dispose:()=>en(e)}}function en(e){for(;e.length;)e.pop().dispose()}var tn={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4839.bundle.js.LICENSE.txt b/forge/sterling/build/4839.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4839.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4958.bundle.js b/forge/sterling/build/4958.bundle.js
new file mode 100644
index 000000000..a896f0634
--- /dev/null
+++ b/forge/sterling/build/4958.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4958.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4958],{34958(e,t,n){n.r(t),n.d(t,{conf:()=>r,language:()=>i});var r={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4958.bundle.js.LICENSE.txt b/forge/sterling/build/4958.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4958.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4962.bundle.js b/forge/sterling/build/4962.bundle.js
new file mode 100644
index 000000000..ea1eefb59
--- /dev/null
+++ b/forge/sterling/build/4962.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 4962.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[4962],{44962(e,o,n){n.r(o),n.d(o,{conf:()=>t,language:()=>r});var t={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},r={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/4962.bundle.js.LICENSE.txt b/forge/sterling/build/4962.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/4962.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/4e2d70e20e00ee96fda2.woff2 b/forge/sterling/build/4e2d70e20e00ee96fda2.woff2
new file mode 100644
index 000000000..bc31903ac
Binary files /dev/null and b/forge/sterling/build/4e2d70e20e00ee96fda2.woff2 differ
diff --git a/forge/sterling/build/4fd56c77e5b7bda02e5a.woff2 b/forge/sterling/build/4fd56c77e5b7bda02e5a.woff2
new file mode 100644
index 000000000..b3c1596db
Binary files /dev/null and b/forge/sterling/build/4fd56c77e5b7bda02e5a.woff2 differ
diff --git a/forge/sterling/build/5130.bundle.js b/forge/sterling/build/5130.bundle.js
new file mode 100644
index 000000000..ea54a17d7
--- /dev/null
+++ b/forge/sterling/build/5130.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 5130.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[5130],{5130(e,t,i){i.r(t),i.d(t,{conf:()=>o,language:()=>n});var o={comments:{lineComment:"COMMENT"},brackets:[["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:":",close:"."}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"},{open:":",close:"."}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),end:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")}}},n={tokenPostfix:".lexon",ignoreCase:!0,keywords:["lexon","lex","clause","terms","contracts","may","pay","pays","appoints","into","to"],typeKeywords:["amount","person","key","time","date","asset","text"],operators:["less","greater","equal","le","gt","or","and","add","added","subtract","subtracted","multiply","multiplied","times","divide","divided","is","be","certified"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d*\.\d*/,"number.semver"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"]],quoted_identifier:[[/[^\\"]+/,"identifier"],[/"/,{token:"identifier.quote",bracket:"@close",next:"@pop"}]],space_identifier_until_period:[[":","delimiter"],[" ",{token:"white",next:"@identifier_rest"}]],identifier_until_period:[{include:"@whitespace"},[":",{token:"delimiter",next:"@identifier_rest"}],[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],identifier_rest:[[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],semver:[{include:"@whitespace"},[":","delimiter"],[/\d*\.\d*\.\d*/,{token:"number.semver",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/5130.bundle.js.LICENSE.txt b/forge/sterling/build/5130.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/5130.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/5196.bundle.js b/forge/sterling/build/5196.bundle.js
new file mode 100644
index 000000000..00d6ad4dd
--- /dev/null
+++ b/forge/sterling/build/5196.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 5196.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[5196],{45196(e,t,n){n.r(t),n.d(t,{conf:()=>c,language:()=>p});var s=n(88349),r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,a={};r(a,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of i(t))l.call(e,s)||"default"===s||r(e,s,{get:()=>t[s],enumerable:!(n=o(t,s))||n.enumerable})})(a,s);var c={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),action:{indentAction:a.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},p={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","and","as","assert","async","await","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","print","raise","return","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/5196.bundle.js.LICENSE.txt b/forge/sterling/build/5196.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/5196.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/5364.bundle.js b/forge/sterling/build/5364.bundle.js
new file mode 100644
index 000000000..ed0a582ee
--- /dev/null
+++ b/forge/sterling/build/5364.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 5364.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[5364],{25364(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>s});var o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/5364.bundle.js.LICENSE.txt b/forge/sterling/build/5364.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/5364.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/5550.bundle.js b/forge/sterling/build/5550.bundle.js
new file mode 100644
index 000000000..81de62f8a
--- /dev/null
+++ b/forge/sterling/build/5550.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 5550.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[5550,6830],{65550(e,t,n){n.r(t),n.d(t,{conf:()=>r,language:()=>i});var o=n(86830),r=o.conf,i={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:o.language.operators,symbols:o.language.symbols,escapes:o.language.escapes,digits:o.language.digits,octaldigits:o.language.octaldigits,binarydigits:o.language.binarydigits,hexdigits:o.language.hexdigits,regexpctl:o.language.regexpctl,regexpesc:o.language.regexpesc,tokenizer:o.language.tokenizer}},86830(e,t,n){n.r(t),n.d(t,{conf:()=>g,language:()=>l});var o=n(88349),r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,c={};r(c,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))a.call(e,o)||"default"===o||r(e,o,{get:()=>t[o],enumerable:!(n=i(t,o))||n.enumerable})})(c,o);var g={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:c.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:c.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:c.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:c.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},l={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","package","private","protected","public","override","readonly","require","global","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","",">>",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/5550.bundle.js.LICENSE.txt b/forge/sterling/build/5550.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/5550.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/558.bundle.js b/forge/sterling/build/558.bundle.js
new file mode 100644
index 000000000..5214025b5
--- /dev/null
+++ b/forge/sterling/build/558.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 558.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[558],{70558(e,_,t){t.r(_),t.d(_,{conf:()=>r,language:()=>i});var r={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},i={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","AZ64","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LANGUAGE","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY16","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/558.bundle.js.LICENSE.txt b/forge/sterling/build/558.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/558.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/5618.bundle.js b/forge/sterling/build/5618.bundle.js
new file mode 100644
index 000000000..692d4d852
--- /dev/null
+++ b/forge/sterling/build/5618.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 5618.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[5618],{25618(e,t,o){o.r(t),o.d(t,{conf:()=>n,language:()=>s});var n={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={keywords:["namespace","open","as","operation","function","body","adjoint","newtype","controlled","if","elif","else","repeat","until","fixup","for","in","while","return","fail","within","apply","Adjoint","Controlled","Adj","Ctl","is","self","auto","distribute","invert","intrinsic","let","set","w/","new","not","and","or","use","borrow","using","borrowing","mutable"],typeKeywords:["Unit","Int","BigInt","Double","Bool","String","Qubit","Result","Pauli","Range"],invalidKeywords:["abstract","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","enum","event","explicit","extern","finally","fixed","float","foreach","goto","implicit","int","interface","lock","long","null","object","operator","out","override","params","private","protected","public","readonly","ref","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","try","typeof","unit","ulong","unchecked","unsafe","ushort","virtual","void","volatile"],constants:["true","false","PauliI","PauliX","PauliY","PauliZ","One","Zero"],builtin:["X","Y","Z","H","HY","S","T","SWAP","CNOT","CCNOT","MultiX","R","RFrac","Rx","Ry","Rz","R1","R1Frac","Exp","ExpFrac","Measure","M","MultiM","Message","Length","Assert","AssertProb","AssertEqual"],operators:["and=","<-","->","*","*=","@","!","^","^=",":","::","..","==","...","=","=>",">",">=","<","<=","-","-=","!=","or=","%","%=","|","+","+=","?","/","/=","&&&","&&&=","^^^","^^^=",">>>",">>>=","<<<","<<<=","|||","|||=","~~~","_","w/","w/="],namespaceFollows:["namespace","open"],symbols:/[=>N,language:()=>R});var N={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]}]},R={defaultToken:"",tokenPostfix:".msdax",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N"/,{token:"string",next:"@string"}],[/"/,{token:"string",next:"@string"}]],string:[[/[^"]+/,"string"],[/""/,"string"],[/"/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/'/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^']+/,"identifier"],[/''/,"identifier"],[/'/,{token:"identifier.quote",next:"@pop"}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/5786.bundle.js.LICENSE.txt b/forge/sterling/build/5786.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/5786.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6018.bundle.js b/forge/sterling/build/6018.bundle.js
new file mode 100644
index 000000000..c6808e1ed
--- /dev/null
+++ b/forge/sterling/build/6018.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6018.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6018],{26018(e,t,n){n.r(t),n.d(t,{conf:()=>i,language:()=>r});var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*\\$/,"comment","@linecomment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],linecomment:[[/.*[^\\]$/,"comment","@pop"],[/[^]+/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t"]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],annotation:[{include:"@whitespace"},[/using|alignas/,"keyword"],[/[a-zA-Z0-9_]+/,"annotation"],[/[,:]/,"delimiter"],[/[()]/,"@brackets"],[/\]\s*\]/,{token:"annotation",next:"@pop"}]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6018.bundle.js.LICENSE.txt b/forge/sterling/build/6018.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6018.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6185.bundle.js b/forge/sterling/build/6185.bundle.js
new file mode 100644
index 000000000..870a122e6
--- /dev/null
+++ b/forge/sterling/build/6185.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6185.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6185],{88566(e,s,o){o.r(s),o.d(s,{conf:()=>t,language:()=>n});var t={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},n={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=>n,language:()=>i});var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*(#|//)region\\b"),end:new RegExp("^\\s*(#|//)endregion\\b")}}},i={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/,"delimiter.html"],[/[^<]+/]],doctype:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/(#|\/\/)$/,"comment.php"],[/(#|\/\/)/,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6302.bundle.js.LICENSE.txt b/forge/sterling/build/6302.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6302.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6414.bundle.js b/forge/sterling/build/6414.bundle.js
new file mode 100644
index 000000000..bb3dbe4cf
--- /dev/null
+++ b/forge/sterling/build/6414.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6414.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6414],{26414(e,t,n){n.r(t),n.d(t,{conf:()=>o,language:()=>s});var o={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=>r,language:()=>n});var r={wordPattern:/(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},n={tokenPostfix:".scala",keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],softKeywords:["as","export","extension","end","derives","on"],constants:["true","false","null","this","super"],modifiers:["abstract","final","implicit","lazy","override","private","protected","sealed"],softModifiers:["inline","opaque","open","transparent","using"],name:/(?:[a-z_$][\w$]*|`[^`]+`)/,type:/(?:[A-Z][\w$]*)/,symbols:/[=>))/,["@brackets","white","variable"]],[/@name/,{cases:{"@keywords":"keyword","@softKeywords":"keyword","@modifiers":"keyword.modifier","@softModifiers":"keyword.modifier","@constants":{token:"constant",next:"@allowMethod"},"@default":{token:"identifier",next:"@allowMethod"}}}],[/@type/,"type","@allowMethod"],{include:"@whitespace"},[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/,"annotation"],[/[{(]/,"@brackets"],[/[})]/,"@brackets","@allowMethod"],[/\[/,"operator.square"],[/](?!\s*(?:va[rl]|def|type)\b)/,"operator.square","@allowMethod"],[/]/,"operator.square"],[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/,"keyword"],[/@symbols/,"operator"],[/[;,\.]/,"delimiter"],[/'[a-zA-Z$][\w$]*(?!')/,"attribute.name"],[/'[^\\']'/,"string","@allowMethod"],[/(')(@escapes)(')/,["string","string.escape",{token:"string",next:"@allowMethod"}]],[/'/,"string.invalid"]],import:[[/;/,"delimiter","@pop"],[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/@name|@type/,"type"],[/[(){}]/,"@brackets"],[/[[\]]/,"operator.square"],[/[\.,]/,"delimiter"]],allowMethod:[[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/(?==>[\s\w([{])/,"keyword","@pop"],[/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,{cases:{"@keywords":{token:"keyword",next:"@pop"},"->|<-|>:|<:|<%":{token:"keyword",next:"@pop"},"@default":{token:"@rematch",next:"@pop"}}}],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],case:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword","@allowMethod"],[/\bif\b|=>/,"keyword","@pop"],[/`[^`]+`/,"identifier","@allowMethod"],[/@name/,"variable","@allowMethod"],[/:::?|\||@(?![a-z_$])/,"keyword"],{include:"@root"}],vardef:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword"],[/@name/,"variable"],[/:::?|\||@(?![a-z_$])/,"keyword"],[/=|:(?!:)/,"operator","@pop"],[/$/,"white","@pop"],{include:"@root"}],string:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],stringt:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],fstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],fstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],sstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],sstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],interp:[[/{/,"operator","@push"],[/}/,"operator","@pop"],{include:"@root"}],rawstring:[[/[^"]/,"string"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],rawstringt:[[/[^"]/,"string"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6446.bundle.js.LICENSE.txt b/forge/sterling/build/6446.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6446.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6590.bundle.js b/forge/sterling/build/6590.bundle.js
new file mode 100644
index 000000000..b0a9636e6
--- /dev/null
+++ b/forge/sterling/build/6590.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6590.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6590],{26590(e,t,a){a.r(t),a.d(t,{conf:()=>n,language:()=>i});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},i={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6590.bundle.js.LICENSE.txt b/forge/sterling/build/6590.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6590.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6830.bundle.js b/forge/sterling/build/6830.bundle.js
new file mode 100644
index 000000000..00e8b2fea
--- /dev/null
+++ b/forge/sterling/build/6830.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6830.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6830],{86830(e,t,n){n.r(t),n.d(t,{conf:()=>p,language:()=>g});var o=n(88349),r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,a={};r(a,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))c.call(e,o)||"default"===o||r(e,o,{get:()=>t[o],enumerable:!(n=i(t,o))||n.enumerable})})(a,o);var p={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:a.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:a.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:a.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:a.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},g={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","package","private","protected","public","override","readonly","require","global","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","",">>",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6830.bundle.js.LICENSE.txt b/forge/sterling/build/6830.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6830.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6940.bundle.js b/forge/sterling/build/6940.bundle.js
new file mode 100644
index 000000000..ee2ac8926
--- /dev/null
+++ b/forge/sterling/build/6940.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6940.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6940],{56940(e,t,o){o.r(t),o.d(t,{conf:()=>r,language:()=>n});var r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["{","}"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"),end:new RegExp("^\\s*\\{\\$ENDREGION\\}")}}},n={defaultToken:"",tokenPostfix:".pascal",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["absolute","abstract","all","and_then","array","as","asm","attribute","begin","bindable","case","class","const","contains","default","div","else","end","except","exports","external","far","file","finalization","finally","forward","generic","goto","if","implements","import","in","index","inherited","initialization","interrupt","is","label","library","mod","module","name","near","not","object","of","on","only","operator","or_else","otherwise","override","package","packed","pow","private","program","protected","public","published","interface","implementation","qualified","read","record","resident","requires","resourcestring","restricted","segment","set","shl","shr","specialize","stored","strict","then","threadvar","to","try","type","unit","uses","var","view","virtual","dynamic","overload","reintroduce","with","write","xor","true","false","procedure","function","constructor","destructor","property","break","continue","exit","abort","while","do","for","raise","repeat","until"],typeKeywords:["boolean","double","byte","integer","shortint","char","longint","float","string"],operators:["=",">","<","<=",">=","<>",":",":=","and","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\*\}]+/,"comment"],[/\}/,"comment","@pop"],[/[\{]/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\{/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6940.bundle.js.LICENSE.txt b/forge/sterling/build/6940.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6940.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/6990.bundle.js b/forge/sterling/build/6990.bundle.js
new file mode 100644
index 000000000..0b4b0f799
--- /dev/null
+++ b/forge/sterling/build/6990.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 6990.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[6990],{26990(e,n,t){t.r(n),t.d(n,{conf:()=>r,language:()=>o});var r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0}},o={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|.*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/[^#]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/6990.bundle.js.LICENSE.txt b/forge/sterling/build/6990.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/6990.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7048.bundle.js b/forge/sterling/build/7048.bundle.js
new file mode 100644
index 000000000..7bd47d65f
--- /dev/null
+++ b/forge/sterling/build/7048.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7048.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7048],{67048(e,t,s){s.r(t),s.d(t,{conf:()=>o,language:()=>i});var o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},n=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach(e=>{n.push(e),n.push(e.toUpperCase()),n.push((e=>e.charAt(0).toUpperCase()+e.substr(1))(e))});var i={defaultToken:"",tokenPostfix:".apex",keywords:n,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7048.bundle.js.LICENSE.txt b/forge/sterling/build/7048.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7048.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7200.bundle.js b/forge/sterling/build/7200.bundle.js
new file mode 100644
index 000000000..ec89998cc
--- /dev/null
+++ b/forge/sterling/build/7200.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7200.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7200],{77200(e,t,s){s.r(t),s.d(t,{conf:()=>n,language:()=>i});var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},i={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false","yield","record","sealed","non-sealed","permits"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7200.bundle.js.LICENSE.txt b/forge/sterling/build/7200.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7200.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7246.bundle.js b/forge/sterling/build/7246.bundle.js
new file mode 100644
index 000000000..e1d1491ba
--- /dev/null
+++ b/forge/sterling/build/7246.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7246.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7246],{67246(e,n,s){s.r(n),s.d(n,{conf:()=>i,language:()=>t});var i={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},t={defaultToken:"",tokenPostfix:".rst",control:/[\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],alphanumerics:/[A-Za-z0-9]/,simpleRefNameWithoutBq:/(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,simpleRefName:/(?:`@phrase`|@simpleRefNameWithoutBq)/,phrase:/@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,citationName:/[A-Za-z][A-Za-z0-9-_.]*/,blockLiteralStart:/(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,precedingChars:/(?:[ -:/'"<([{])/,followingChars:/(?:[ -.,:;!?/'")\]}>]|$)/,punctuation:/(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,tokenizer:{root:[[/^(@punctuation{3,}$){1,1}?/,"keyword"],[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/,"keyword"],[/([ ]::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],[/(::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],{include:"@tables"},{include:"@explicitMarkupBlocks"},{include:"@inlineMarkup"}],explicitMarkupBlocks:[{include:"@citations"},{include:"@footnotes"},[/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,[{token:"",next:"subsequentLines"},"keyword","",""]],[/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,[{token:"",next:"hyperlinks"},"","","string.link","","","string.link"]],[/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,[{token:"",next:"subsequentLines"},"","","","string.link"]],[/^(__\s+)(.+)/,["","string.link"]],[/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,[{token:"",next:"subsequentLines"},"","string.link","","keyword",""],"@rawBlocks"],[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/,["","string.link",""]],[/^(\.\.)([ ].*)$/,[{token:"",next:"@comments"},"comment"]]],inlineMarkup:[{include:"@citationsReference"},{include:"@footnotesReference"},[/(@simpleRefName)(_{1,2})/,["string.link",""]],[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/,["","string.link","","string.link","","",""]],[/\*\*([^\\*]|\*(?!\*))+\*\*/,"strong"],[/\*[^*]+\*/,"emphasis"],[/(``)((?:[^`]|\`(?!`))+)(``)/,["","keyword",""]],[/(__\s+)(.+)/,["","keyword"]],[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/,["","keyword","","",""]],[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/,["","","","keyword",""]],[/(`)([^`]+)(`)/,""],[/(_`)(@phrase)(`)/,["","string.link",""]]],citations:[[/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],citationsReference:[[/(\[)(@citationName)(\]_)/,["","string.link",""]]],footnotes:[[/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,[{token:"",next:"@subsequentLines"},"string.link",""]],[/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]],[/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],footnotesReference:[[/(\[)([0-9]+)(\])(_)/,["","string.link","",""]],[/(\[)(#@simpleRefName?)(\])(_)/,["","string.link","",""]],[/(\[)(\*)(\])(_)/,["","string.link","",""]]],blankLineOfLiteralBlocks:[[/^$/,"","@subsequentLinesOfLiteralBlocks"],[/^.*$/,"","@pop"]],subsequentLinesOfLiteralBlocks:[[/(@blockLiteralStart+)(.*)/,["keyword",""]],[/^(?!blockLiteralStart)/,"","@popall"]],subsequentLines:[[/^[\s]+.*/,""],[/^(?!\s)/,"","@pop"]],hyperlinks:[[/^[\s]+.*/,"string.link"],[/^(?!\s)/,"","@pop"]],comments:[[/^[\s]+.*/,"comment"],[/^(?!\s)/,"","@pop"]],tables:[[/\+-[+-]+/,"keyword"],[/\+=[+=]+/,"keyword"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7246.bundle.js.LICENSE.txt b/forge/sterling/build/7246.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7246.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7466.bundle.js b/forge/sterling/build/7466.bundle.js
new file mode 100644
index 000000000..7335ce8ea
--- /dev/null
+++ b/forge/sterling/build/7466.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7466.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7466],{77466(E,T,S){S.r(T),S.d(T,{conf:()=>R,language:()=>A});var R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","AsWKB","ASCII","ASIN","AsText","AsWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","ATAN","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CAST","CEIL","CEILING","Centroid","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","Crosses","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","DENSE_RANK","Dimension","Disjoint","Distance","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEN_RANGE","GEN_RND_EMAIL","GEN_RND_PAN","GEN_RND_SSN","GEN_RND_US_PHONE","GeomCollection","GeomCollFromText","GeometryCollectionFromText","GeomCollFromWKB","GeometryCollectionFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeometryFromText","GeomFromWKB","GeometryFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","InteriorRingN","Intersects","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","IsClosed","IsEmpty","ISNULL","IsSimple","JSON_APPEND","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LineFromText","LineStringFromText","LineFromWKB","LineStringFromWKB","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASK_INNER","MASK_OUTER","MASK_PAN","MASK_PAN_RELAXED","MASK_SSN","MASTER_POS_WAIT","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREqual","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MLineFromText","MultiLineStringFromText","MLineFromWKB","MultiLineStringFromWKB","MOD","MONTH","MONTHNAME","MPointFromText","MultiPointFromText","MPointFromWKB","MultiPointFromWKB","MPolyFromText","MultiPolygonFromText","MPolyFromWKB","MultiPolygonFromWKB","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOT IN","NOW","NTH_VALUE","NTILE","NULLIF","NumGeometries","NumInteriorRings","NumPoints","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","Overlaps","PASSWORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","Point","PointFromText","PointFromWKB","PointN","PolyFromText","PolygonFromText","PolyFromWKB","PolygonFromWKB","Polygon","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","PROCEDURE ANALYSE","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_REPLACE","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOURCE_POS_WAIT","SPACE","SQRT","SRID","ST_Area","ST_AsBinary","ST_AsWKB","ST_AsGeoJSON","ST_AsText","ST_AsWKT","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Collect","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_FrechetDistance","ST_GeoHash","ST_GeomCollFromText","ST_GeometryCollectionFromText","ST_GeomCollFromTxt","ST_GeomCollFromWKB","ST_GeometryCollectionFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeometryFromText","ST_GeomFromWKB","ST_GeometryFromWKB","ST_HausdorffDistance","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Length","ST_LineFromText","ST_LineStringFromText","ST_LineFromWKB","ST_LineStringFromWKB","ST_LineInterpolatePoint","ST_LineInterpolatePoints","ST_LongFromGeoHash","ST_Longitude","ST_MakeEnvelope","ST_MLineFromText","ST_MultiLineStringFromText","ST_MLineFromWKB","ST_MultiLineStringFromWKB","ST_MPointFromText","ST_MultiPointFromText","ST_MPointFromWKB","ST_MultiPointFromWKB","ST_MPolyFromText","ST_MultiPolygonFromText","ST_MPolyFromWKB","ST_MultiPolygonFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumInteriorRings","ST_NumPoints","ST_Overlaps","ST_PointAtDistance","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolygonFromText","ST_PolyFromWKB","ST_PolygonFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SwapXY","ST_SymDifference","ST_Touches","ST_Transform","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","StartPoint","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","Touches","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","Within","X","Y","YEAR","YEARWEEK"],builtinVariables:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/#+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],complexIdentifiers:[[/`/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,"identifier"],[/``/,"identifier"],[/`/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7466.bundle.js.LICENSE.txt b/forge/sterling/build/7466.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7466.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/747b78cb19a7f0acdae0.woff b/forge/sterling/build/747b78cb19a7f0acdae0.woff
new file mode 100644
index 000000000..34bf69b0b
Binary files /dev/null and b/forge/sterling/build/747b78cb19a7f0acdae0.woff differ
diff --git a/forge/sterling/build/77e228b198be4615d5ca.woff b/forge/sterling/build/77e228b198be4615d5ca.woff
new file mode 100644
index 000000000..e9495ca6f
Binary files /dev/null and b/forge/sterling/build/77e228b198be4615d5ca.woff differ
diff --git a/forge/sterling/build/7836.bundle.js b/forge/sterling/build/7836.bundle.js
new file mode 100644
index 000000000..46628ff1f
--- /dev/null
+++ b/forge/sterling/build/7836.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7836.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7836],{97836(e,t,n){n.r(t),n.d(t,{conf:()=>d,language:()=>c});var a=n(88349),r=Object.defineProperty,l=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={};r(o,"__esModule",{value:!0}),((e,t,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of m(t))i.call(e,a)||"default"===a||r(e,a,{get:()=>t[a],enumerable:!(n=l(t,a))||n.enumerable})})(o,a);var s=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${s.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:o.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${s.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:o.languages.IndentAction.Indent}}]},c={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7836.bundle.js.LICENSE.txt b/forge/sterling/build/7836.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7836.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7886.bundle.js b/forge/sterling/build/7886.bundle.js
new file mode 100644
index 000000000..627cd6389
--- /dev/null
+++ b/forge/sterling/build/7886.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 7886.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[7886],{57886(e,t,s){s.r(t),s.d(t,{conf:()=>r,language:()=>n});var r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},n={defaultToken:"",tokenPostfix:".perl",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["__DATA__","else","lock","__END__","elsif","lt","__FILE__","eq","__LINE__","exp","ne","sub","__PACKAGE__","for","no","and","foreach","or","unless","cmp","ge","package","until","continue","gt","while","CORE","if","xor","do","le","__DIE__","__WARN__"],builtinFunctions:["-A","END","length","setpgrp","-B","endgrent","link","setpriority","-b","endhostent","listen","setprotoent","-C","endnetent","local","setpwent","-c","endprotoent","localtime","setservent","-d","endpwent","log","setsockopt","-e","endservent","lstat","shift","-f","eof","map","shmctl","-g","eval","mkdir","shmget","-k","exec","msgctl","shmread","-l","exists","msgget","shmwrite","-M","exit","msgrcv","shutdown","-O","fcntl","msgsnd","sin","-o","fileno","my","sleep","-p","flock","next","socket","-r","fork","not","socketpair","-R","format","oct","sort","-S","formline","open","splice","-s","getc","opendir","split","-T","getgrent","ord","sprintf","-t","getgrgid","our","sqrt","-u","getgrnam","pack","srand","-w","gethostbyaddr","pipe","stat","-W","gethostbyname","pop","state","-X","gethostent","pos","study","-x","getlogin","print","substr","-z","getnetbyaddr","printf","symlink","abs","getnetbyname","prototype","syscall","accept","getnetent","push","sysopen","alarm","getpeername","quotemeta","sysread","atan2","getpgrp","rand","sysseek","AUTOLOAD","getppid","read","system","BEGIN","getpriority","readdir","syswrite","bind","getprotobyname","readline","tell","binmode","getprotobynumber","readlink","telldir","bless","getprotoent","readpipe","tie","break","getpwent","recv","tied","caller","getpwnam","redo","time","chdir","getpwuid","ref","times","CHECK","getservbyname","rename","truncate","chmod","getservbyport","require","uc","chomp","getservent","reset","ucfirst","chop","getsockname","return","umask","chown","getsockopt","reverse","undef","chr","glob","rewinddir","UNITCHECK","chroot","gmtime","rindex","unlink","close","goto","rmdir","unpack","closedir","grep","say","unshift","connect","hex","scalar","untie","cos","index","seek","use","crypt","INIT","seekdir","utime","dbmclose","int","select","values","dbmopen","ioctl","semctl","vec","defined","join","semget","wait","delete","keys","semop","waitpid","DESTROY","kill","send","wantarray","die","last","setgrent","warn","dump","lc","sethostent","write","each","lcfirst","setnetent"],builtinFileHandlers:["ARGV","STDERR","STDOUT","ARGVOUT","STDIN","ENV"],builtinVariables:["$!","$^RE_TRIE_MAXBUF","$LAST_REGEXP_CODE_RESULT",'$"',"$^S","$LIST_SEPARATOR","$#","$^T","$MATCH","$$","$^TAINT","$MULTILINE_MATCHING","$%","$^UNICODE","$NR","$&","$^UTF8LOCALE","$OFMT","$'","$^V","$OFS","$(","$^W","$ORS","$)","$^WARNING_BITS","$OS_ERROR","$*","$^WIDE_SYSTEM_CALLS","$OSNAME","$+","$^X","$OUTPUT_AUTO_FLUSH","$,","$_","$OUTPUT_FIELD_SEPARATOR","$-","$`","$OUTPUT_RECORD_SEPARATOR","$.","$a","$PERL_VERSION","$/","$ACCUMULATOR","$PERLDB","$0","$ARG","$PID","$:","$ARGV","$POSTMATCH","$;","$b","$PREMATCH","$<","$BASETIME","$PROCESS_ID","$=","$CHILD_ERROR","$PROGRAM_NAME","$>","$COMPILING","$REAL_GROUP_ID","$?","$DEBUGGING","$REAL_USER_ID","$@","$EFFECTIVE_GROUP_ID","$RS","$[","$EFFECTIVE_USER_ID","$SUBSCRIPT_SEPARATOR","$\\","$EGID","$SUBSEP","$]","$ERRNO","$SYSTEM_FD_MAX","$^","$EUID","$UID","$^A","$EVAL_ERROR","$WARNING","$^C","$EXCEPTIONS_BEING_CAUGHT","$|","$^CHILD_ERROR_NATIVE","$EXECUTABLE_NAME","$~","$^D","$EXTENDED_OS_ERROR","%!","$^E","$FORMAT_FORMFEED","%^H","$^ENCODING","$FORMAT_LINE_BREAK_CHARACTERS","%ENV","$^F","$FORMAT_LINES_LEFT","%INC","$^H","$FORMAT_LINES_PER_PAGE","%OVERLOAD","$^I","$FORMAT_NAME","%SIG","$^L","$FORMAT_PAGE_NUMBER","@+","$^M","$FORMAT_TOP_NAME","@-","$^N","$GID","@_","$^O","$INPLACE_EDIT","@ARGV","$^OPEN","$INPUT_LINE_NUMBER","@INC","$^P","$INPUT_RECORD_SEPARATOR","@LAST_MATCH_START","$^R","$LAST_MATCH_END","$^RE_DEBUG_FLAGS","$LAST_PAREN_MATCH"],symbols:/[:+\-\^*$&%@=<>!?|\/~\.]/,quoteLikeOps:["qr","m","s","q","qq","qx","qw","tr","y"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/[a-zA-Z\-_][\w\-_]*/,{cases:{"@keywords":"keyword","@builtinFunctions":"type.identifier","@builtinFileHandlers":"variable.predefined","@quoteLikeOps":{token:"@rematch",next:"quotedConstructs"},"@default":""}}],[/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/,{cases:{"@builtinVariables":"variable.predefined","@default":"variable"}}],{include:"@strings"},{include:"@dblStrings"},{include:"@perldoc"},{include:"@heredoc"},[/[{}\[\]()]/,"@brackets"],[/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/,"regexp"],[/@symbols/,"operators"],{include:"@numbers"},[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"],[/(^#!.*$)/,"metatag"],[/(^#.*$)/,"comment"]],numbers:[[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"]],strings:[[/'/,"string","@stringBody"]],stringBody:[[/'/,"string","@popall"],[/\\'/,"string.escape"],[/./,"string"]],dblStrings:[[/"/,"string","@dblStringBody"]],dblStringBody:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],{include:"@variables"},[/./,"string"]],quotedConstructs:[[/(q|qw|tr|y)\s*\(/,{token:"string.delim",switchTo:"@qstring.(.)"}],[/(q|qw|tr|y)\s*\[/,{token:"string.delim",switchTo:"@qstring.[.]"}],[/(q|qw|tr|y)\s*\{/,{token:"string.delim",switchTo:"@qstring.{.}"}],[/(q|qw|tr|y)\s*,{token:"string.delim",switchTo:"@qstring.<.>"}],[/(q|qw|tr|y)#/,{token:"string.delim",switchTo:"@qstring.#.#"}],[/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/,{token:"string.delim",switchTo:"@qstring.$2.$2"}],[/(q|qw|tr|y)\s+(\w)/,{token:"string.delim",switchTo:"@qstring.$2.$2"}],[/(qr|m|s)\s*\(/,{token:"regexp.delim",switchTo:"@qregexp.(.)"}],[/(qr|m|s)\s*\[/,{token:"regexp.delim",switchTo:"@qregexp.[.]"}],[/(qr|m|s)\s*\{/,{token:"regexp.delim",switchTo:"@qregexp.{.}"}],[/(qr|m|s)\s*,{token:"regexp.delim",switchTo:"@qregexp.<.>"}],[/(qr|m|s)#/,{token:"regexp.delim",switchTo:"@qregexp.#.#"}],[/(qr|m|s)\s*([^A-Za-z0-9_#\s])/,{token:"regexp.delim",switchTo:"@qregexp.$2.$2"}],[/(qr|m|s)\s+(\w)/,{token:"regexp.delim",switchTo:"@qregexp.$2.$2"}],[/(qq|qx)\s*\(/,{token:"string.delim",switchTo:"@qqstring.(.)"}],[/(qq|qx)\s*\[/,{token:"string.delim",switchTo:"@qqstring.[.]"}],[/(qq|qx)\s*\{/,{token:"string.delim",switchTo:"@qqstring.{.}"}],[/(qq|qx)\s*,{token:"string.delim",switchTo:"@qqstring.<.>"}],[/(qq|qx)#/,{token:"string.delim",switchTo:"@qqstring.#.#"}],[/(qq|qx)\s*([^A-Za-z0-9#\s])/,{token:"string.delim",switchTo:"@qqstring.$2.$2"}],[/(qq|qx)\s+(\w)/,{token:"string.delim",switchTo:"@qqstring.$2.$2"}]],qstring:[[/\\./,"string.escape"],[/./,{cases:{"$#==$S3":{token:"string.delim",next:"@pop"},"$#==$S2":{token:"string.delim",next:"@push"},"@default":"string"}}]],qregexp:[{include:"@variables"},[/\\./,"regexp.escape"],[/./,{cases:{"$#==$S3":{token:"regexp.delim",next:"@regexpModifiers"},"$#==$S2":{token:"regexp.delim",next:"@push"},"@default":"regexp"}}]],regexpModifiers:[[/[msixpodualngcer]+/,{token:"regexp.modifier",next:"@popall"}]],qqstring:[{include:"@variables"},{include:"@qstring"}],heredoc:[[/<<\s*['"`]?([\w\-]+)['"`]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/^([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],perldoc:[[/^=\w/,"comment.doc","@perldocBody"]],perldocBody:[[/^=cut\b/,"type.identifier","@popall"],[/./,"comment.doc"]],variables:[[/\$\w+/,"variable"],[/@\w+/,"variable"],[/%\w+/,"variable"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/7886.bundle.js.LICENSE.txt b/forge/sterling/build/7886.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/7886.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/7a3a6c17dfe7ee4cb1a0.woff2 b/forge/sterling/build/7a3a6c17dfe7ee4cb1a0.woff2
new file mode 100644
index 000000000..bcb9494d6
Binary files /dev/null and b/forge/sterling/build/7a3a6c17dfe7ee4cb1a0.woff2 differ
diff --git a/forge/sterling/build/8230.bundle.js b/forge/sterling/build/8230.bundle.js
new file mode 100644
index 000000000..3c1785e8a
--- /dev/null
+++ b/forge/sterling/build/8230.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8230.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8230],{28230(e,o,n){n.r(o),n.d(o,{conf:()=>t,language:()=>s});var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".pascaligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["begin","block","case","const","else","end","fail","for","from","function","if","is","nil","of","remove","return","skip","then","type","var","while","with","option","None","transaction"],typeKeywords:["bool","int","list","map","nat","record","string","unit","address","map","mtz","xtz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8230.bundle.js.LICENSE.txt b/forge/sterling/build/8230.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8230.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8332.bundle.js b/forge/sterling/build/8332.bundle.js
new file mode 100644
index 000000000..f1d3be875
--- /dev/null
+++ b/forge/sterling/build/8332.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8332.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8332],{68332(e,t,n){n.r(t),n.d(t,{conf:()=>o,language:()=>s});var o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},s={defaultToken:"",tokenPostfix:".aes",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["contract","library","entrypoint","function","stateful","state","hash","signature","tuple","list","address","string","bool","int","record","datatype","type","option","oracle","oracle_query","Call","Bits","Bytes","Oracle","String","Crypto","Address","Auth","Chain","None","Some","bits","bytes","event","let","map","private","public","true","false","var","if","else","throw"],operators:["=",">","<","!","~","?","::",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8332.bundle.js.LICENSE.txt b/forge/sterling/build/8332.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8332.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8334.bundle.js b/forge/sterling/build/8334.bundle.js
new file mode 100644
index 000000000..75ca3b90a
--- /dev/null
+++ b/forge/sterling/build/8334.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8334.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8334],{38334(e,n,o){o.r(n),o.d(n,{conf:()=>t,language:()=>r});var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","__try","__catch","__finally","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from","extends"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","interface","end_interface","method","end_method","property","end_property","namespace","end_namespace","configuration","end_configuration","tcp","end_tcp","resource","end_resource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","word","dword","array","pointer","lword"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid","ref","ref_to"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>n,language:()=>s});var n={comments:{lineComment:"#"},brackets:[["[","]"],["<",">"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"<",close:">"},{open:"(",close:")"}],surroundingPairs:[{open:"[",close:"]"},{open:"<",close:">"},{open:"(",close:")"}]},s={defaultToken:"",tokenPostfix:".pla",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"<",close:">",token:"delimiter.angle"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:[".i",".o",".mv",".ilb",".ob",".label",".type",".phase",".pair",".symbolic",".symbolic-output",".kiss",".p",".e",".end"],comment:/#.*$/,identifier:/[a-zA-Z]+[a-zA-Z0-9_\-]*/,plaContent:/[01\-~\|]+/,tokenizer:{root:[{include:"@whitespace"},[/@comment/,"comment"],[/\.([a-zA-Z_\-]+)/,{cases:{"@eos":{token:"keyword.$1"},"@keywords":{cases:{".type":{token:"keyword.$1",next:"@type"},"@default":{token:"keyword.$1",next:"@keywordArg"}}},"@default":{token:"keyword.$1"}}}],[/@identifier/,"identifier"],[/@plaContent/,"string"]],whitespace:[[/[ \t\r\n]+/,""]],type:[{include:"@whitespace"},[/\w+/,{token:"type",next:"@pop"}]],keywordArg:[[/[ \t\r\n]+/,{cases:{"@eos":{token:"",next:"@pop"},"@default":""}}],[/@comment/,"comment","@pop"],[/[<>()\[\]]/,{cases:{"@eos":{token:"@brackets",next:"@pop"},"@default":"@brackets"}}],[/\-?\d+/,{cases:{"@eos":{token:"number",next:"@pop"},"@default":"number"}}],[/@identifier/,{cases:{"@eos":{token:"identifier",next:"@pop"},"@default":"identifier"}}],[/[;=]/,{cases:{"@eos":{token:"delimiter",next:"@pop"},"@default":"delimiter"}}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8390.bundle.js.LICENSE.txt b/forge/sterling/build/8390.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8390.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8494.bundle.js b/forge/sterling/build/8494.bundle.js
new file mode 100644
index 000000000..93d7ead20
--- /dev/null
+++ b/forge/sterling/build/8494.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8494.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8494],{78494(e,o,n){n.r(o),n.d(o,{conf:()=>t,language:()=>s});var t={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8494.bundle.js.LICENSE.txt b/forge/sterling/build/8494.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8494.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8542.bundle.js b/forge/sterling/build/8542.bundle.js
new file mode 100644
index 000000000..89c5d62c2
--- /dev/null
+++ b/forge/sterling/build/8542.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8542.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8542],{68542(e,n,s){s.r(n),s.d(n,{conf:()=>t,language:()=>o});var t={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8542.bundle.js.LICENSE.txt b/forge/sterling/build/8542.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8542.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8566.bundle.js b/forge/sterling/build/8566.bundle.js
new file mode 100644
index 000000000..0fe57702f
--- /dev/null
+++ b/forge/sterling/build/8566.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8566.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8566],{28566(e,t,i){i.r(t),i.d(t,{conf:()=>n,language:()=>s});var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8566.bundle.js.LICENSE.txt b/forge/sterling/build/8566.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8566.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8902.bundle.js b/forge/sterling/build/8902.bundle.js
new file mode 100644
index 000000000..b254a35db
--- /dev/null
+++ b/forge/sterling/build/8902.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8902.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8902],{78902(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>s});var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},s={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8902.bundle.js.LICENSE.txt b/forge/sterling/build/8902.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8902.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8990.bundle.js b/forge/sterling/build/8990.bundle.js
new file mode 100644
index 000000000..0a4b08f1d
--- /dev/null
+++ b/forge/sterling/build/8990.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8990.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[8990],{88990(E,S,e){e.r(S),e.d(S,{conf:()=>T,language:()=>R});var T={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/8990.bundle.js.LICENSE.txt b/forge/sterling/build/8990.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/8990.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/8ae7ba46c49a0347ea65.woff2 b/forge/sterling/build/8ae7ba46c49a0347ea65.woff2
new file mode 100644
index 000000000..3559aee90
Binary files /dev/null and b/forge/sterling/build/8ae7ba46c49a0347ea65.woff2 differ
diff --git a/forge/sterling/build/8d456cfc41022960d34c.woff2 b/forge/sterling/build/8d456cfc41022960d34c.woff2
new file mode 100644
index 000000000..84b7c6e04
Binary files /dev/null and b/forge/sterling/build/8d456cfc41022960d34c.woff2 differ
diff --git a/forge/sterling/build/9034.bundle.js b/forge/sterling/build/9034.bundle.js
new file mode 100644
index 000000000..0aaef1206
--- /dev/null
+++ b/forge/sterling/build/9034.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 9034.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[9034],{89034(e,r,t){t.r(r),t.d(r,{conf:()=>o,language:()=>i});var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>s,language:()=>o});var s={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/9038.bundle.js.LICENSE.txt b/forge/sterling/build/9038.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/9038.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/9150.bundle.js b/forge/sterling/build/9150.bundle.js
new file mode 100644
index 000000000..f12530d1b
--- /dev/null
+++ b/forge/sterling/build/9150.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 9150.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[9150],{89150(e,t,n){n.r(t),n.d(t,{conf:()=>r,language:()=>s});var r={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],tokenizer:{root:[{include:"@whitespace"},[/@numbers/,"number"],[/@characters/,"string"],{include:"@string"},[/[()\[\]{}]/,"@brackets"],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,"regexp"],[/[#'@^`~]/,"meta"],[/@qualifiedSymbols/,{cases:{"^:.+$":"constant","@specialForms":"keyword","@coreSymbols":"keyword","@constants":"constant","@default":"identifier"}}]],whitespace:[[/[\s,]+/,"white"],[/;.*$/,"comment"],[/\(comment\b/,"comment","@comment"]],comment:[[/\(/,"comment","@push"],[/\)/,"comment","@pop"],[/[^()]/,"comment"]],string:[[/"/,"string","@multiLineString"]],multiLineString:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/./,"string"]]}}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/9150.bundle.js.LICENSE.txt b/forge/sterling/build/9150.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/9150.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/9355.bundle.js b/forge/sterling/build/9355.bundle.js
new file mode 100644
index 000000000..b2bb81356
--- /dev/null
+++ b/forge/sterling/build/9355.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 9355.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[9355],{59355(e,t,i){i.r(t),i.d(t,{getJavaScriptWorker:()=>ee,getTypeScriptWorker:()=>te,setupJavaScript:()=>Z,setupTypeScript:()=>Y});var s=i(88349),n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l={};n(l,"__esModule",{value:!0}),((e,t,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))o.call(e,s)||"default"===s||n(e,s,{get:()=>t[s],enumerable:!(i=r(t,s))||i.enumerable})})(l,s);var c,d,g,u,p,m,h,b,f,_,S=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client){this._worker=l.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}});let e=this._worker.getProxy();this._defaults.getEagerModelSync()&&(e=e.then(e=>this._worker?this._worker.withSyncedResources(l.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):e)),this._client=e}return this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};(d=c||(c={}))[d.None=0]="None",d[d.CommonJS=1]="CommonJS",d[d.AMD=2]="AMD",d[d.UMD=3]="UMD",d[d.System=4]="System",d[d.ES2015=5]="ES2015",d[d.ESNext=99]="ESNext",(u=g||(g={}))[u.None=0]="None",u[u.Preserve=1]="Preserve",u[u.React=2]="React",u[u.ReactNative=3]="ReactNative",u[u.ReactJSX=4]="ReactJSX",u[u.ReactJSXDev=5]="ReactJSXDev",(m=p||(p={}))[m.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",m[m.LineFeed=1]="LineFeed",(b=h||(h={}))[b.ES3=0]="ES3",b[b.ES5=1]="ES5",b[b.ES2015=2]="ES2015",b[b.ES2016=3]="ES2016",b[b.ES2017=4]="ES2017",b[b.ES2018=5]="ES2018",b[b.ES2019=6]="ES2019",b[b.ES2020=7]="ES2020",b[b.ESNext=99]="ESNext",b[b.JSON=100]="JSON",b[b.Latest=99]="Latest",(_=f||(f={}))[_.Classic=1]="Classic",_[_.NodeJs=2]="NodeJs";var y=class{constructor(e,t,i,s){this._onDidChange=new l.Emitter,this._onDidExtraLibsChange=new l.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(s),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(i=void 0===t?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[i]&&(s=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(s=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[i];e&&e.version===s&&(delete this._extraLibs[i],this._removedExtraLibs[i]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=t.content;let s=1;this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:i,version:s}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},w=new y({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),x=new y({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{});function v(){return Promise.resolve().then(i.bind(i,59355))}l.languages.typescript={ModuleKind:c,JsxEmit:g,NewLineKind:p,ScriptTarget:h,ModuleResolutionKind:f,typescriptVersion:"4.4.4",typescriptDefaults:w,javascriptDefaults:x,getTypeScriptWorker:()=>v().then(e=>e.getTypeScriptWorker()),getJavaScriptWorker:()=>v().then(e=>e.getJavaScriptWorker())},l.languages.onLanguage("typescript",()=>v().then(e=>e.setupTypeScript(w))),l.languages.onLanguage("javascript",()=>v().then(e=>e.setupJavaScript(x)));var C,k,D={};function L(e,t,i=0){if("string"==typeof e)return e;if(void 0===e)return"";let s="";if(i){s+=t;for(let e=0;ee.text).join(""):""}D["lib.d.ts"]=!0,D["lib.dom.d.ts"]=!0,D["lib.dom.iterable.d.ts"]=!0,D["lib.es2015.collection.d.ts"]=!0,D["lib.es2015.core.d.ts"]=!0,D["lib.es2015.d.ts"]=!0,D["lib.es2015.generator.d.ts"]=!0,D["lib.es2015.iterable.d.ts"]=!0,D["lib.es2015.promise.d.ts"]=!0,D["lib.es2015.proxy.d.ts"]=!0,D["lib.es2015.reflect.d.ts"]=!0,D["lib.es2015.symbol.d.ts"]=!0,D["lib.es2015.symbol.wellknown.d.ts"]=!0,D["lib.es2016.array.include.d.ts"]=!0,D["lib.es2016.d.ts"]=!0,D["lib.es2016.full.d.ts"]=!0,D["lib.es2017.d.ts"]=!0,D["lib.es2017.full.d.ts"]=!0,D["lib.es2017.intl.d.ts"]=!0,D["lib.es2017.object.d.ts"]=!0,D["lib.es2017.sharedmemory.d.ts"]=!0,D["lib.es2017.string.d.ts"]=!0,D["lib.es2017.typedarrays.d.ts"]=!0,D["lib.es2018.asyncgenerator.d.ts"]=!0,D["lib.es2018.asynciterable.d.ts"]=!0,D["lib.es2018.d.ts"]=!0,D["lib.es2018.full.d.ts"]=!0,D["lib.es2018.intl.d.ts"]=!0,D["lib.es2018.promise.d.ts"]=!0,D["lib.es2018.regexp.d.ts"]=!0,D["lib.es2019.array.d.ts"]=!0,D["lib.es2019.d.ts"]=!0,D["lib.es2019.full.d.ts"]=!0,D["lib.es2019.object.d.ts"]=!0,D["lib.es2019.string.d.ts"]=!0,D["lib.es2019.symbol.d.ts"]=!0,D["lib.es2020.bigint.d.ts"]=!0,D["lib.es2020.d.ts"]=!0,D["lib.es2020.full.d.ts"]=!0,D["lib.es2020.intl.d.ts"]=!0,D["lib.es2020.promise.d.ts"]=!0,D["lib.es2020.sharedmemory.d.ts"]=!0,D["lib.es2020.string.d.ts"]=!0,D["lib.es2020.symbol.wellknown.d.ts"]=!0,D["lib.es2021.d.ts"]=!0,D["lib.es2021.full.d.ts"]=!0,D["lib.es2021.promise.d.ts"]=!0,D["lib.es2021.string.d.ts"]=!0,D["lib.es2021.weakref.d.ts"]=!0,D["lib.es5.d.ts"]=!0,D["lib.es6.d.ts"]=!0,D["lib.esnext.d.ts"]=!0,D["lib.esnext.full.d.ts"]=!0,D["lib.esnext.intl.d.ts"]=!0,D["lib.esnext.promise.d.ts"]=!0,D["lib.esnext.string.d.ts"]=!0,D["lib.esnext.weakref.d.ts"]=!0,D["lib.scripthost.d.ts"]=!0,D["lib.webworker.d.ts"]=!0,D["lib.webworker.importscripts.d.ts"]=!0,D["lib.webworker.iterable.d.ts"]=!0,(k=C||(C={}))[k.None=0]="None",k[k.Block=1]="Block",k[k.Smart=2]="Smart";var E,T,F=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let i=e.getPositionAt(t.start),s=e.getPositionAt(t.start+t.length),{lineNumber:n,column:r}=i,{lineNumber:a,column:o}=s;return{startLineNumber:n,startColumn:r,endLineNumber:a,endColumn:o}}},I=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return!!e&&0===e.path.indexOf("/lib.")&&!!D[e.path.slice(1)]}getOrCreateModel(e){const t=l.Uri.parse(e),i=l.editor.getModel(t);if(i)return i;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return l.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const s=w.getExtraLibs()[e];return s?l.editor.createModel(s.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}};(T=E||(E={}))[T.Warning=0]="Warning",T[T.Error=1]="Error",T[T.Suggestion=2]="Suggestion",T[T.Message=3]="Message";var N=class extends F{constructor(e,t,i,s){super(s),this._libFiles=e,this._defaults=t,this._selector=i,this._disposables=[],this._listener=Object.create(null);const n=e=>{if(e.getLanguageId()!==i)return;const t=()=>{const{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)};let s;const n=e.onDidChangeContent(()=>{clearTimeout(s),s=window.setTimeout(t,500)}),r=e.onDidChangeAttached(()=>{const{onlyVisible:i}=this._defaults.getDiagnosticsOptions();i&&(e.isAttachedToEditor()?t():l.editor.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){n.dispose(),r.dispose(),clearTimeout(s)}},t()},r=e=>{l.editor.setModelMarkers(e,this._selector,[]);const t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(l.editor.onDidCreateModel(e=>n(e))),this._disposables.push(l.editor.onWillDisposeModel(r)),this._disposables.push(l.editor.onDidChangeModelLanguage(e=>{r(e.model),n(e.model)})),this._disposables.push({dispose(){for(const e of l.editor.getModels())r(e)}});const a=()=>{for(const e of l.editor.getModels())r(e),n(e)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),l.editor.getModels().forEach(e=>n(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const i=[],{noSyntaxValidation:s,noSemanticValidation:n,noSuggestionDiagnostics:r}=this._defaults.getDiagnosticsOptions();s||i.push(t.getSyntacticDiagnostics(e.uri.toString())),n||i.push(t.getSemanticDiagnostics(e.uri.toString())),r||i.push(t.getSuggestionDiagnostics(e.uri.toString()));const a=await Promise.all(i);if(!a||e.isDisposed())return;const o=a.reduce((e,t)=>t.concat(e),[]).filter(e=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)),c=o.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?l.Uri.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),e.isDisposed()||l.editor.setModelMarkers(e,this._selector,o.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){const i=t.start||0,s=t.length||1,{lineNumber:n,column:r}=e.getPositionAt(i),{lineNumber:a,column:o}=e.getPositionAt(i+s),c=[];return t.reportsUnnecessary&&c.push(l.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(l.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:n,startColumn:r,endLineNumber:a,endColumn:o,message:L(t.messageText,"\n"),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const i=[];return t.forEach(t=>{let s=e;if(t.file&&(s=this._libFiles.getOrCreateModel(t.file.fileName)),!s)return;const n=t.start||0,r=t.length||1,{lineNumber:a,column:o}=s.getPositionAt(n),{lineNumber:l,column:c}=s.getPositionAt(n+r);i.push({resource:s.uri,startLineNumber:a,startColumn:o,endLineNumber:l,endColumn:c,message:L(t.messageText,"\n")})}),i}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return l.MarkerSeverity.Error;case 3:return l.MarkerSeverity.Info;case 0:return l.MarkerSeverity.Warning;case 2:return l.MarkerSeverity.Hint}return l.MarkerSeverity.Info}},P=class extends F{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,i,s){const n=e.getWordUntilPosition(t),r=new l.Range(t.lineNumber,n.startColumn,t.lineNumber,n.endColumn),a=e.uri,o=e.getOffsetAt(t),c=await this._worker(a);if(e.isDisposed())return;const d=await c.getCompletionsAtPosition(a.toString(),o);return d&&!e.isDisposed()?{suggestions:d.entries.map(i=>{let s=r;if(i.replacementSpan){const t=e.getPositionAt(i.replacementSpan.start),n=e.getPositionAt(i.replacementSpan.start+i.replacementSpan.length);s=new l.Range(t.lineNumber,t.column,n.lineNumber,n.column)}const n=[];return-1!==i.kindModifiers?.indexOf("deprecated")&&n.push(l.languages.CompletionItemTag.Deprecated),{uri:a,position:t,offset:o,range:s,label:i.name,insertText:i.name,sortText:i.sortText,kind:P.convertKind(i.kind),tags:n}})}:void 0}async resolveCompletionItem(e,t){const i=e,s=i.uri,n=i.position,r=i.offset,a=await this._worker(s),o=await a.getCompletionEntryDetails(s.toString(),r,i.label);return o?{uri:s,position:n,label:o.name,kind:P.convertKind(o.kind),detail:O(o.displayParts),documentation:{value:P.createDocumentationString(o)}}:i}static convertKind(e){switch(e){case j.primitiveType:case j.keyword:return l.languages.CompletionItemKind.Keyword;case j.variable:case j.localVariable:return l.languages.CompletionItemKind.Variable;case j.memberVariable:case j.memberGetAccessor:case j.memberSetAccessor:return l.languages.CompletionItemKind.Field;case j.function:case j.memberFunction:case j.constructSignature:case j.callSignature:case j.indexSignature:return l.languages.CompletionItemKind.Function;case j.enum:return l.languages.CompletionItemKind.Enum;case j.module:return l.languages.CompletionItemKind.Module;case j.class:return l.languages.CompletionItemKind.Class;case j.interface:return l.languages.CompletionItemKind.Interface;case j.warning:return l.languages.CompletionItemKind.File}return l.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=O(e.documentation);if(e.tags)for(const i of e.tags)t+=`\n\n${A(i)}`;return t}};function A(e){let t=`*@${e.name}*`;if("param"===e.name&&e.text){const[i,...s]=e.text;t+=`\`${i.text}\``,s.length>0&&(t+=` — ${s.map(e=>e.text).join(" ")}`)}else Array.isArray(e.text)?t+=` — ${e.text.map(e=>e.text).join(" ")}`:e.text&&(t+=` — ${e.text}`);return t}var M=class extends F{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case l.languages.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case l.languages.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case l.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(e,t,i,s){const n=e.uri,r=e.getOffsetAt(t),a=await this._worker(n);if(e.isDisposed())return;const o=await a.getSignatureHelpItems(n.toString(),r,{triggerReason:M._toSignatureHelpTriggerReason(s)});if(!o||e.isDisposed())return;const l={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach(e=>{const t={label:"",parameters:[]};t.documentation={value:O(e.documentation)},t.label+=O(e.prefixDisplayParts),e.parameters.forEach((i,s,n)=>{const r=O(i.displayParts),a={label:r,documentation:{value:O(i.documentation)}};t.label+=r,t.parameters.push(a),sA(e)).join(" \n\n"):"",c=O(a.displayParts);return{range:this._textSpanToRange(e,a.textSpan),contents:[{value:"```typescript\n"+c+"\n```\n"},{value:o+(l?"\n\n"+l:"")}]}}},K=class extends F{async provideDocumentHighlights(e,t,i){const s=e.uri,n=e.getOffsetAt(t),r=await this._worker(s);if(e.isDisposed())return;const a=await r.getOccurrencesAtPosition(s.toString(),n);return a&&!e.isDisposed()?a.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:t.isWriteAccess?l.languages.DocumentHighlightKind.Write:l.languages.DocumentHighlightKind.Text})):void 0}},H=class extends F{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,i){const s=e.uri,n=e.getOffsetAt(t),r=await this._worker(s);if(e.isDisposed())return;const a=await r.getDefinitionAtPosition(s.toString(),n);if(!a||e.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map(e=>l.Uri.parse(e.fileName))),e.isDisposed())return;const o=[];for(let e of a){const t=this._libFiles.getOrCreateModel(e.fileName);t&&o.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return o}},V=class extends F{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,i,s){const n=e.uri,r=e.getOffsetAt(t),a=await this._worker(n);if(e.isDisposed())return;const o=await a.getReferencesAtPosition(n.toString(),r);if(!o||e.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map(e=>l.Uri.parse(e.fileName))),e.isDisposed())return;const c=[];for(let e of o){const t=this._libFiles.getOrCreateModel(e.fileName);t&&c.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return c}},W=class extends F{async provideDocumentSymbols(e,t){const i=e.uri,s=await this._worker(i);if(e.isDisposed())return;const n=await s.getNavigationBarItems(i.toString());if(!n||e.isDisposed())return;const r=(t,i,s)=>{let n={name:i.text,detail:"",kind:J[i.kind]||l.languages.SymbolKind.Variable,range:this._textSpanToRange(e,i.spans[0]),selectionRange:this._textSpanToRange(e,i.spans[0]),tags:[]};if(s&&(n.containerName=s),i.childItems&&i.childItems.length>0)for(let e of i.childItems)r(t,e,n.name);t.push(n)};let a=[];return n.forEach(e=>r(a,e)),a}},j=class{};j.unknown="",j.keyword="keyword",j.script="script",j.module="module",j.class="class",j.interface="interface",j.type="type",j.enum="enum",j.variable="var",j.localVariable="local var",j.function="function",j.localFunction="local function",j.memberFunction="method",j.memberGetAccessor="getter",j.memberSetAccessor="setter",j.memberVariable="property",j.constructorImplementation="constructor",j.callSignature="call",j.indexSignature="index",j.constructSignature="construct",j.parameter="parameter",j.typeParameter="type parameter",j.primitiveType="primitive type",j.label="label",j.alias="alias",j.const="const",j.let="let",j.warning="warning";var J=Object.create(null);J[j.module]=l.languages.SymbolKind.Module,J[j.class]=l.languages.SymbolKind.Class,J[j.enum]=l.languages.SymbolKind.Enum,J[j.interface]=l.languages.SymbolKind.Interface,J[j.memberFunction]=l.languages.SymbolKind.Method,J[j.memberVariable]=l.languages.SymbolKind.Property,J[j.memberGetAccessor]=l.languages.SymbolKind.Property,J[j.memberSetAccessor]=l.languages.SymbolKind.Property,J[j.variable]=l.languages.SymbolKind.Variable,J[j.const]=l.languages.SymbolKind.Variable,J[j.localVariable]=l.languages.SymbolKind.Variable,J[j.variable]=l.languages.SymbolKind.Variable,J[j.function]=l.languages.SymbolKind.Function,J[j.localFunction]=l.languages.SymbolKind.Function;var B,U,$=class extends F{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}},z=class extends ${async provideDocumentRangeFormattingEdits(e,t,i,s){const n=e.uri,r=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=await this._worker(n);if(e.isDisposed())return;const l=await o.getFormattingEditsForRange(n.toString(),r,a,$._convertOptions(i));return l&&!e.isDisposed()?l.map(t=>this._convertTextChanges(e,t)):void 0}},X=class extends ${get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(e,t,i,s,n){const r=e.uri,a=e.getOffsetAt(t),o=await this._worker(r);if(e.isDisposed())return;const l=await o.getFormattingEditsAfterKeystroke(r.toString(),a,i,$._convertOptions(s));return l&&!e.isDisposed()?l.map(t=>this._convertTextChanges(e,t)):void 0}},G=class extends ${async provideCodeActions(e,t,i,s){const n=e.uri,r=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=$._convertOptions(e.getOptions()),l=i.markers.filter(e=>e.code).map(e=>e.code).map(Number),c=await this._worker(n);if(e.isDisposed())return;const d=await c.getCodeFixesAtPosition(n.toString(),r,a,l,o);return!d||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:d.filter(e=>0===e.changes.filter(e=>e.isNewFile).length).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,i,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,i){const s=[];for(const t of i.changes)for(const i of t.textChanges)s.push({resource:e.uri,edit:{range:this._textSpanToRange(e,i.span),text:i.newText}});return{title:i.description,edit:{edits:s},diagnostics:t.markers,kind:"quickfix"}}},q=class extends F{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,i,s){const n=e.uri,r=n.toString(),a=e.getOffsetAt(t),o=await this._worker(n);if(e.isDisposed())return;const l=await o.getRenameInfo(r,a,{allowRenameOfImportPath:!1});if(!1===l.canRename)return{edits:[],rejectReason:l.localizedErrorMessage};if(void 0!==l.fileToRename)throw new Error("Renaming files is not supported.");const c=await o.findRenameLocations(r,a,!1,!1,!1);if(!c||e.isDisposed())return;const d=[];for(const e of c){const t=this._libFiles.getOrCreateModel(e.fileName);if(!t)throw new Error(`Unknown file ${e.fileName}.`);d.push({resource:t.uri,edit:{range:this._textSpanToRange(t,e.textSpan),text:i}})}return{edits:d}}},Q=class extends F{async provideInlayHints(e,t,i){const s=e.uri,n=s.toString(),r=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=await this._worker(s);return e.isDisposed()?[]:(await o.provideInlayHints(n,r,a)).map(t=>({...t,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)}))}_convertHintKind(e){switch(e){case"Parameter":return l.languages.InlayHintKind.Parameter;case"Type":return l.languages.InlayHintKind.Type;default:return l.languages.InlayHintKind.Other}}};function Y(e){U=ie(e,"typescript")}function Z(e){B=ie(e,"javascript")}function ee(){return new Promise((e,t)=>{if(!B)return t("JavaScript not registered!");e(B)})}function te(){return new Promise((e,t)=>{if(!U)return t("TypeScript not registered!");e(U)})}function ie(e,t){const i=new S(t,e),s=(...e)=>i.getLanguageServiceWorker(...e),n=new I(s);return l.languages.registerCompletionItemProvider(t,new P(s)),l.languages.registerSignatureHelpProvider(t,new M(s)),l.languages.registerHoverProvider(t,new R(s)),l.languages.registerDocumentHighlightProvider(t,new K(s)),l.languages.registerDefinitionProvider(t,new H(n,s)),l.languages.registerReferenceProvider(t,new V(n,s)),l.languages.registerDocumentSymbolProvider(t,new W(s)),l.languages.registerDocumentRangeFormattingEditProvider(t,new z(s)),l.languages.registerOnTypeFormattingEditProvider(t,new X(s)),l.languages.registerCodeActionProvider(t,new G(s)),l.languages.registerRenameProvider(t,new q(n,s)),l.languages.registerInlayHintsProvider(t,new Q(s)),new N(n,e,t,s),s}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/9355.bundle.js.LICENSE.txt b/forge/sterling/build/9355.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/9355.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/9390.bundle.js b/forge/sterling/build/9390.bundle.js
new file mode 100644
index 000000000..eee0c4c22
--- /dev/null
+++ b/forge/sterling/build/9390.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 9390.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[9390],{29390(e,t,s){s.r(t),s.d(t,{conf:()=>n,language:()=>o});var n={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},o={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]);
\ No newline at end of file
diff --git a/forge/sterling/build/946.bundle.js.LICENSE.txt b/forge/sterling/build/946.bundle.js.LICENSE.txt
new file mode 100644
index 000000000..a94fd9d46
--- /dev/null
+++ b/forge/sterling/build/946.bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!-----------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
+ * Released under the MIT license
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
+ *-----------------------------------------------------------------------------*/
diff --git a/forge/sterling/build/9510.bundle.js b/forge/sterling/build/9510.bundle.js
new file mode 100644
index 000000000..3b4765f12
--- /dev/null
+++ b/forge/sterling/build/9510.bundle.js
@@ -0,0 +1,2 @@
+/*! For license information please see 9510.bundle.js.LICENSE.txt */
+"use strict";(self.webpackChunksterling_layout=self.webpackChunksterling_layout||[]).push([[9510],{29510(e,n,t){t.r(n),t.d(n,{conf:()=>o,language:()=>r});var o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:":.,=}])' \n\t",indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},r={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=>n,language:()=>s});var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=>o,language:()=>a});var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//g,""),{declaration:e(),root:r()};function e(){if(o(/^<\?xml\s*/)){for(var t={attributes:{}};!s()&&!a("?>");){var e=n();if(!e)return t;t.attributes[e.name]=e.value}return o(/\?>\s*/),t}}function r(){var t=o(/^<([\w-:.]+)\s*/);if(t){for(var e={name:t[1],attributes:{},children:[]};!(s()||a(">")||a("?>")||a("/>"));){var i=n();if(!i)return e;e.attributes[i.name]=i.value}if(o(/^\s*\/>\s*/))return e;o(/\??>\s*/),e.content=function(){var t=o(/^([^<]*)/);return t?t[1]:""}();for(var l;l=r();)e.children.push(l);return o(/^<\/[\w-:.]+>\s*/),e}}function n(){var t=o(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(t)return{name:t[1],value:i(t[2])}}function i(t){return t.replace(/^['"]|['"]$/g,"")}function o(e){var r=t.match(e);if(r)return t=t.slice(r[0].length),r}function s(){return 0==t.length}function a(e){return 0==t.indexOf(e)}}(t).root,r&&(s=r(s,n,i))}),s},o.from.GEXF=function(t,e,r,n,i){var s;return o("SEARCH FROM XML("+t+")",[],function(t){s=t,r&&(s=r(s))}),s},G.Print=function(t){return Object.assign(this,t)},G.Print.prototype.toString=function(){var t="PRINT";return this.statement&&(t+=" "+this.statement.toString()),t},G.Print.prototype.execute=function(t,e,r){var n=this,i=1;if(o.precompile(this,t,e),this.exprs&&this.exprs.length>0){var s=this.exprs.map(function(t){var r=new Function("params,alasql,p","var y;return "+t.toJS("({})","",null)).bind(n)(e,o);return pt(r)});console.log.apply(console,s)}else if(this.select){var a=this.select.execute(t,e);console.log(pt(a))}else console.log();return r&&(i=r(i)),i},G.Source=function(t){return Object.assign(this,t)},G.Source.prototype.toString=function(){var t="SOURCE";return this.url&&(t+=" '"+this.url+" '"),t},G.Source.prototype.execute=function(t,e,r){var n;return v(this.url,!!r,function(t){return n=o(t),r&&(n=r(n)),n},function(t){throw t}),n},G.Require=function(t){return Object.assign(this,t)},G.Require.prototype.toString=function(){var t="REQUIRE";return this.paths&&this.paths.length>0&&(t+=this.paths.map(function(t){return t.toString()}).join(",")),this.plugins&&this.plugins.length>0&&(t+=this.plugins.map(function(t){return t.toUpperCase()}).join(",")),t},G.Require.prototype.execute=function(t,e,r){var n=this,i=0,s="";return this.paths&&this.paths.length>0?this.paths.forEach(function(t){v(t.value,!!r,function(t){i++,s+=t,!(i0?this.plugins.forEach(function(t){o.plugins[t]||v(o.path+"/alasql-"+t.toLowerCase()+".js",!!r,function(a){i++,s+=a,!(ie.name===t)||0;let r=e.open(t);return new Promise(function(e,n){r.onsuccess=()=>{r.result.close(),e({name:t,version:r.result.version})},r.onupgradeneeded=t=>{t.target.transaction.abort(),e(0)},r.onerror=()=>{n(new Error("IndexedDB error"))},r.onblocked=()=>{e({name:t,version:r.result.version})}})}St.showDatabases=function(t,e){indexedDB.databases?indexedDB.databases().then(r=>{let n=[],i=t&&new RegExp(t.value.replace(/\%/g,".*"),"g");for(var o=0;o{if(i)return i(null,t),null;throw t});if(null!==o)if(o){if(!r){let e=new Error(`IndexedDB: Cannot create new database "${t}" because it already exists`);if(i)return void i(null,e);throw e}i&&i(0)}else{let e=indexedDB.open(t,1);e.onsuccess=()=>{e.result.close(),i(1)}}},St.dropDatabase=async function(t,e,r){let n=await wt(t).catch(t=>{if(r)return r(null,t),null;throw t});if(null!==n)if(n)indexedDB.deleteDatabase(t).onsuccess=()=>{r&&r(1)};else{if(!e){if(r)return void r(null,new Error(`IndexedDB: Cannot drop database "${t}" because it does not exist`));throw new Error(`IndexedDB: Cannot drop database "${t}" because it does not exist`)}r&&r(0)}},St.attachDatabase=async function(t,e,r,n,i){let s=await wt(t).catch(t=>{if(i)return i(null,t),null;throw t});if(null===s)return;if(!s){let e=new Error(`IndexedDB: Cannot attach database "${t}" because it does not exist`);if(i)return void i(null,e);throw e}let a=await new Promise((e,r)=>{let n=indexedDB.open(t);n.onsuccess=()=>{e(n.result.objectStoreNames),n.result.close()}}),l=new o.Database(e||t);l.engineid="INDEXEDDB",l.ixdbid=t,l.tables=[];for(var u=0;u{if(n)return n(null,t),null;throw t});if(null===s)return;if(!s){let t=new Error('IndexedDB: Cannot create table in database "'+i+'" because it does not exist');if(n)return void n(null,t);throw t}let a=indexedDB.open(i,s.version+1);a.onupgradeneeded=function(t){a.result.createObjectStore(e,{autoIncrement:!0})},a.onsuccess=function(t){a.result.close(),n&&n(1)},a.onerror=t=>{n(null,t)},a.onblocked=function(r){n(null,new Error(`Cannot create table "${e}" because database "${t}" is blocked`))}},St.dropTable=async function(t,e,r,n){let i=o.databases[t].ixdbid,s=await wt(i).catch(t=>{if(n)return n(null,t),null;throw t});if(null===s)return;if(!s){let t=new Error('IndexedDB: Cannot drop table in database "'+i+'" because it does not exist');if(n)return void n(null,t);throw t}let a,l=indexedDB.open(i,s.version+1);l.onupgradeneeded=function(n){var i=l.result;i.objectStoreNames.contains(e)?(i.deleteObjectStore(e),delete o.databases[t].tables[e]):r||(a=new Error(`IndexedDB: Cannot drop table "${e}" because it does not exist`),n.target.transaction.abort())},l.onsuccess=function(t){l.result.close(),n&&n(1)},l.onerror=function(t){n&&n(null,a||t)},l.onblocked=function(r){n(null,new Error(`Cannot drop table "${e}" because database "${t}" is blocked`))}},St.intoTable=function(t,e,r,n,i){let s=o.databases[t].ixdbid,a=indexedDB.open(s);var l=o.databases[t].tables[e];a.onupgradeneeded=r=>{r.target.transaction.abort();let n=new Error(`Cannot insert into table "${e}" because database "${t}" does not exist`);i&&i(null,n)},a.onsuccess=()=>{for(var n=a.result,s=n.transaction([e],"readwrite"),u=s.objectStore(e),c=0,h=r.length;c{n.target.transaction.abort();let i=new Error(`Cannot select from table "${e}" because database "${t}" does not exist`);r&&r(null,i)},a.onsuccess=()=>{let t=[],o=a.result,s=o.transaction([e]).objectStore(e).openCursor();s.onsuccess=()=>{let e=s.result;if(e){let r="object"==typeof e?e.value:{[e.key]:e.value};t.push(r),e.continue()}else o.close(),r&&r(t,n,i)}}},St.deleteFromTable=function(t,e,r,n,i){let s=o.databases[t].ixdbid,a=indexedDB.open(s);a.onsuccess=()=>{let t=a.result,s=t.transaction([e],"readwrite").objectStore(e).openCursor(),l=0;s.onsuccess=()=>{var e=s.result;e?((!r||r(e.value,n,o))&&(e.delete(),l++),e.continue()):(t.close(),i&&i(l))}}},St.updateTable=function(t,e,r,n,i,s){let a=o.databases[t].ixdbid,l=indexedDB.open(a);l.onsuccess=function(){let t=l.result,o=t.transaction([e],"readwrite").objectStore(e).openCursor(),a=0;o.onsuccess=()=>{var e=o.result;if(e){if(!n||n(e.value,i)){var l=e.value;r(l,i),e.update(l),a++}e.continue()}else t.close(),s&&s(a)}}},St.commit=function(t,e){return e?e(1):1},St.begin=St.commit,St.rollback=function(t,e){return e?e(1):1};var Nt=o.engines.LOCALSTORAGE=function(){};Nt.get=function(t){var e=localStorage.getItem(t);if(!(typeof e>"u")){var r;try{r=JSON.parse(e)}catch{throw new Error("Cannot parse JSON object from localStorage"+e)}return r}},Nt.set=function(t,e){typeof e>"u"?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(e))},Nt.storeTable=function(t,e){var r=o.databases[t],n=r.tables[e],i={};i.columns=n.columns,i.data=n.data,i.identities=n.identities,i.defaultfns=n.defaultfns,i.onupdatefns=n.onupdatefns,Nt.set(r.lsdbid+"."+e,i)},Nt.restoreTable=function(t,e){var r=o.databases[t],n=Nt.get(r.lsdbid+"."+e),i=new o.Table;for(var s in n)i[s]=n[s];return r.tables[e]=i,i.indexColumns(),i},Nt.removeTable=function(t,e){var r=o.databases[t];localStorage.removeItem(r.lsdbid+"."+e)},Nt.createDatabase=function(t,e,r,n,i){var o=1,s=Nt.get("alasql");if(r&&s&&s.databases&&s.databases[t])o=0;else{if(s||(s={databases:{}}),s.databases&&s.databases[t])throw new Error('localStorage: Cannot create new database "'+t+'" because it already exists');s.databases[t]=!0,Nt.set("alasql",s),Nt.set(t,{databaseid:t,tables:{}})}return i&&(o=i(o)),o},Nt.dropDatabase=function(t,e,r){var n=1,i=Nt.get("alasql");if(e&&i&&i.databases&&!i.databases[t])n=0;else{if(!i){if(e)return r?r(0):0;throw new Error("There is no any AlaSQL databases in localStorage")}if(i.databases&&!i.databases[t])throw new Error('localStorage: Cannot drop database "'+t+'" because there is no such database');delete i.databases[t],Nt.set("alasql",i);var o=Nt.get(t);for(var s in o.tables)localStorage.removeItem(t+"."+s);localStorage.removeItem(t)}return r&&(n=r(n)),n},Nt.attachDatabase=function(t,e,r,n,i){var s=1;if(o.databases[e])throw new Error('Unable to attach database as "'+e+'" because it already exists');e||(e=t);var a=new o.Database(e);if(a.engineid="LOCALSTORAGE",a.lsdbid=t,a.tables=Nt.get(t).tables,!o.options.autocommit&&a.tables)for(var l in a.tables)Nt.restoreTable(e,l);return i&&(s=i(s)),s},Nt.showDatabases=function(t,e){var r=[],n=Nt.get("alasql");if(t)var i=new RegExp(t.value.replace(/%/g,".*"),"g");if(n&&n.databases){for(var o in n.databases)r.push({databaseid:o});t&&r&&r.length>0&&(r=r.filter(function(t){return t.databaseid.match(i)}))}return e&&(r=e(r)),r},Nt.createTable=function(t,e,r,n){var i=1,s=o.databases[t].lsdbid;if(Nt.get(s+"."+e)&&!r)throw new Error('Table "'+e+'" alsready exists in localStorage database "'+s+'"');var a=Nt.get(s);return o.databases[t].tables[e],a.tables[e]=!0,Nt.set(s,a),Nt.storeTable(t,e),n&&(i=n(i)),i},Nt.truncateTable=function(t,e,r,n){var i,s=1,a=o.databases[t].lsdbid;if(i=o.options.autocommit?Nt.get(a):o.databases[t],!r&&!i.tables[e])throw new Error('Cannot truncate table "'+e+'" in localStorage, because it does not exist');return Nt.restoreTable(t,e).data=[],Nt.storeTable(t,e),n&&(s=n(s)),s},Nt.dropTable=function(t,e,r,n){var i,s=1,a=o.databases[t].lsdbid;if(i=o.options.autocommit?Nt.get(a):o.databases[t],!r&&!i.tables[e])throw new Error('Cannot drop table "'+e+'" in localStorage, because it does not exist');return delete i.tables[e],Nt.set(a,i),Nt.removeTable(t,e),n&&(s=n(s)),s},Nt.fromTable=function(t,e,r,n,i){o.databases[t].lsdbid;var s=Nt.restoreTable(t,e).data;return r&&(s=r(s,n,i)),s},Nt.intoTable=function(t,e,r,n,i){o.databases[t].lsdbid;var s=r.length,a=Nt.restoreTable(t,e);for(var l in a.identities){var u=a.identities[l];for(var c in r)r[c][l]=u.value,u.value+=u.step}return a.data||(a.data=[]),a.data=a.data.concat(r),Nt.storeTable(t,e),i&&(s=i(s)),s},Nt.loadTableData=function(t,e){o.databases[t],o.databases[t].lsdbid,Nt.restoreTable(t,e)},Nt.saveTableData=function(t,e){var r=o.databases[t],n=o.databases[t].lsdbid;Nt.storeTable(n,e),r.tables[e].data=void 0},Nt.commit=function(t,e){var r=o.databases[t],n=o.databases[t].lsdbid,i={databaseid:n,tables:{}};if(r.tables)for(var s in r.tables)i.tables[s]=!0,Nt.storeTable(t,s);return Nt.set(n,i),e?e(1):1},Nt.begin=Nt.commit,Nt.rollback=function(t,e){};var At=o.engines.SQLITE=function(){};At.createDatabase=function(t,e,r,n,i){throw new Error("Connot create SQLITE database in memory. Attach it.")},At.dropDatabase=function(t){throw new Error("This is impossible to drop SQLite database. Detach it.")},At.attachDatabase=function(t,e,r,n,i){if(o.databases[e])throw new Error('Unable to attach database as "'+e+'" because it already exists');if(r[0]&&r[0]instanceof G.StringValue||r[0]instanceof G.ParamValue){if(r[0]instanceof G.StringValue)var s=r[0].value;else r[0]instanceof G.ParamValue&&(s=n[r[0].param]);return o.utils.loadBinaryFile(s,!0,function(r){var n=new o.Database(e||t);n.engineid="SQLITE",n.sqldbid=t;var s=n.sqldb=new SQL.Database(r);n.tables=[],s.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values.forEach(function(t){n.tables[t[1]]={};var e=n.tables[t[1]].columns=[],r=o.parse(t[4]).statements[0].columns;r&&r.length>0&&r.forEach(function(t){e.push(t)})}),i(1)},function(t){throw new Error('Cannot open SQLite database file "'+r[0].value+'"')}),1}throw new Error("Cannot attach SQLite database without a file")},At.fromTable=function(t,e,r,n,i){var s=o.databases[t].sqldb.exec("SELECT * FROM "+e),a=i.sources[n].columns=[];s[0].columns.length>0&&s[0].columns.forEach(function(t){a.push({columnid:t})});var l=[];s[0].values.length>0&&s[0].values.forEach(function(t){var e={};a.forEach(function(r,n){e[r.columnid]=t[n]}),l.push(e)}),r&&r(l,n,i)},At.intoTable=function(t,e,r,n,i){for(var s=o.databases[t].sqldb,a=0,l=r.length;a"u")for(var n=document.getElementsByTagName("script"),i=0;i"u")throw new Error("Path to alasql.js is not specified");if(!1!==t){var s="importScripts('";s+=t,s+="');self.onmessage = function(event) {alasql(event.data.sql,event.data.params, function(data){postMessage({id:event.data.id, data:data});});}";var a=new Blob([s],{type:"text/plain"});if(o.webworker=new Worker(URL.createObjectURL(a)),o.webworker.onmessage=function(t){var e=t.data.id;o.buffer[e](t.data.data),delete o.buffer[e]},o.webworker.onerror=function(t){throw t},arguments.length>1){var l="REQUIRE "+e.map(function(t){return'"'+t+'"'}).join(",");o(l,[],r)}}else if(!1===t)return void delete o.webworker});var Rt=Rt||function(t){if(!(typeof t>"u"||typeof navigator<"u"&&/MSIE [1-9]\./.test(navigator.userAgent))){var e=t.document,r=function(){return t.URL||t.webkitURL||t},n=e.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in n,o=/constructor/i.test(t.HTMLElement)||t.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent),a=function(e){(t.setImmediate||t.setTimeout)(function(){throw e},0)},l=function(t){setTimeout(function(){"string"==typeof t?r().revokeObjectURL(t):t.remove()},4e4)},u=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\ufeff",t],{type:t.type}):t},c=function(e,c,h){h||(e=u(e));var d,p=this,f="application/octet-stream"===e.type,g=function(){!function(t,e){for(var r=(e=[].concat(e)).length;r--;){var n=t["on"+e[r]];if("function"==typeof n)try{n.call(t,t)}catch(t){a(t)}}}(p,"writestart progress write writeend".split(" "))};if(p.readyState=p.INIT,i)return d=r().createObjectURL(e),void setTimeout(function(){n.href=d,n.download=c,function(t){var e=new MouseEvent("click");t.dispatchEvent(e)}(n),g(),l(d),p.readyState=p.DONE});!function(){if((s||f&&o)&&t.FileReader){var n=new FileReader;return n.onloadend=function(){var e=s?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");t.open(e,"_blank")||(t.location.href=e),e=void 0,p.readyState=p.DONE,g()},n.readAsDataURL(e),void(p.readyState=p.INIT)}d||(d=r().createObjectURL(e)),f?t.location.href=d:t.open(d,"_blank")||(t.location.href=d),p.readyState=p.DONE,g(),l(d)}()},h=c.prototype;return typeof navigator<"u"&&navigator.msSaveOrOpenBlob?function(t,e,r){return e=e||t.name||"download",r||(t=u(t)),navigator.msSaveOrOpenBlob(t,e)}:(h.abort=function(){},h.readyState=h.INIT=0,h.WRITING=1,h.DONE=2,h.error=h.onwritestart=h.onprogress=h.onwrite=h.onabort=h.onerror=h.onwriteend=null,function(t,e,r){return new c(t,e||t.name||"download",r)})}}(typeof self<"u"&&self||typeof window<"u"&&window||this.content);typeof e<"u"&&e.exports?e.exports.saveAs=Rt:typeof define<"u"&&null!==define&&null!==define.amd&&define("FileSaver.js",function(){return Rt}),(u.isCordova||u.isMeteorServer||u.isNode)&&console.log("It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead."),o.utils.saveAs=Rt}return new F("alasql"),o.use("alasql"),o})}),Ln=c(()=>{(An=function(){function t(e,r,n,i){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,t.prototype),o.expected=r,o.found=n,o.location=i,o.name="SyntaxError",o}function e(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(t,Error),t.prototype.format=function(t){var r="Error: "+this.message;if(this.location){var n,i=null;for(n=0;n0){for(e=1,r=1;et[3])]}},ft=function(t,e){return{kind:"intersection",operands:[t,...e.map(t=>t[3])]}},gt=function(t){return{kind:"negation",operand:t}},mt=function(t,e,r){return{kind:"aligned",modality:t,axis:e,nodeId:r}},yt=function(t,e,r){return{kind:"directional",modality:t,relation:e,nodeId:r}},vt=function(t,e){return{kind:"reachable",relation:t,nodeId:e}},_t=function(t,e){return{kind:"alignedWith",axis:t,nodeId:e}},xt=function(t){return{kind:"nodeInfo",nodeId:t}},bt=function(t,e){return{kind:"edgesBetween",nodeIdA:t,nodeIdB:e}},Et=function(t){return{kind:"edgesOf",nodeId:t}},Tt=function(){return{kind:"allNodes"}},Ot=function(){return{kind:"allGroups"}},St=function(t,e){return{kind:"groupedTogether",nodeIds:[t,...e.map(t=>t[3])]}},wt=function(t){return{kind:"grouped",nodeId:t}},Nt=function(t){return{kind:"contains",groupName:t}},At=function(){return"must"},Ct=function(){return"cannot"},Rt=function(){return"can"},It=function(){return"leftOf"},Lt=function(){return"rightOf"},kt=function(){return"above"},Pt=function(){return"below"},Dt=function(){return"x"},Mt=function(){return"y"},jt=function(t){return t},Kt=0,Ut=[{line:1,column:1}],Ft=0,$t=[],Bt=0;if("startRule"in r){if(!(r.startRule in u))throw new Error("Can't start parsing from rule \""+r.startRule+'".');c=u[r.startRule]}function Ht(t,e){return{type:"literal",text:t,ignoreCase:e}}function Gt(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function qt(t){var r,n=Ut[t];if(n)return n;for(r=t-1;!Ut[r];)r--;for(n={line:(n=Ut[r]).line,column:n.column};rFt&&(Ft=Kt,$t=[]),$t.push(t))}function Yt(){var t,e;return t=Kt,te(),(e=Wt())!==a?(te(),t=dt(e)):(Kt=t,t=a),t}function Wt(){var t;return(t=function(){var t,r,n,i,o,s,l,u,c;if(t=Kt,e.substr(Kt,6)===h?(r=h,Kt+=6):(r=a,0===Bt&&Vt(K)),r!==a)if(te(),(n=Wt())!==a){if(i=[],o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Wt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a),o!==a)for(;o!==a;)i.push(o),o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Wt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a);else i=a;i!==a?(o=te(),41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=pt(n,i):(Kt=t,t=a)):(Kt=t,t=a)}else Kt=t,t=a;else Kt=t,t=a;return t}())===a&&(t=function(){var t,r,n,i,o,s,l,u,c;if(t=Kt,e.substr(Kt,6)===f?(r=f,Kt+=6):(r=a,0===Bt&&Vt($)),r!==a)if(te(),(n=Wt())!==a){if(i=[],o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Wt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a),o!==a)for(;o!==a;)i.push(o),o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Wt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a);else i=a;i!==a?(o=te(),41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=ft(n,i):(Kt=t,t=a)):(Kt=t,t=a)}else Kt=t,t=a;else Kt=t,t=a;return t}())===a&&(t=function(){var t,r,n,i;return t=Kt,e.substr(Kt,4)===g?(r=g,Kt+=4):(r=a,0===Bt&&Vt(B)),r!==a?(te(),(n=Wt())!==a?(te(),41===e.charCodeAt(Kt)?(i=p,Kt++):(i=a,0===Bt&&Vt(F)),i!==a?t=gt(n):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}())===a&&(t=function(){var t,r;return t=function(){var t,r,n,i,o,s,l;return t=Kt,(r=Xt())!==a?(e.substr(Kt,9)===m?(n=m,Kt+=9):(n=a,0===Bt&&Vt(H)),n!==a&&(i=Jt())!==a?(40===e.charCodeAt(Kt)?(o=y,Kt++):(o=a,0===Bt&&Vt(G)),o!==a&&(s=Zt())!==a?(41===e.charCodeAt(Kt)?(l=p,Kt++):(l=a,0===Bt&&Vt(F)),l!==a?t=mt(r,i,s):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i,o,s,l;return t=Kt,(r=Xt())!==a?(46===e.charCodeAt(Kt)?(n=v,Kt++):(n=a,0===Bt&&Vt(q)),n!==a&&(i=Qt())!==a?(40===e.charCodeAt(Kt)?(o=y,Kt++):(o=a,0===Bt&&Vt(G)),o!==a&&(s=Zt())!==a?(41===e.charCodeAt(Kt)?(l=p,Kt++):(l=a,0===Bt&&Vt(F)),l!==a?t=yt(r,i,s):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i,o,s;return t=Kt,e.substr(Kt,10)===_?(r=_,Kt+=10):(r=a,0===Bt&&Vt(z)),r!==a&&(n=Qt())!==a?(40===e.charCodeAt(Kt)?(i=y,Kt++):(i=a,0===Bt&&Vt(G)),i!==a&&(o=Zt())!==a?(41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=vt(n,o):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i,o,s;return t=Kt,e.substr(Kt,12)===x?(r=x,Kt+=12):(r=a,0===Bt&&Vt(V)),r!==a&&(n=Jt())!==a?(40===e.charCodeAt(Kt)?(i=y,Kt++):(i=a,0===Bt&&Vt(G)),i!==a&&(o=Zt())!==a?(41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=_t(n,o):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i;return t=Kt,e.substr(Kt,5)===b?(r=b,Kt+=5):(r=a,0===Bt&&Vt(Y)),r!==a&&(n=Zt())!==a?(41===e.charCodeAt(Kt)?(i=p,Kt++):(i=a,0===Bt&&Vt(F)),i!==a?t=xt(n):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i,o,s;return t=Kt,e.substr(Kt,6)===E?(r=E,Kt+=6):(r=a,0===Bt&&Vt(W)),r!==a?(te(),(n=Zt())!==a?(te(),44===e.charCodeAt(Kt)?(i=d,Kt++):(i=a,0===Bt&&Vt(U)),i!==a?(te(),(o=Zt())!==a?(te(),41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=bt(n,o):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i;return t=Kt,e.substr(Kt,6)===E?(r=E,Kt+=6):(r=a,0===Bt&&Vt(W)),r!==a?(te(),(n=Zt())!==a?(te(),41===e.charCodeAt(Kt)?(i=p,Kt++):(i=a,0===Bt&&Vt(F)),i!==a?t=Et(n):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(e.substr(Kt,7)===T?(r=T,Kt+=7):(r=a,0===Bt&&Vt(X)),r!==a&&(r=Tt()),(t=r)===a&&(t=function(){var t;return e.substr(Kt,8)===O?(t=O,Kt+=8):(t=a,0===Bt&&Vt(Q)),t!==a&&(t=Ot()),t}(),t===a&&(t=function(){var t,r,n,i,o,s,l,u,c;if(t=Kt,e.substr(Kt,8)===S?(r=S,Kt+=8):(r=a,0===Bt&&Vt(J)),r!==a)if(te(),(n=Zt())!==a){if(i=[],o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Zt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a),o!==a)for(;o!==a;)i.push(o),o=Kt,s=te(),44===e.charCodeAt(Kt)?(l=d,Kt++):(l=a,0===Bt&&Vt(U)),l!==a?(u=te(),(c=Zt())!==a?o=s=[s,l,u,c]:(Kt=o,o=a)):(Kt=o,o=a);else i=a;i!==a?(o=te(),41===e.charCodeAt(Kt)?(s=p,Kt++):(s=a,0===Bt&&Vt(F)),s!==a?t=St(n,i):(Kt=t,t=a)):(Kt=t,t=a)}else Kt=t,t=a;else Kt=t,t=a;return t}(),t===a&&(t=function(){var t,r,n,i;return t=Kt,e.substr(Kt,8)===S?(r=S,Kt+=8):(r=a,0===Bt&&Vt(J)),r!==a?(te(),(n=Zt())!==a?(te(),41===e.charCodeAt(Kt)?(i=p,Kt++):(i=a,0===Bt&&Vt(F)),i!==a?t=wt(n):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}(),t===a&&(t=function(){var t,r,n,i;return t=Kt,e.substr(Kt,9)===w?(r=w,Kt+=9):(r=a,0===Bt&&Vt(Z)),r!==a?(te(),(n=Zt())!==a?(te(),41===e.charCodeAt(Kt)?(i=p,Kt++):(i=a,0===Bt&&Vt(F)),i!==a?t=Nt(n):(Kt=t,t=a)):(Kt=t,t=a)):(Kt=t,t=a),t}()))))))))))),t}()),t}function Xt(){var t,r;return t=Kt,e.substr(Kt,4)===N?(r=N,Kt+=4):(r=a,0===Bt&&Vt(tt)),r!==a&&(r=At()),(t=r)===a&&(t=Kt,e.substr(Kt,6)===A?(r=A,Kt+=6):(r=a,0===Bt&&Vt(et)),r!==a&&(r=Ct()),(t=r)===a&&(t=Kt,e.substr(Kt,3)===C?(r=C,Kt+=3):(r=a,0===Bt&&Vt(rt)),r!==a&&(r=Rt()),t=r)),t}function Qt(){var t,r;return t=Kt,e.substr(Kt,6)===R?(r=R,Kt+=6):(r=a,0===Bt&&Vt(nt)),r!==a&&(r=It()),(t=r)===a&&(t=Kt,e.substr(Kt,7)===I?(r=I,Kt+=7):(r=a,0===Bt&&Vt(it)),r!==a&&(r=Lt()),(t=r)===a&&(t=Kt,e.substr(Kt,5)===L?(r=L,Kt+=5):(r=a,0===Bt&&Vt(ot)),r!==a&&(r=kt()),(t=r)===a&&(t=Kt,e.substr(Kt,5)===k?(r=k,Kt+=5):(r=a,0===Bt&&Vt(st)),r!==a&&(r=Pt()),t=r))),t}function Jt(){var t,r;return t=Kt,120===e.charCodeAt(Kt)?(r=P,Kt++):(r=a,0===Bt&&Vt(at)),r!==a&&(r=Dt()),(t=r)===a&&(t=Kt,121===e.charCodeAt(Kt)?(r=D,Kt++):(r=a,0===Bt&&Vt(lt)),r!==a&&(r=Mt()),t=r),t}function Zt(){var t,r,n;if(t=Kt,r=[],M.test(e.charAt(Kt))?(n=e.charAt(Kt),Kt++):(n=a,0===Bt&&Vt(ut)),n!==a)for(;n!==a;)r.push(n),M.test(e.charAt(Kt))?(n=e.charAt(Kt),Kt++):(n=a,0===Bt&&Vt(ut));else r=a;return(t=r!==a?e.substring(t,Kt):r)!==a&&(t=jt(t)),t}function te(){var t,r;for(Bt++,t=[],j.test(e.charAt(Kt))?(r=e.charAt(Kt),Kt++):(r=a,0===Bt&&Vt(ht));r!==a;)t.push(r),j.test(e.charAt(Kt))?(r=e.charAt(Kt),Kt++):(r=a,0===Bt&&Vt(ht));return Bt--,r=a,0===Bt&&Vt(ct),t}if((n=c())!==a&&Kt===e.length)return n;throw n!==a&&Kt{Ln(),t.LayoutEvaluatorResult=class t{constructor(t,e,r){this.atoms=t,this.expr=e,this.err=r??null}static fromSet(e,r){return new t(Array.from(e).sort(),r)}static error(e,r){return new t([],r,{message:e,code:"LAYOUT_QUERY_ERROR"})}prettyPrint(){return this.err?`Error: ${this.err.message}`:0===this.atoms.length?"(empty)":this.atoms.join(", ")}noResult(){return!this.err&&0===this.atoms.length}singleResult(){if(1!==this.atoms.length)throw new Error(`Expected single value from "${this.expr}", got ${this.atoms.length} results`);return this.atoms[0]}selectedAtoms(){return[...this.atoms]}selectedTwoples(){return[]}selectedTuplesAll(){return this.atoms.map(t=>[t])}maxArity(){return this.atoms.length>0?1:0}isError(){return null!==this.err}isSingleton(){return 1===this.atoms.length}getExpression(){return this.expr}getRawResult(){return this.err?{error:{message:this.err.message,code:this.err.code}}:this.atoms.map(t=>[t])}},t.LayoutEvaluatorRecordResult=class t{constructor(t,e,r){this.entries=t,this.expr=e,this.err=r??null}static error(e,r){return new t([],r,{message:e,code:"LAYOUT_QUERY_ERROR"})}prettyPrint(){return this.err?`Error: ${this.err.message}`:0===this.entries.length?"(empty)":this.entries.map(([t,e])=>`${t}: ${e}`).join("\n")}noResult(){return!this.err&&0===this.entries.length}singleResult(){if(1!==this.entries.length)throw new Error(`Expected single value from "${this.expr}", got ${this.entries.length} entries`);return this.entries[0][1]}selectedAtoms(){return this.entries.map(([,t])=>t)}selectedTwoples(){return this.entries.map(([t,e])=>[t,e])}selectedTuplesAll(){return this.entries.map(([t,e])=>[t,e])}maxArity(){return this.entries.length>0?2:0}isError(){return null!==this.err}isSingleton(){return 1===this.entries.length}getExpression(){return this.expr}getRawResult(){return this.err?{error:{message:this.err.message,code:this.err.code}}:this.entries.map(([t,e])=>[t,e])}},t.LayoutEvaluatorEdgeResult=class t{constructor(t,e,r){this.edgeInfos=t,this.expr=e,this.err=r??null}static fromLayoutEdges(e,r){let n=e.map(t=>({source:t.source.id,target:t.target.id,label:t.label,relationName:t.relationName,color:t.color,style:t.style??"solid",weight:t.weight??1}));return new t(n,r)}static error(e,r){return new t([],r,{message:e,code:"LAYOUT_QUERY_ERROR"})}prettyPrint(){return this.err?`Error: ${this.err.message}`:0===this.edgeInfos.length?"(empty)":this.edgeInfos.map(t=>`${t.source} --[${t.label}]--\x3e ${t.target} (${t.color}, ${t.style})`).join("\n")}noResult(){return!this.err&&0===this.edgeInfos.length}singleResult(){if(1!==this.edgeInfos.length)throw new Error(`Expected single edge from "${this.expr}", got ${this.edgeInfos.length} results`);return`${this.edgeInfos[0].source} --[${this.edgeInfos[0].label}]--\x3e ${this.edgeInfos[0].target}`}selectedAtoms(){let t=new Set;for(let e of this.edgeInfos)t.add(e.source),t.add(e.target);return[...t].sort()}selectedTwoples(){return this.edgeInfos.map(t=>[t.source,t.target])}selectedTuplesAll(){return this.edgeInfos.map(t=>[t.source,t.target,t.label,t.relationName,t.color,t.style,String(t.weight)])}maxArity(){return this.edgeInfos.length>0?7:0}isError(){return null!==this.err}isSingleton(){return 1===this.edgeInfos.length}getExpression(){return this.expr}getEdges(){return[...this.edgeInfos]}getRawResult(){return this.err?{error:{message:this.err.message,code:this.err.code}}:this.edgeInfos.map(t=>[t.source,t.target,t.label,t.color,t.style])}},t.LayoutEvaluator=class{constructor(t,e){this.validator=t,this.layout=e,this.allNodeIds=new Set((e.nodes??[]).filter(t=>!t._isAuxiliary&&!t._isBoundingBox).map(t=>t.id).filter(t=>""!==t)),this.nodeById=new Map;for(let t of e.nodes??[])this.allNodeIds.has(t.id)&&this.nodeById.set(t.id,t);this.groupsByNode=new Map,this.groupMembers=new Map;for(let t of e.groups??[]){let e=t.name,r=[];for(let n of t.nodeIds??[])if(this.allNodeIds.has(n)){r.push(n);let t=this.groupsByNode.get(n)??[];t.push(e),this.groupsByNode.set(n,t)}this.groupMembers.set(e,r)}this.edgesByNode=new Map,this.edgesBetweenPair=new Map;for(let t of e.edges??[]){if(t.hidden)continue;let e=t.source.id,r=t.target.id;this.edgesByNode.has(e)||this.edgesByNode.set(e,[]),this.edgesByNode.has(r)||this.edgesByNode.set(r,[]),this.edgesByNode.get(e).push(t),e!==r&&this.edgesByNode.get(r).push(t);let n=[e,r].sort().join("|");this.edgesBetweenPair.has(n)||this.edgesBetweenPair.set(n,[]),this.edgesBetweenPair.get(n).push(t)}}query(e){let r=this.queryToString(e);try{switch(e.kind){case"directional":return this.queryDirectional(e.modality,e.relation,e.nodeId,r);case"aligned":return this.queryAligned(e.modality,e.axis,e.nodeId,r);case"grouped":return this.queryGrouped(e.nodeId,r);case"groupedTogether":return this.queryGroupedTogether(e.nodeIds,r);case"contains":return this.queryContains(e.groupName,r);case"reachable":return t.LayoutEvaluatorResult.fromSet(this.validator.getReachable(e.nodeId,e.relation),r);case"alignedWith":return t.LayoutEvaluatorResult.fromSet(this.validator.getAlignedWith(e.nodeId,e.axis),r);case"nodeInfo":return this.queryNodeInfo(e.nodeId,r);case"edgesOf":return this.queryEdgesOf(e.nodeId,r);case"edgesBetween":return this.queryEdgesBetween(e.nodeIdA,e.nodeIdB,r);case"allNodes":return t.LayoutEvaluatorResult.fromSet(this.allNodeIds,r);case"allGroups":return new t.LayoutEvaluatorResult([...this.groupMembers.keys()].sort(),r);case"union":{let n=e.operands.map(t=>this.evaluateToAtomSet(t)),i=new Set;for(let t of n)for(let e of t)i.add(e);return t.LayoutEvaluatorResult.fromSet(i,r)}case"intersection":{let n=e.operands.map(t=>this.evaluateToAtomSet(t)),i=n[0];for(let t=1;te.has(t)))}return t.LayoutEvaluatorResult.fromSet(i,r)}case"negation":{let n=this.evaluateToAtomSet(e.operand),i=new Set([...this.allNodeIds].filter(t=>!n.has(t)));return t.LayoutEvaluatorResult.fromSet(i,r)}}}catch(e){return t.LayoutEvaluatorResult.error(e.message??String(e),r)}}evaluate(e){let r=this.parseExpression(e);return r?this.query(r):t.LayoutEvaluatorResult.error(`Unrecognized spatial query: "${e}"`,e)}getAllNodeIds(){return new Set(this.allNodeIds)}queryDirectional(e,r,n,i){if(!this.allNodeIds.has(n))return t.LayoutEvaluatorResult.error(`Unknown node: "${n}"`,i);let o;switch(e){case"must":o=this.validator.getMust(n,r);break;case"cannot":o=this.validator.getCannot(n,r);break;case"can":o=this.validator.getCan(n,r)}return t.LayoutEvaluatorResult.fromSet(o,i)}queryAligned(e,r,n,i){if(!this.allNodeIds.has(n))return t.LayoutEvaluatorResult.error(`Unknown node: "${n}"`,i);let o;switch(e){case"must":o=this.validator.getMustAligned(n,r);break;case"cannot":o=this.validator.getCannotAligned(n,r);break;case"can":o=this.validator.getCanAligned(n,r)}return t.LayoutEvaluatorResult.fromSet(o,i)}queryGrouped(e,r){let n=this.groupsByNode.get(e)??[];return new t.LayoutEvaluatorResult(n.sort(),r)}queryGroupedTogether(e,r){if(0===e.length)return new t.LayoutEvaluatorResult([...this.groupMembers.keys()].sort(),r);let n=new Set(this.groupsByNode.get(e[0])??[]);for(let t=1;t1&&i.push(["types",n.types.join(", ")]),n.attributes&&Object.keys(n.attributes).length>0)for(let[t,e]of Object.entries(n.attributes))i.push([`attr:${t}`,e.join(", ")]);if(n.labels&&Object.keys(n.labels).length>0)for(let[t,e]of Object.entries(n.labels))i.push([`label:${t}`,e.join(", ")]);return n.groups&&n.groups.length>0&&i.push(["groups",n.groups.join(", ")]),new t.LayoutEvaluatorRecordResult(i,r)}queryEdgesOf(e,r){if(!this.allNodeIds.has(e))return t.LayoutEvaluatorEdgeResult.error(`Unknown node: "${e}"`,r);let n=this.edgesByNode.get(e)??[];return t.LayoutEvaluatorEdgeResult.fromLayoutEdges(n,r)}queryEdgesBetween(e,r,n){if(!this.allNodeIds.has(e))return t.LayoutEvaluatorEdgeResult.error(`Unknown node: "${e}"`,n);if(!this.allNodeIds.has(r))return t.LayoutEvaluatorEdgeResult.error(`Unknown node: "${r}"`,n);let i=[e,r].sort().join("|"),o=this.edgesBetweenPair.get(i)??[];return t.LayoutEvaluatorEdgeResult.fromLayoutEdges(o,n)}parseExpression(t){try{return Cn(t.trim())}catch{return null}}queryToString(t){switch(t.kind){case"directional":return`${t.modality}.${t.relation}(${t.nodeId})`;case"aligned":return`${t.modality}.aligned.${t.axis}(${t.nodeId})`;case"grouped":return`grouped(${t.nodeId})`;case"groupedTogether":return`grouped(${t.nodeIds.join(", ")})`;case"contains":return`contains(${t.groupName})`;case"reachable":return`reachable.${t.relation}(${t.nodeId})`;case"alignedWith":return`alignedWith.${t.axis}(${t.nodeId})`;case"nodeInfo":return`node(${t.nodeId})`;case"edgesOf":return`edges(${t.nodeId})`;case"edgesBetween":return`edges(${t.nodeIdA}, ${t.nodeIdB})`;case"allNodes":return"nodes()";case"allGroups":return"groups()";case"union":return`union(${t.operands.map(t=>this.queryToString(t)).join(", ")})`;case"intersection":return`inter(${t.operands.map(t=>this.queryToString(t)).join(", ")})`;case"negation":return`not(${this.queryToString(t.operand)})`}}}});function Pn(t){return void 0!==t.top}function Dn(t){return void 0!==t.left}function Mn(t){return void 0!==t.axis}function jn(t){return void 0!==t.group&&void 0!==t.side}function Kn(t){return void 0!==t.groupA&&void 0!==t.groupB}function Un(t){return Array.isArray(t.nodes)&&Array.isArray(t.edges)&&Array.isArray(t.constraints)&&Array.isArray(t.groups)&&t.nodes.every(t=>"string"==typeof t.id)&&t.edges.every(t=>"object"==typeof t.source&&"object"==typeof t.target)&&t.constraints.every(t=>"object"==typeof t.sourceConstraint)&&t.groups.every(t=>"string"==typeof t.name)&&(void 0===t.disjunctiveConstraints||Array.isArray(t.disjunctiveConstraints))}function Fn(t){return t instanceof zn}function $n(t,e){return Pn(t)?[[{top:t.bottom,bottom:t.top,minDistance:0,sourceConstraint:e}],[{axis:"y",node1:t.top,node2:t.bottom,sourceConstraint:e}]]:Dn(t)?[[{left:t.right,right:t.left,minDistance:0,sourceConstraint:e}],[{axis:"x",node1:t.left,node2:t.right,sourceConstraint:e}]]:Mn(t)?"y"===t.axis?[[{top:t.node1,bottom:t.node2,minDistance:1,sourceConstraint:e}],[{top:t.node2,bottom:t.node1,minDistance:1,sourceConstraint:e}]]:[[{left:t.node1,right:t.node2,minDistance:1,sourceConstraint:e}],[{left:t.node2,right:t.node1,minDistance:1,sourceConstraint:e}]]:[[t]]}function Bn(t,e){let r=[];for(let n of t){let t=$n(n,e);r.push(...t)}return r}function Hn(t,e){let r=[];for(let n of t.alternatives){let t=Bn(n,e);r.push(new zn(e,t))}return r}var Gn,qn,zn,Vn=c(()=>{var t;(t=Gn||{}).DefaultPalette="default-palette",t.Directive="directive",Gn=t,qn=class{constructor(t,e){this.c=t,this.reason=e}toHTML(){return`Implicit constraint ${this.c.toHTML()} because ${this.reason}`}},zn=class{constructor(t,e){this.sourceConstraint=t,this.alternatives=e}toString(){return`DisjunctiveConstraint with ${this.alternatives.length} alternatives from ${this.sourceConstraint}`}addAlternative(t){this.alternatives.push(t)}}});function Yn(t){return typeof t>"u"||null===t}function Wn(t){return"object"==typeof t&&null!==t}function Xn(t){return Array.isArray(t)?t:Yn(t)?[]:[t]}function Qn(t,e){var r,n,i,o;if(e)for(r=0,n=(o=Object.keys(e)).length;ra&&(e=n-a+(o=" ... ").length),r-n>a&&(r=n+a-(s=" ...").length),{str:o+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+o.length}}function ni(t,e){return Mo.repeat(" ",e-t.length)+t}function ii(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,n=/\r?\n|\r|\0/g,i=[0],o=[],s=-1;r=n.exec(t.buffer);)o.push(r.index),i.push(r.index+r[0].length),t.position<=r.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a,l,u="",c=Math.min(t.line+e.linesAfter,o.length).toString().length,h=e.maxLength-(e.indent+c+3);for(a=1;a<=e.linesBefore&&!(s-a<0);a++)l=ri(t.buffer,i[s-a],o[s-a],t.position-(i[s]-i[s-a]),h),u=Mo.repeat(" ",e.indent)+ni((t.line-a+1).toString(),c)+" | "+l.str+"\n"+u;for(l=ri(t.buffer,i[s],o[s],t.position,h),u+=Mo.repeat(" ",e.indent)+ni((t.line+1).toString(),c)+" | "+l.str+"\n",u+=Mo.repeat("-",e.indent+c+3+l.pos)+"^\n",a=1;a<=e.linesAfter&&!(s+a>=o.length);a++)l=ri(t.buffer,i[s+a],o[s+a],t.position-(i[s]-i[s+a]),h),u+=Mo.repeat(" ",e.indent)+ni((t.line+a+1).toString(),c)+" | "+l.str+"\n";return u.replace(/\n$/,"")}function oi(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===Uo.indexOf(e))throw new jo('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}(e.styleAliases||null),-1===Fo.indexOf(this.kind))throw new jo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function si(t,e){var r=[];return t[e].forEach(function(t){var e=r.length;r.forEach(function(r,n){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=n)}),r[e]=t}),r}function ai(t){return this.extend(t)}function li(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function ui(){return null}function ci(t){return null===t}function hi(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function di(t){return"true"===t||"True"===t||"TRUE"===t}function pi(t){return"[object Boolean]"===Object.prototype.toString.call(t)}function fi(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function gi(t){return 48<=t&&t<=55}function mi(t){return 48<=t&&t<=57}function yi(t){if(null===t)return!1;var e,r=t.length,n=0,i=!1;if(!r)return!1;if(("-"===(e=t[n])||"+"===e)&&(e=t[++n]),"0"===e){if(n+1===r)return!0;if("b"===(e=t[++n])){for(n++;n=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)}function Ei(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Mo.isNegativeZero(t))return"-0.0";return r=t.toString(10),Qo.test(r)?r.replace("e",".e"):r}function Ti(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Mo.isNegativeZero(t))}function Oi(t){return null!==t&&(null!==es.exec(t)||null!==rs.exec(t))}function Si(t){var e,r,n,i,o,s,a,l,u=0,c=null;if(null===(e=es.exec(t))&&(e=rs.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(c=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(c=-c)),l=new Date(Date.UTC(r,n,i,o,s,a,u)),c&&l.setTime(l.getTime()-c),l}function wi(t){return t.toISOString()}function Ni(t){return"<<"===t||null===t}function Ai(t){if(null===t)return!1;var e,r,n=0,i=t.length,o=os;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8==0}function Ci(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,o=os,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(255&s)),s=s<<6|o.indexOf(n.charAt(e));return 0==(r=i%4*6)?(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)):18===r?(a.push(s>>10&255),a.push(s>>2&255)):12===r&&a.push(s>>4&255),new Uint8Array(a)}function Ri(t){var e,r,n="",i=0,o=t.length,s=os;for(e=0;e>18&63],n+=s[i>>12&63],n+=s[i>>6&63],n+=s[63&i]),i=(i<<8)+t[e];return 0==(r=o%3)?(n+=s[i>>18&63],n+=s[i>>12&63],n+=s[i>>6&63],n+=s[63&i]):2===r?(n+=s[i>>10&63],n+=s[i>>4&63],n+=s[i<<2&63],n+=s[64]):1===r&&(n+=s[i>>2&63],n+=s[i<<4&63],n+=s[64],n+=s[64]),n}function Ii(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}function Li(t){if(null===t)return!0;var e,r,n,i,o,s=[],a=t;for(e=0,r=a.length;e>10),56320+(t-65536&1023))}function Yi(t,e,r){"__proto__"===e?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}function Wi(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||fs,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Xi(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=Ko(r),new jo(e,r)}function Qi(t,e){throw Xi(t,e)}function Ji(t,e){t.onWarning&&t.onWarning.call(null,Xi(t,e))}function Zi(t,e,r,n){var i,o,s,a;if(e1&&(t.result+=Mo.repeat("\n",e-1))}function so(t,e){var r,n,i=t.tag,o=t.anchor,s=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),n=t.input.charCodeAt(t.position);0!==n&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Qi(t,"tab characters must not be used in indentation")),45===n&&$i(t.input.charCodeAt(t.position+1)));)if(a=!0,t.position++,no(t,!0,-1)&&t.lineIndent<=e)s.push(null),n=t.input.charCodeAt(t.position);else if(r=t.line,uo(t,e,vs,!1,!0),s.push(t.result),no(t,!0,-1),n=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==n)Qi(t,"bad indentation of a sequence entry");else if(t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndente)&&(y&&(s=t.line,a=t.lineStart,l=t.position),uo(t,e,_s,!0,i)&&(y?g=t.result:m=t.result),y||(eo(t,d,p,f,g,m,s,a,l),f=g=m=null),no(t,!0,-1),u=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&0!==u)Qi(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===i?Qi(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Qi(t,"repeat of an indentation width identifier"):(u=e+i-1,l=!0)}if(Fi(o)){do{o=t.input.charCodeAt(++t.position)}while(Fi(o));if(35===o)do{o=t.input.charCodeAt(++t.position)}while(!Ui(o)&&0!==o)}for(;0!==o;){for(ro(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!l||t.lineIndentu&&(u=t.lineIndent),Ui(o))c++;else{if(t.lineIndent0){for(i=s,o=0;i>0;i--)(s=Hi(a=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+s:Qi(t,"expected hexadecimal character");t.result+=Vi(o),t.position++}else Qi(t,"unknown escape sequence");r=n=t.position}else Ui(a)?(Zi(t,r,n,!0),oo(t,no(t,!1,e)),r=n=t.position):t.position===t.lineStart&&io(t)?Qi(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Qi(t,"unexpected end of the stream within a double quoted scalar")}(t,d)?m=!0:function(t){var e,r,n;if(42!==(n=t.input.charCodeAt(t.position)))return!1;for(n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!$i(n)&&!Bi(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&Qi(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),gs.call(t.anchorMap,r)||Qi(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],no(t,!0,-1),!0}(t)?(m=!0,(null!==t.tag||null!==t.anchor)&&Qi(t,"alias node should not have any properties")):function(t,e,r){var n,i,o,s,a,l,u,c,h=t.kind,d=t.result;if($i(c=t.input.charCodeAt(t.position))||Bi(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c||(63===c||45===c)&&($i(n=t.input.charCodeAt(t.position+1))||r&&Bi(n)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,s=!1;0!==c;){if(58===c){if($i(n=t.input.charCodeAt(t.position+1))||r&&Bi(n))break}else if(35===c){if($i(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&io(t)||r&&Bi(c))break;if(Ui(c)){if(a=t.line,l=t.lineStart,u=t.lineIndent,no(t,!1,-1),t.lineIndent>=e){s=!0,c=t.input.charCodeAt(t.position);continue}t.position=o,t.line=a,t.lineStart=l,t.lineIndent=u;break}}s&&(Zi(t,i,o,!1),oo(t,t.line-a),i=o=t.position,s=!1),Fi(c)||(o=t.position+1),c=t.input.charCodeAt(++t.position)}return Zi(t,i,o,!1),!!t.result||(t.kind=h,t.result=d,!1)}(t,d,ms===r)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(m=a&&so(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Qi(t,'unacceptable node kind for !> tag; it should be "scalar", not "'+t.kind+'"'),l=0,u=t.implicitTypes.length;l"),null!==t.result&&h.kind!==t.kind&&Qi(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result,t.tag)?(t.result=h.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Qi(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function co(t){var e,r,n,i,o=t.position,s=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(no(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(s=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!$i(i);)i=t.input.charCodeAt(++t.position);for(n=[],(r=t.input.slice(e,t.position)).length<1&&Qi(t,"directive name must not be less than one character in length");0!==i;){for(;Fi(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!Ui(i));break}if(Ui(i))break;for(e=t.position;0!==i&&!$i(i);)i=t.input.charCodeAt(++t.position);n.push(t.input.slice(e,t.position))}0!==i&&ro(t),gs.call(Is,r)?Is[r](t,r,n):Ji(t,'unknown document directive "'+r+'"')}no(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,no(t,!0,-1)):s&&Qi(t,"directives end mark is expected"),uo(t,t.lineIndent-1,_s,!1,!0),no(t,!0,-1),t.checkLineBreaks&&Os.test(t.input.slice(o,t.position))&&Ji(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&io(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,no(t,!0,-1)):t.position"u"&&(r=e,e=null);var n=ho(t,r);if("function"!=typeof e)return n;for(var i=0,o=n.length;i=55296&&n<=56319&&e+1=56320&&r<=57343?1024*(n-55296)+r-56320+65536:n}function Oo(t){return/^\n* /.test(t)}function So(t,e,r,n,i){t.dump=function(){if(0===e.length)return t.quotingType===ca?'""':"''";if(!t.noCompatMode&&(-1!==aa.indexOf(e)||la.test(e)))return t.quotingType===ca?'"'+e+'"':"'"+e+"'";var o=t.indent*Math.max(1,r),s=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),a=n||t.flowLevel>-1&&r>=t.flowLevel;switch(function(t,e,r,n,i,o,s,a){var l,u=0,c=null,h=!1,d=!1,p=-1!==n,f=-1,g=function(t){return xo(t)&&t!==Ds&&!_o(t)&&t!==Ys&&t!==Js&&t!==Ws&&t!==Vs&&t!==ta&&t!==ea&&t!==na&&t!==oa&&t!==Bs&&t!==Gs&&t!==zs&&t!==Fs&&t!==ia&&t!==Xs&&t!==Qs&&t!==qs&&t!==$s&&t!==Hs&&t!==Zs&&t!==ra}(To(t,0))&&function(t){return!_o(t)&&t!==Ws}(To(t,t.length-1));if(e||s)for(l=0;l=65536?l+=2:l++){if(!xo(u=To(t,l)))return ga;g=g&&Eo(u,c,a),c=u}else{for(l=0;l=65536?l+=2:l++){if((u=To(t,l))===js)h=!0,p&&(d=d||l-f-1>n&&" "!==t[f+1],f=l);else if(!xo(u))return ga;g=g&&Eo(u,c,a),c=u}d=d||p&&l-f-1>n&&" "!==t[f+1]}return h||d?r>9&&Oo(t)?ga:s?o===ca?ga:da:d?fa:pa:!g||s||i(t)?o===ca?ga:da:ha}(e,a,t.indent,s,function(e){return function(t,e){var r,n;for(r=0,n=t.implicitTypes.length;r"+wo(e,t.indent)+No(yo(function(t,e){for(var r,n,i=/(\n+)([^\n]*)/g,o=(u=void 0,u=-1!==(u=t.indexOf("\n"))?u:t.length,i.lastIndex=u,Ao(t.slice(0,u),e)),s="\n"===t[0]||" "===t[0];n=i.exec(t);){var a=n[1],l=n[2];r=" "===l[0],o+=a+(s||r||""===l?"":"\n")+Ao(l,e),s=r}var u;return o}(e,s),o));case ga:return'"'+function(t){for(var e,r="",n=0,i=0;i=65536?i+=2:i++)n=To(t,i),!(e=sa[n])&&xo(n)?(r+=t[i],n>=65536&&(r+=t[i+1])):r+=e||go(n);return r}(e)+'"';default:throw new jo("impossible error: invalid scalar style")}}()}function wo(t,e){var r=Oo(t)?String(e):"",n="\n"===t[t.length-1];return r+(!n||"\n"!==t[t.length-2]&&"\n"!==t?n?"":"-":"+")+"\n"}function No(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Ao(t,e){if(""===t||" "===t[0])return t;for(var r,n,i=/ [^ ]/g,o=0,s=0,a=0,l="";r=i.exec(t);)(a=r.index)-o>e&&(n=s>o?s:a,l+="\n"+t.slice(o,n),o=n+1),s=a;return l+="\n",t.length-o>e&&s>o?l+=t.slice(o,s)+"\n"+t.slice(s+1):l+=t.slice(o),l.slice(1)}function Co(t,e,r,n){var i,o,s,a="",l=t.tag;for(i=0,o=r.length;i"u"&&Io(t,e+1,null,!0,!0,!1,!0))&&((!n||""!==a)&&(a+=vo(t,e)),t.dump&&js===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=l,t.dump=a||"[]"}function Ro(t,e,r){var n,i,o,s,a,l;for(o=0,s=(i=r?t.explicitTypes:t.implicitTypes).length;o tag resolver accepts not "'+l+'" style');n=a.represent[l](e,l)}t.dump=n}return!0}return!1}function Io(t,e,r,n,i,o,s){t.tag=null,t.dump=r,Ro(t,r,!1)||Ro(t,r,!0);var a,l=ks.call(t.dump),u=n;n&&(n=t.flowLevel<0||t.flowLevel>e);var c,h,d="[object Object]"===l||"[object Array]"===l;if(d&&(h=-1!==(c=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||h||2!==t.indent&&e>0)&&(i=!1),h&&t.usedDuplicates[c])t.dump="*ref_"+c;else{if(d&&h&&!t.usedDuplicates[c]&&(t.usedDuplicates[c]=!0),"[object Object]"===l)n&&0!==Object.keys(t.dump).length?(function(t,e,r,n){var i,o,s,a,l,u,c="",h=t.tag,d=Object.keys(r);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new jo("sortKeys must be a boolean or a function");for(i=0,o=d.length;i1024)&&(t.dump&&js===t.dump.charCodeAt(0)?u+="?":u+="? "),u+=t.dump,l&&(u+=vo(t,e)),Io(t,e+1,a,!0,l)&&(t.dump&&js===t.dump.charCodeAt(0)?u+=":":u+=": ",c+=u+=t.dump));t.tag=h,t.dump=c||"{}"}(t,e,t.dump,i),h&&(t.dump="&ref_"+c+t.dump)):(function(t,e,r){var n,i,o,s,a,l="",u=t.tag,c=Object.keys(r);for(n=0,i=c.length;n1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Io(t,e,s,!1,!1)&&(l+=a+=t.dump));t.tag=u,t.dump="{"+l+"}"}(t,e,t.dump),h&&(t.dump="&ref_"+c+" "+t.dump));else if("[object Array]"===l)n&&0!==t.dump.length?(t.noArrayIndent&&!s&&e>0?Co(t,e-1,t.dump,i):Co(t,e,t.dump,i),h&&(t.dump="&ref_"+c+t.dump)):(function(t,e,r){var n,i,o,s="",a=t.tag;for(n=0,i=r.length;n"u"&&Io(t,e,null,!1,!1))&&(""!==s&&(s+=","+(t.condenseFlow?"":" ")),s+=t.dump);t.tag=a,t.dump="["+s+"]"}(t,e,t.dump),h&&(t.dump="&ref_"+c+" "+t.dump));else{if("[object String]"!==l){if("[object Undefined]"===l)return!1;if(t.skipInvalid)return!1;throw new jo("unacceptable kind of an object to dump "+l)}"?"!==t.tag&&So(t,t.dump,e,o,u)}null!==t.tag&&"?"!==t.tag&&(a=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),a="!"===t.tag[0]?"!"+a:"tag:yaml.org,2002:"===a.slice(0,18)?"!!"+a.slice(18):"!<"+a+">",t.dump=a+" "+t.dump)}return!0}function Lo(t,e){var r,n,i=[],o=[];for(ko(t,i,o),r=0,n=o.length;r{for(Mo={isNothing:Yn,isObject:Wn,toArray:Xn,repeat:Jn,isNegativeZero:Zn,extend:Qn},ei.prototype=Object.create(Error.prototype),ei.prototype.constructor=ei,ei.prototype.toString=function(t){return this.name+": "+ti(this,t)},jo=ei,Ko=ii,Uo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Fo=["scalar","sequence","mapping"],$o=oi,ai.prototype.extend=function(t){var e=[],r=[];if(t instanceof $o)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new jo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach(function(t){if(!(t instanceof $o))throw new jo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new jo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new jo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(t){if(!(t instanceof $o))throw new jo("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var n=Object.create(ai.prototype);return n.implicit=(this.implicit||[]).concat(e),n.explicit=(this.explicit||[]).concat(r),n.compiledImplicit=si(n,"implicit"),n.compiledExplicit=si(n,"explicit"),n.compiledTypeMap=function(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Xo=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),Qo=/^[-+]?[0-9]+e/,Jo=new $o("tag:yaml.org,2002:float",{kind:"scalar",resolve:xi,construct:bi,predicate:Ti,represent:Ei,defaultStyle:"lowercase"}),Zo=zo.extend({implicit:[Vo,Yo,Wo,Jo]}),ts=Zo,es=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),rs=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),ns=new $o("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Oi,construct:Si,instanceOf:Date,represent:wi}),is=new $o("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Ni}),os="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",ss=new $o("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Ai,construct:Ci,predicate:Ii,represent:Ri}),as=Object.prototype.hasOwnProperty,ls=Object.prototype.toString,us=new $o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Li,construct:ki}),cs=Object.prototype.toString,hs=new $o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Pi,construct:Di}),ds=Object.prototype.hasOwnProperty,ps=new $o("tag:yaml.org,2002:set",{kind:"mapping",resolve:Mi,construct:ji}),fs=ts.extend({implicit:[ns,is],explicit:[ss,us,hs,ps]}),gs=Object.prototype.hasOwnProperty,ms=1,ys=2,vs=3,_s=4,xs=1,bs=2,Es=3,Ts=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Os=/[\x85\u2028\u2029]/,Ss=/[,\[\]\{\}]/,ws=/^(?:!|!!|![a-z\-]+!)$/i,Ns=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,As=new Array(256),Cs=new Array(256),Rs=0;Rs<256;Rs++)As[Rs]=zi(Rs)?1:0,Cs[Rs]=zi(Rs);Is={YAML:function(t,e,r){var n,i,o;null!==t.version&&Qi(t,"duplication of %YAML directive"),1!==r.length&&Qi(t,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&Qi(t,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),o=parseInt(n[2],10),1!==i&&Qi(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&Ji(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var n,i;2!==r.length&&Qi(t,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],ws.test(n)||Qi(t,"ill-formed tag handle (first argument) of the TAG directive"),gs.call(t.tagMap,n)&&Qi(t,'there is a previously declared suffix for "'+n+'" tag handle'),Ns.test(i)||Qi(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{Qi(t,"tag prefix is malformed: "+i)}t.tagMap[n]=i}},Ls={loadAll:po,load:fo},ks=Object.prototype.toString,Ps=Object.prototype.hasOwnProperty,Ds=65279,Ms=9,js=10,Ks=13,Us=32,Fs=33,$s=34,Bs=35,Hs=37,Gs=38,qs=39,zs=42,Vs=44,Ys=45,Ws=58,Xs=61,Qs=62,Js=63,Zs=64,ta=91,ea=93,ra=96,na=123,ia=124,oa=125,(sa={})[0]="\\0",sa[7]="\\a",sa[8]="\\b",sa[9]="\\t",sa[10]="\\n",sa[11]="\\v",sa[12]="\\f",sa[13]="\\r",sa[27]="\\e",sa[34]='\\"',sa[92]="\\\\",sa[133]="\\N",sa[160]="\\_",sa[8232]="\\L",sa[8233]="\\P",aa=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],la=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/,ua=1,ca=2,ha=1,da=2,pa=3,fa=4,ga=5,ma=$o,ya=Bo,va=zo,_a=Zo,xa=ts,ba=fs,Ea=Ls.load,Ta=Ls.loadAll,Oa=Po,Sa=jo,wa={binary:ss,float:Jo,map:qo,null:Vo,pairs:hs,set:ps,timestamp:ns,bool:Yo,int:Wo,merge:is,omap:us,seq:Go,str:Ho},Na=Do("safeLoad","load"),Aa=Do("safeLoadAll","loadAll"),Ca=Do("safeDump","dump"),Ra={Type:ma,Schema:ya,FAILSAFE_SCHEMA:va,JSON_SCHEMA:_a,CORE_SCHEMA:xa,DEFAULT_SCHEMA:ba,load:Ea,loadAll:Ta,dump:Oa,YAMLException:Sa,types:wa,safeLoad:Na,safeLoadAll:Aa,safeDump:Ca}});function La(t,e){if(null==t)throw new Error(`Size ${e} is required and must be greater than 0`);if("number"!=typeof t||Number.isNaN(t)||t<=0)throw new Error(`Size ${e} must be greater than 0`)}function ka(t,e){La(t.width,`${e} width`),La(t.height,`${e} height`)}function Pa(t){if(!t)return{constraints:{orientation:{relative:[],cyclic:[]},alignment:[],grouping:{byfield:[],byselector:[]}},directives:{atomColors:[],sizes:[],icons:[],edgeColors:[],attributes:[],tags:[],hiddenFields:[],inferredEdges:[],hiddenAtoms:[],hideDisconnected:!1,hideDisconnectedBuiltIns:!1}};let e=Ea(t),r=e?.constraints,n=e?.directives,i={constraints:{orientation:{relative:[],cyclic:[]},alignment:[],grouping:{byfield:[],byselector:[]}},directives:{atomColors:[],sizes:[],icons:[],edgeColors:[],attributes:[],tags:[],hiddenFields:[],inferredEdges:[],hiddenAtoms:[],hideDisconnected:!1,hideDisconnectedBuiltIns:!1}},o=[],s=[];if(r&&Array.isArray(r))try{let t=function(t){let e=t.map(t=>{let e=t.orientation||t.cyclic||t.align||t.group;return e&&"never"===e.hold?{...t,_negated:!0}:{...t,_negated:!1}}),r=e.filter(t=>t.cyclic).map(t=>{if(!t.cyclic.selector)throw new Error("Cyclic constraint must have a selector");return new Fa(t.cyclic.direction||"clockwise",t.cyclic.selector,t._negated)});r=function(t){let e=new Map,r=[];for(let n of t){let t=`${n.selector.trim()}|${n.direction}|${n.negated}`;e.has(t)||(e.set(t,n),r.push(n))}return r}(r);let n={};r.forEach(t=>{let e=t.selector.trim();if(n[e]){if(n[e]!==t.direction)throw new Error(`Inconsistent cyclic constraint for selector ${e}: ${n[e]}, ${t.direction}`)}else n[e]=t.direction});let i=e.filter(t=>t.orientation).map(t=>{let e=t.orientation;if(!e.selector)throw new Error("Orientation constraint must have selector field");if(!e.directions)throw new Error("Orientation constraint must have directions field");let r=new Ma(e.directions,e.selector,t._negated);if(!r.isInternallyConsistent())throw new Error(r.inconsistencyMessage());return r});i=function(t){let e=new Map,r=[];for(let n of t){let t=`${n.selector.trim()}|${n.directions.sort().join(",")}|${n.negated}`;e.has(t)||(e.set(t,n),r.push(n))}return r}(i);let o=e.filter(t=>t.group).filter(t=>t.group.field).map(t=>{if(null==t.group.groupOn)throw new Error("Grouping constraint must have groupOn field");if(null==t.group.field)throw new Error("Grouping constraint must specify a field");if(null==t.group.addToGroup)throw new Error("Grouping constraint must specify addToGroup");return new Ua(t.group.field,t.group.groupOn,t.group.addToGroup,t.group.selector,t._negated)});o=function(t){let e=new Map,r=[];for(let n of t){let t=`${n.field}|${n.groupOn}|${n.addToGroup}|${n.selector||""}`;e.has(t)||(e.set(t,n),r.push(n))}return r}(o);let s=e.filter(t=>t.group).filter(t=>t.group.selector&&!t.group.field).map(t=>{if(!t.group.selector)throw new Error("Grouping constraint must have a selector.");if(!t.group.name&&!t._negated)throw new Error("Grouping constraint must have a name.");let e=t.group.name||`_not_group_${t.group.selector}`;return new Ka(t.group.selector,e,t.group.addEdge,t._negated)});s=function(t){let e=new Map,r=[];for(let n of t){let t=`${n.selector.trim()}|${n.name}|${n.addEdge}`;e.has(t)||(e.set(t,n),r.push(n))}return r}(s);let a=e.filter(t=>t.align).map(t=>{if(!t.align.selector)throw new Error("Align constraint must have a selector");if(!t.align.direction)throw new Error("Align constraint must have a direction");let e=new ja(t.align.direction,t.align.selector,t._negated);if(!e.isInternallyConsistent())throw new Error(e.inconsistencyMessage());return e});return a=function(t){let e=new Map,r=[];for(let n of t){let t=`${n.selector.trim()}|${n.direction}|${n.negated}`;e.has(t)||(e.set(t,n),r.push(n))}return r}(a),{orientation:{relative:i,cyclic:r},alignment:a,grouping:{byfield:o,byselector:s}}}(r);i.constraints=t;let e=r;o=e.filter(t=>t.size).map(t=>(ka(t.size,"constraint"),{height:t.size.height,width:t.size.width,selector:t.size.selector})),s=e.filter(t=>t.hideAtom).map(t=>({selector:t.hideAtom.selector}))}catch(t){let e=t instanceof Error?t.message:String(t);throw new Error(`${e}`)}if(n&&Array.isArray(n))try{let t=function(t){let e=t,r=e.filter(t=>t.icon).map(t=>({path:t.icon.path,selector:t.icon.selector,showLabels:t.icon.showLabels||!1})),n=e.filter(t=>t.atomColor).map(t=>({color:t.atomColor.value,selector:t.atomColor.selector})),i=e.filter(t=>t.size).map(t=>(ka(t.size,"directive"),{height:t.size.height,width:t.size.width,selector:t.size.selector})),o=e.filter(t=>t.edgeColor).map(t=>({color:t.edgeColor.value,field:t.edgeColor.field,selector:t.edgeColor.selector,filter:t.edgeColor.filter,style:t.edgeColor.style,weight:t.edgeColor.weight,showLabel:t.edgeColor.showLabel,hidden:t.edgeColor.hidden,highlight:t.edgeColor.highlight})),s=e.filter(t=>t.attribute).map(t=>({field:t.attribute.field,selector:t.attribute.selector,filter:t.attribute.filter})),a=e.filter(t=>t.hideField).map(t=>({field:t.hideField.field,selector:t.hideField.selector,filter:t.hideField.filter})),l=e.filter(t=>t.flag).map(t=>t.flag),u=l.includes("hideDisconnected"),c=l.includes("hideDisconnectedBuiltIns"),h=e.filter(t=>t.inferredEdge).map(t=>({name:t.inferredEdge.name,selector:t.inferredEdge.selector,color:t.inferredEdge.color,style:t.inferredEdge.style,weight:t.inferredEdge.weight,highlight:t.inferredEdge.highlight})),d=e.filter(t=>t.hideAtom).map(t=>({selector:t.hideAtom.selector}));return{atomColors:n,sizes:i,icons:r,edgeColors:o,attributes:s,tags:e.filter(t=>t.tag).map(t=>({toTag:t.tag.toTag,name:t.tag.name,value:t.tag.value})),hiddenFields:a,inferredEdges:h,hiddenAtoms:d,hideDisconnected:u,hideDisconnectedBuiltIns:c}}(n);i.directives=t,i.directives.sizes=[...o,...t.sizes],i.directives.hiddenAtoms=[...s,...t.hiddenAtoms]}catch(t){let e=t instanceof Error?t.message:String(t);throw new Error(`${e}`)}else i.directives.sizes=o,i.directives.hiddenAtoms=s;return i}var Da,Ma,ja,Ka,Ua,Fa,$a=c(()=>{Ia(),Da=class{constructor(t,e=!1){this.selector=t,this.negated=e}isInternallyConsistent(){return!0}inconsistencyMessage(){return`Inconsistent Constraint Operation: ${this.selector}`}toHTML(){return`${this.negated?"NOT ":""}ConstraintOperation with selector ${this.selector} .`}},Ma=class extends Da{constructor(t,e,r=!1){super(e,r),this.directions=t}isInternallyConsistent(){return!(this.directions.includes("above")&&this.directions.includes("below")||this.directions.includes("left")&&this.directions.includes("right")||this.directions.includes("directlyLeft")&&!this.directions.every(t=>"left"===t||"directlyLeft"===t)||this.directions.includes("directlyRight")&&!this.directions.every(t=>"right"===t||"directlyRight"===t)||this.directions.includes("directlyAbove")&&!this.directions.every(t=>"above"===t||"directlyAbove"===t)||this.directions.includes("directlyBelow")&&!this.directions.every(t=>"below"===t||"directlyBelow"===t))}inconsistencyMessage(){return`Orientation Constraint with directions [${this.directions.join(", ")}] and selector ${this.selector} is internally inconsistent.`}toHTML(){return`${this.negated?"NOT ":""}OrientationConstraint with directions [${this.directions.join(", ")}] and selector ${this.selector}`}},ja=class extends Da{constructor(t,e,r=!1){super(e,r),this.direction=t}isInternallyConsistent(){return"horizontal"===this.direction||"vertical"===this.direction}inconsistencyMessage(){return`Align Constraint with direction [${this.direction}] and selector ${this.selector} is internally inconsistent.`}toHTML(){return`${this.negated?"NOT ":""}AlignConstraint with direction [${this.direction}] and selector ${this.selector}`}},Ka=class extends Da{constructor(t,e,r=!1,n=!1){super(t,n),this.name=e,this.addEdge=r}toHTML(){return this.negated?`Members selected by ${this.selector} cannot form a group`:`GroupBySelector with selector ${this.selector}\n and name ${this.name}.`}},Ua=class{constructor(t,e,r,n,i=!1){this.field=t,this.groupOn=e,this.addToGroup=r,this.selector=n,this.negated=i}toHTML(){if(this.negated){let t=this.selector?` (selector: ${this.selector})`:"";return`Members grouped by field ${this.field} cannot form a group${t}`}let t=this.selector?` with selector ${this.selector}`:"";return`GroupByField on field ${this.field} grouping field index ${this.groupOn}\n adding to group index ${this.addToGroup}${t}.`}},Fa=class extends Da{constructor(t,e,r=!1){super(e,r),this.direction=t}inconsistencyMessage(){return`Cyclic constraint with direction [${this.direction}] with selector ${this.selector} is inconsistent.`}toHTML(){return`${this.negated?"NOT ":""}Cyclic constraint with direction [${this.direction}] and selector ${this.selector}`}}});function Ba(t){return"positional-conflict"===t.type}function Ha(t){return"group-overlap"===t.type}function Ga(t){return"hidden-node-conflict"===t?.type}function qa(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function za(t){if(t.attributes&&Object.entries(t.attributes).some(([t,e])=>e&&e.length>0)){let e=t.attributes||{},r=Object.entries(e).sort(([t],[e])=>t.localeCompare(e)),n=[],i=2,o=20;for(let t=0;t0){let t=i[0];t.length>o&&(t=t.substring(0,o)+"..."),n.push(`${qa(e)}: ${qa(t)}`)}}if(r.length>i&&n.push("..."),n.length>0)return`${qa(t.label)} (${n.join(", ")})`}return t.label&&t.label!==t.id?`${qa(t.label)} (id = ${qa(t.id)})`:`${qa(t.id)}`}function Va(t){let e=za,r=t.sourceConstraint&&"negated"in t.sourceConstraint&&t.sourceConstraint.negated?"can":"must";if(Pn(t)){let n=t;return`${e(n.top)} ${r} be above ${e(n.bottom)}`}if(Dn(t)){let n=t;return`${e(n.left)} ${r} be to the left of ${e(n.right)}`}if(Mn(t)){let n=t,i=n.axis,o=n.node1,s=n.node2;return"x"===i?`${e(o)} ${r} be vertically aligned with ${e(s)}`:"y"===i?`${e(o)} ${r} be horizontally aligned with ${e(s)}`:`${e(o)} ${r} be aligned with ${e(s)} along the ${i} axis`}if(jn(t)){let r=t;return`${e(r.node)} cannot be in group "${r.group.name}", and groups must be contiguous rectangles`}if(Kn(t)){let e=t,n={left:"to the left of",right:"to the right of",top:"above",bottom:"below"};return`Group "${e.groupA.name}" ${r} be ${n[e.side]} group "${e.groupB.name}"`}return`Unknown constraint type: ${t}`}var Ya,Wa=c(()=>{Vn(),Ya="This is a unique identifier in the graph. Hover over graph nodes to see their IDs."});function Xa(t){if("string"!=typeof t)return;let e=t.trim().toLowerCase();return"solid"===e||"dashed"===e||"dotted"===e?e:void 0}var Qa=c(()=>{});function Ja(t){if(!t)return"";if(t.startsWith("http")||t.startsWith("data:")||t.startsWith("/")||t.startsWith("./")||t.startsWith("../"))return t;let e=t.indexOf(":");if(e>0){let r=t.substring(0,e),n=t.substring(e+1),i=il[r];if(i)return i(n)}return nl[t]||t}function Za(){return Object.keys(nl)}function tl(){return Object.keys(il)}function el(t){return t in nl}function rl(t){let e=t.indexOf(":");return!(e<=0)&&t.substring(0,e)in il}var nl,il,ol,sl,al,ll,ul=c(()=>{nl={person:`data:image/svg+xml,${encodeURIComponent('')}`,"person-fill":`data:image/svg+xml,${encodeURIComponent('')}`,people:`data:image/svg+xml,${encodeURIComponent('')}`,home:`data:image/svg+xml,${encodeURIComponent('')}`,house:`data:image/svg+xml,${encodeURIComponent('')}`,building:`data:image/svg+xml,${encodeURIComponent('')}`,star:`data:image/svg+xml,${encodeURIComponent('')}`,"star-fill":`data:image/svg+xml,${encodeURIComponent('')}`,heart:`data:image/svg+xml,${encodeURIComponent('')}`,"heart-fill":`data:image/svg+xml,${encodeURIComponent('')}`,circle:`data:image/svg+xml,${encodeURIComponent('')}`,square:`data:image/svg+xml,${encodeURIComponent('')}`,triangle:`data:image/svg+xml,${encodeURIComponent('')}`,"tic-x":`data:image/svg+xml,${encodeURIComponent('')}`,"tic-o":`data:image/svg+xml,${encodeURIComponent('')}`,"arrow-right":`data:image/svg+xml,${encodeURIComponent('')}`,"arrow-left":`data:image/svg+xml,${encodeURIComponent('')}`,"arrow-up":`data:image/svg+xml,${encodeURIComponent('')}`,"arrow-down":`data:image/svg+xml,${encodeURIComponent('')}`,check:`data:image/svg+xml,${encodeURIComponent('')}`,x:`data:image/svg+xml,${encodeURIComponent('')}`,plus:`data:image/svg+xml,${encodeURIComponent('')}`,minus:`data:image/svg+xml,${encodeURIComponent('')}`,warning:`data:image/svg+xml,${encodeURIComponent('')}`,info:`data:image/svg+xml,${encodeURIComponent('')}`,gear:`data:image/svg+xml,${encodeURIComponent('')}`,database:`data:image/svg+xml,${encodeURIComponent('')}`,folder:`data:image/svg+xml,${encodeURIComponent('')}`,file:`data:image/svg+xml,${encodeURIComponent('')}`,tree:`data:image/svg+xml,${encodeURIComponent('')}`,flower:`data:image/svg+xml,${encodeURIComponent('')}`,car:`data:image/svg+xml,${encodeURIComponent('')}`,envelope:`data:image/svg+xml,${encodeURIComponent('')}`,phone:`data:image/svg+xml,${encodeURIComponent('')}`,flag:`data:image/svg+xml,${encodeURIComponent('')}`,lock:`data:image/svg+xml,${encodeURIComponent('')}`,key:`data:image/svg+xml,${encodeURIComponent('')}`},il={bi:t=>`https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/${t}.svg`,fa:t=>`https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/svgs/solid/${t}.svg`,"fa-solid":t=>`https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/svgs/solid/${t}.svg`,"fa-regular":t=>`https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/svgs/regular/${t}.svg`,"fa-brands":t=>`https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/svgs/brands/${t}.svg`,lucide:t=>`https://cdn.jsdelivr.net/npm/lucide-static@0.300.0/icons/${t}.svg`,heroicons:t=>`https://cdn.jsdelivr.net/npm/heroicons@2.1.1/24/outline/${t}.svg`,"heroicons-solid":t=>`https://cdn.jsdelivr.net/npm/heroicons@2.1.1/24/solid/${t}.svg`,tabler:t=>`https://cdn.jsdelivr.net/npm/@tabler/icons@2.44.0/icons/${t}.svg`,simple:t=>`https://cdn.jsdelivr.net/npm/simple-icons@10.4.0/icons/${t}.svg`}}),cl=c(()=>{({min:ol,max:sl}=Math),al=(t,e=0,r=1)=>ol(sl(e,t),r)}),hl=c(()=>{cl(),ll=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]=al(t[e],0,255)):3===e&&(t[e]=al(t[e],0,1));return t}});function dl(t){return pl[Object.prototype.toString.call(t)]||"object"}var pl,fl,gl,ml=c(()=>{pl={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])pl[`[object ${t}]`]=t.toLowerCase()}),yl=c(()=>{ml(),fl=(t,e=null)=>t.length>=3?Array.prototype.slice.call(t):"object"==dl(t[0])&&e?e.split("").filter(e=>void 0!==t[0][e]).map(e=>t[0][e]):t[0].slice(0)}),vl=c(()=>{ml(),gl=t=>{if(t.length<2)return null;let e=t.length-1;return"string"==dl(t[e])?t[e].toLowerCase():null}});function _l(t){return[...t.slice(0,3).reverse(),...t.slice(3)]}var xl,bl,El,Tl,Ol,Sl,wl,Nl,Al,Cl,Rl,Il,Ll,kl,Pl,Dl,Ml,jl,Kl,Ul,Fl,$l,Bl=c(()=>{hl(),cl(),ml(),yl(),vl(),({PI:xl,min:bl,max:El}=Math),Tl=t=>Math.round(100*t)/100,Ol=t=>Math.round(100*t)/100,Sl=2*xl,wl=xl/3,Nl=xl/180,Al=180/xl}),Hl=c(()=>{Cl={format:{},autodetect:[]}}),Gl=c(()=>{Bl(),Hl(),Rl=class{constructor(...t){let e=this;if("object"===dl(t[0])&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];let r=gl(t),n=!1;if(!r){n=!0,Cl.sorted||(Cl.autodetect=Cl.autodetect.sort((t,e)=>e.p-t.p),Cl.sorted=!0);for(let e of Cl.autodetect)if(r=e.test(...t),r)break}if(!Cl.format[r])throw new Error("unknown format: "+t);{let i=Cl.format[r].apply(null,n?t:t.slice(0,-1));e._rgb=ll(i)}3===e._rgb.length&&e._rgb.push(1)}toString(){return"function"==dl(this.hex)?this.hex():`[${this._rgb.join(",")}]`}}}),ql=c(()=>{Il="3.2.0"}),zl=c(()=>{Gl(),ql(),Ll=(...t)=>new Rl(...t),Ll.version=Il,kl=Ll}),Vl=c(()=>{Pl={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}),Yl=c(()=>{Dl=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Ml=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,jl=t=>{if(t.match(Dl)){(4===t.length||7===t.length)&&(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);let e=parseInt(t,16);return[e>>16,e>>8&255,255&e,1]}if(t.match(Ml)){(5===t.length||9===t.length)&&(t=t.substr(1)),4===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);let e=parseInt(t,16);return[e>>24&255,e>>16&255,e>>8&255,Math.round((255&e)/255*100)/100]}throw new Error(`unknown hex color: ${t}`)},Kl=jl}),Wl=c(()=>{Bl(),({round:Ul}=Math),Fl=(...t)=>{let[e,r,n,i]=fl(t,"rgba"),o=gl(t)||"auto";void 0===i&&(i=1),"auto"===o&&(o=i<1?"rgba":"rgb"),e=Ul(e),r=Ul(r),n=Ul(n);let s="000000"+(e<<16|r<<8|n).toString(16);s=s.substr(s.length-6);let a="0"+Ul(255*i).toString(16);switch(a=a.substr(a.length-2),o.toLowerCase()){case"rgba":return`#${s}${a}`;case"argb":return`#${a}${s}`;default:return`#${s}`}},$l=Fl}),Xl=c(()=>{Gl(),Hl(),Bl(),Vl(),Yl(),Wl(),Rl.prototype.name=function(){let t=$l(this._rgb,"rgb");for(let e of Object.keys(Pl))if(Pl[e]===t)return e.toLowerCase();return t},Cl.format.named=t=>{if(t=t.toLowerCase(),Pl[t])return Kl(Pl[t]);throw new Error("unknown color name: "+t)},Cl.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===dl(t)&&Pl[t.toLowerCase()])return"named"}})}),Ql=c(()=>{Gl(),Bl(),Rl.prototype.alpha=function(t,e=!1){return void 0!==t&&"number"===dl(t)?e?(this._rgb[3]=t,this):new Rl([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]}}),Jl=c(()=>{Gl(),Rl.prototype.clipped=function(){return this._rgb._clipped||!1}});function Zl(t){let e=nu.get(String(t).toLowerCase());if(!e)throw new Error("unknown Lab illuminant "+t);eu.labWhitePoint=t,eu.Xn=e[0],eu.Zn=e[1]}function tu(){return eu.labWhitePoint}var eu,ru,nu,iu,ou,su,au,lu,uu=c(()=>{ru=eu={Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:.008856451679035631,kKE:8,kK:903.2962962962963,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},nu=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]])}),cu=c(()=>{uu(),Bl(),iu=(...t)=>{t=fl(t,"lab");let[e,r,n]=t,[i,o,s]=ou(e,r,n),[a,l,u]=au(i,o,s);return[a,l,u,t.length>3?t[3]:1]},ou=(t,e,r)=>{let{kE:n,kK:i,kKE:o,Xn:s,Yn:a,Zn:l}=ru,u=(t+16)/116,c=.002*e+u,h=u-.005*r,d=c*c*c,p=h*h*h;return[(d>n?d:(116*c-16)/i)*s,(t>o?Math.pow((t+16)/116,3):t/i)*a,(p>n?p:(116*h-16)/i)*l]},su=t=>{let e=Math.sign(t);return((t=Math.abs(t))<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)*e},au=(t,e,r)=>{let{MtxAdaptMa:n,MtxAdaptMaI:i,MtxXYZ2RGB:o,RefWhiteRGB:s,Xn:a,Yn:l,Zn:u}=ru,c=a*n.m00+l*n.m10+u*n.m20,h=a*n.m01+l*n.m11+u*n.m21,d=a*n.m02+l*n.m12+u*n.m22,p=s.X*n.m00+s.Y*n.m10+s.Z*n.m20,f=s.X*n.m01+s.Y*n.m11+s.Z*n.m21,g=s.X*n.m02+s.Y*n.m12+s.Z*n.m22,m=(t*n.m00+e*n.m10+r*n.m20)*(p/c),y=(t*n.m01+e*n.m11+r*n.m21)*(f/h),v=(t*n.m02+e*n.m12+r*n.m22)*(g/d),_=m*i.m00+y*i.m10+v*i.m20,x=m*i.m01+y*i.m11+v*i.m21,b=m*i.m02+y*i.m12+v*i.m22;return[255*su(_*o.m00+x*o.m10+b*o.m20),255*su(_*o.m01+x*o.m11+b*o.m21),255*su(_*o.m02+x*o.m12+b*o.m22)]},lu=iu});function hu(t){let e=Math.sign(t);return((t=Math.abs(t))<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4))*e}var du,pu,fu,gu,mu,yu,vu,_u,xu,bu,Eu,Tu,Ou,Su,wu,Nu,Au,Cu,Ru,Iu,Lu,ku,Pu,Du,Mu,ju,Ku,Uu,Fu,$u,Bu,Hu,Gu,qu,zu,Vu,Yu,Wu,Xu,Qu,Ju,Zu,tc,ec,rc,nc,ic,oc,sc,ac,lc,uc,cc,hc,dc,pc,fc,gc,mc,yc,vc,_c,xc,bc,Ec,Tc,Oc,Sc,wc,Nc,Ac,Cc=c(()=>{uu(),Bl(),du=(...t)=>{let[e,r,n,...i]=fl(t,"rgb"),[o,s,a]=pu(e,r,n),[l,u,c]=function(t,e,r){let{Xn:n,Yn:i,Zn:o,kE:s,kK:a}=ru,l=t/n,u=e/i,c=r/o,h=l>s?Math.pow(l,1/3):(a*l+16)/116,d=u>s?Math.pow(u,1/3):(a*u+16)/116;return[116*d-16,500*(h-d),200*(d-(c>s?Math.pow(c,1/3):(a*c+16)/116))]}(o,s,a);return[l,u,c,...i.length>0&&i[0]<1?[i[0]]:[]]},pu=(t,e,r)=>{t=hu(t/255),e=hu(e/255),r=hu(r/255);let{MtxRGB2XYZ:n,MtxAdaptMa:i,MtxAdaptMaI:o,Xn:s,Yn:a,Zn:l,As:u,Bs:c,Cs:h}=ru,d=t*n.m00+e*n.m10+r*n.m20,p=t*n.m01+e*n.m11+r*n.m21,f=t*n.m02+e*n.m12+r*n.m22,g=s*i.m00+a*i.m10+l*i.m20,m=s*i.m01+a*i.m11+l*i.m21,y=s*i.m02+a*i.m12+l*i.m22,v=d*i.m00+p*i.m10+f*i.m20,_=d*i.m01+p*i.m11+f*i.m21,x=d*i.m02+p*i.m12+f*i.m22;return v*=g/u,_*=m/c,x*=y/h,d=v*o.m00+_*o.m10+x*o.m20,p=v*o.m01+_*o.m11+x*o.m21,f=v*o.m02+_*o.m12+x*o.m22,[d,p,f]},fu=du}),Rc=c(()=>{Bl(),zl(),Gl(),Hl(),cu(),Cc(),uu(),Rl.prototype.lab=function(){return fu(this._rgb)},gu=(...t)=>new Rl(...t,"lab"),Object.assign(kl,{lab:gu,getLabWhitePoint:tu,setLabWhitePoint:Zl}),Cl.format.lab=lu,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"lab"))&&3===t.length)return"lab"}})}),Ic=c(()=>{Rc(),Gl(),uu(),Rl.prototype.darken=function(t=1){let e=this.lab();return e[0]-=ru.Kn*t,new Rl(e,"lab").alpha(this.alpha(),!0)},Rl.prototype.brighten=function(t=1){return this.darken(-t)},Rl.prototype.darker=Rl.prototype.darken,Rl.prototype.brighter=Rl.prototype.brighten}),Lc=c(()=>{Gl(),Rl.prototype.get=function(t){let[e,r]=t.split("."),n=this[e]();if(r){let t=e.indexOf(r)-("ok"===e.substr(0,2)?2:0);if(t>-1)return n[t];throw new Error(`unknown channel ${r} in mode ${e}`)}return n}}),kc=c(()=>{Gl(),Bl(),({pow:mu}=Math),Rl.prototype.luminance=function(t,e="rgb"){if(void 0!==t&&"number"===dl(t)){if(0===t)return new Rl([0,0,0,this._rgb[3]],"rgb");if(1===t)return new Rl([255,255,255,this._rgb[3]],"rgb");let r=this.luminance(),n=20,i=(r,o)=>{let s=r.interpolate(o,.5,e),a=s.luminance();return Math.abs(t-a)<1e-7||!n--?s:a>t?i(r,s):i(s,o)},o=(r>t?i(new Rl([0,0,0]),this):i(this,new Rl([255,255,255]))).rgb();return new Rl([...o,this._rgb[3]])}return yu(...this._rgb.slice(0,3))},yu=(t,e,r)=>.2126*(t=vu(t))+.7152*(e=vu(e))+.0722*vu(r),vu=t=>(t/=255)<=.03928?t/12.92:mu((t+.055)/1.055,2.4)}),Pc=c(()=>{_u={}}),Dc=c(()=>{Gl(),Bl(),Pc(),xu=(t,e,r=.5,...n)=>{let i=n[0]||"lrgb";if(!_u[i]&&!n.length&&(i=Object.keys(_u)[0]),!_u[i])throw new Error(`interpolation mode ${i} is not defined`);return"object"!==dl(t)&&(t=new Rl(t)),"object"!==dl(e)&&(e=new Rl(e)),_u[i](t,e,r).alpha(t.alpha()+r*(e.alpha()-t.alpha()))}}),Mc=c(()=>{Gl(),Dc(),Rl.prototype.mix=Rl.prototype.interpolate=function(t,e=.5,...r){return xu(this,t,e,...r)}}),jc=c(()=>{Gl(),Rl.prototype.premultiply=function(t=!1){let e=this._rgb,r=e[3];return t?(this._rgb=[e[0]*r,e[1]*r,e[2]*r,r],this):new Rl([e[0]*r,e[1]*r,e[2]*r,r],"rgb")}}),Kc=c(()=>{Bl(),({sin:bu,cos:Eu}=Math),Tu=(...t)=>{let[e,r,n]=fl(t,"lch");return isNaN(n)&&(n=0),n*=Nl,[e,Eu(n)*r,bu(n)*r]},Ou=Tu}),Uc=c(()=>{Bl(),Kc(),cu(),Su=(...t)=>{t=fl(t,"lch");let[e,r,n]=t,[i,o,s]=Ou(e,r,n),[a,l,u]=lu(i,o,s);return[a,l,u,t.length>3?t[3]:1]},wu=Su}),Fc=c(()=>{Bl(),Uc(),Nu=(...t)=>{let e=_l(fl(t,"hcl"));return wu(...e)},Au=Nu}),$c=c(()=>{Bl(),({sqrt:Cu,atan2:Ru,round:Iu}=Math),Lu=(...t)=>{let[e,r,n]=fl(t,"lab"),i=Cu(r*r+n*n),o=(Ru(n,r)*Al+360)%360;return 0===Iu(1e4*i)&&(o=Number.NaN),[e,i,o]},ku=Lu}),Bc=c(()=>{Bl(),Cc(),$c(),Pu=(...t)=>{let[e,r,n,...i]=fl(t,"rgb"),[o,s,a]=fu(e,r,n),[l,u,c]=ku(o,s,a);return[l,u,c,...i.length>0&&i[0]<1?[i[0]]:[]]},Du=Pu}),Hc=c(()=>{Bl(),zl(),Gl(),Hl(),Uc(),Fc(),Bc(),Rl.prototype.lch=function(){return Du(this._rgb)},Rl.prototype.hcl=function(){return _l(Du(this._rgb))},Mu=(...t)=>new Rl(...t,"lch"),ju=(...t)=>new Rl(...t,"hcl"),Object.assign(kl,{lch:Mu,hcl:ju}),Cl.format.lch=wu,Cl.format.hcl=Au,["lch","hcl"].forEach(t=>Cl.autodetect.push({p:2,test:(...e)=>{if("array"===dl(e=fl(e,t))&&3===e.length)return t}}))}),Gc=c(()=>{Hc(),Gl(),uu(),Rl.prototype.saturate=function(t=1){let e=this.lch();return e[1]+=ru.Kn*t,e[1]<0&&(e[1]=0),new Rl(e,"lch").alpha(this.alpha(),!0)},Rl.prototype.desaturate=function(t=1){return this.saturate(-t)}}),qc=c(()=>{Gl(),Bl(),Rl.prototype.set=function(t,e,r=!1){let[n,i]=t.split("."),o=this[n]();if(i){let t=n.indexOf(i)-("ok"===n.substr(0,2)?2:0);if(t>-1){if("string"==dl(e))switch(e.charAt(0)){case"+":case"-":o[t]+=+e;break;case"*":o[t]*=+e.substr(1);break;case"/":o[t]/=+e.substr(1);break;default:o[t]=+e}else{if("number"!==dl(e))throw new Error("unsupported value for Color.set");o[t]=e}let i=new Rl(o,n);return r?(this._rgb=i._rgb,this):i}throw new Error(`unknown channel ${i} in mode ${n}`)}return o}}),zc=c(()=>{Rc(),Gl(),Dc(),Rl.prototype.tint=function(t=.5,...e){return xu(this,"white",t,...e)},Rl.prototype.shade=function(t=.5,...e){return xu(this,"black",t,...e)}}),Vc=c(()=>{Gl(),Pc(),Ku=(t,e,r)=>{let n=t._rgb,i=e._rgb;return new Rl(n[0]+r*(i[0]-n[0]),n[1]+r*(i[1]-n[1]),n[2]+r*(i[2]-n[2]),"rgb")},_u.rgb=Ku}),Yc=c(()=>{Gl(),Pc(),({sqrt:Uu,pow:Fu}=Math),$u=(t,e,r)=>{let[n,i,o]=t._rgb,[s,a,l]=e._rgb;return new Rl(Uu(Fu(n,2)*(1-r)+Fu(s,2)*r),Uu(Fu(i,2)*(1-r)+Fu(a,2)*r),Uu(Fu(o,2)*(1-r)+Fu(l,2)*r),"rgb")},_u.lrgb=$u}),Wc=c(()=>{Rc(),Pc(),Gl(),Bu=(t,e,r)=>{let n=t.lab(),i=e.lab();return new Rl(n[0]+r*(i[0]-n[0]),n[1]+r*(i[1]-n[1]),n[2]+r*(i[2]-n[2]),"lab")},_u.lab=Bu}),Xc=c(()=>{Gl(),Hu=(t,e,r,n)=>{let i,o,s,a,l,u,c,h,d,p,f,g;return"hsl"===n?(i=t.hsl(),o=e.hsl()):"hsv"===n?(i=t.hsv(),o=e.hsv()):"hcg"===n?(i=t.hcg(),o=e.hcg()):"hsi"===n?(i=t.hsi(),o=e.hsi()):"lch"===n||"hcl"===n?(n="hcl",i=t.hcl(),o=e.hcl()):"oklch"===n&&(i=t.oklch().reverse(),o=e.oklch().reverse()),("h"===n.substr(0,1)||"oklch"===n)&&([s,l,c]=i,[a,u,h]=o),isNaN(s)||isNaN(a)?isNaN(s)?isNaN(a)?p=Number.NaN:(p=a,(1==c||0==c)&&"hsv"!=n&&(d=u)):(p=s,(1==h||0==h)&&"hsv"!=n&&(d=l)):(g=a>s&&a-s>180?a-(s+360):a180?a+360-s:a-s,p=s+r*g),void 0===d&&(d=l+r*(u-l)),f=c+r*(h-c),new Rl("oklch"===n?[f,d,p]:[p,d,f],n)}}),Qc=c(()=>{Hc(),Xc(),Pc(),Gu=(t,e,r)=>Hu(t,e,r,"lch"),_u.lch=Gu,_u.hcl=Gu}),Jc=c(()=>{Bl(),qu=t=>{if("number"==dl(t)&&t>=0&&t<=16777215)return[t>>16,t>>8&255,255&t,1];throw new Error("unknown num color: "+t)},zu=qu}),Zc=c(()=>{Bl(),Vu=(...t)=>{let[e,r,n]=fl(t,"rgb");return(e<<16)+(r<<8)+n},Yu=Vu}),th=c(()=>{zl(),Gl(),Hl(),Bl(),Jc(),Zc(),Rl.prototype.num=function(){return Yu(this._rgb)},Wu=(...t)=>new Rl(...t,"num"),Object.assign(kl,{num:Wu}),Cl.format.num=zu,Cl.autodetect.push({p:5,test:(...t)=>{if(1===t.length&&"number"===dl(t[0])&&t[0]>=0&&t[0]<=16777215)return"num"}})}),eh=c(()=>{th(),Pc(),Gl(),Xu=(t,e,r)=>{let n=t.num(),i=e.num();return new Rl(n+r*(i-n),"num")},_u.num=Xu}),rh=c(()=>{Bl(),({floor:Qu}=Math),Ju=(...t)=>{t=fl(t,"hcg");let e,r,n,[i,o,s]=t;s*=255;let a=255*o;if(0===o)e=r=n=s;else{360===i&&(i=0),i>360&&(i-=360),i<0&&(i+=360),i/=60;let t=Qu(i),l=i-t,u=s*(1-o),c=u+a*(1-l),h=u+a*l,d=u+a;switch(t){case 0:[e,r,n]=[d,h,u];break;case 1:[e,r,n]=[c,d,u];break;case 2:[e,r,n]=[u,d,h];break;case 3:[e,r,n]=[u,c,d];break;case 4:[e,r,n]=[h,u,d];break;case 5:[e,r,n]=[d,u,c]}}return[e,r,n,t.length>3?t[3]:1]},Zu=Ju}),nh=c(()=>{Bl(),tc=(...t)=>{let e,[r,n,i]=fl(t,"rgb"),o=bl(r,n,i),s=El(r,n,i),a=s-o,l=100*a/255,u=o/(255-a)*100;return 0===a?e=Number.NaN:(r===s&&(e=(n-i)/a),n===s&&(e=2+(i-r)/a),i===s&&(e=4+(r-n)/a),e*=60,e<0&&(e+=360)),[e,l,u]},ec=tc}),ih=c(()=>{Bl(),zl(),Gl(),Hl(),rh(),nh(),Rl.prototype.hcg=function(){return ec(this._rgb)},rc=(...t)=>new Rl(...t,"hcg"),kl.hcg=rc,Cl.format.hcg=Zu,Cl.autodetect.push({p:1,test:(...t)=>{if("array"===dl(t=fl(t,"hcg"))&&3===t.length)return"hcg"}})}),oh=c(()=>{ih(),Xc(),Pc(),nc=(t,e,r)=>Hu(t,e,r,"hcg"),_u.hcg=nc}),sh=c(()=>{Bl(),({cos:ic}=Math),oc=(...t)=>{t=fl(t,"hsi");let e,r,n,[i,o,s]=t;return isNaN(i)&&(i=0),isNaN(o)&&(o=0),i>360&&(i-=360),i<0&&(i+=360),i/=360,i<1/3?(n=(1-o)/3,e=(1+o*ic(Sl*i)/ic(wl-Sl*i))/3,r=1-(n+e)):i<2/3?(i-=1/3,e=(1-o)/3,r=(1+o*ic(Sl*i)/ic(wl-Sl*i))/3,n=1-(e+r)):(i-=2/3,r=(1-o)/3,n=(1+o*ic(Sl*i)/ic(wl-Sl*i))/3,e=1-(r+n)),e=al(s*e*3),r=al(s*r*3),n=al(s*n*3),[255*e,255*r,255*n,t.length>3?t[3]:1]},sc=oc}),ah=c(()=>{Bl(),({min:ac,sqrt:lc,acos:uc}=Math),cc=(...t)=>{let[e,r,n]=fl(t,"rgb");e/=255,r/=255,n/=255;let i,o=ac(e,r,n),s=(e+r+n)/3,a=s>0?1-o/s:0;return 0===a?i=NaN:(i=(e-r+(e-n))/2,i/=lc((e-r)*(e-r)+(e-n)*(r-n)),i=uc(i),n>r&&(i=Sl-i),i/=Sl),[360*i,a,s]},hc=cc}),lh=c(()=>{Bl(),zl(),Gl(),Hl(),sh(),ah(),Rl.prototype.hsi=function(){return hc(this._rgb)},dc=(...t)=>new Rl(...t,"hsi"),kl.hsi=dc,Cl.format.hsi=sc,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"hsi"))&&3===t.length)return"hsi"}})}),uh=c(()=>{lh(),Xc(),Pc(),pc=(t,e,r)=>Hu(t,e,r,"hsi"),_u.hsi=pc}),ch=c(()=>{Bl(),fc=(...t)=>{t=fl(t,"hsl");let e,r,n,[i,o,s]=t;if(0===o)e=r=n=255*s;else{let t=[0,0,0],a=[0,0,0],l=s<.5?s*(1+o):s+o-s*o,u=2*s-l,c=i/360;t[0]=c+1/3,t[1]=c,t[2]=c-1/3;for(let e=0;e<3;e++)t[e]<0&&(t[e]+=1),t[e]>1&&(t[e]-=1),6*t[e]<1?a[e]=u+6*(l-u)*t[e]:2*t[e]<1?a[e]=l:3*t[e]<2?a[e]=u+(l-u)*(2/3-t[e])*6:a[e]=u;[e,r,n]=[255*a[0],255*a[1],255*a[2]]}return t.length>3?[e,r,n,t[3]]:[e,r,n,1]},gc=fc}),hh=c(()=>{Bl(),mc=(...t)=>{t=fl(t,"rgba");let[e,r,n]=t;e/=255,r/=255,n/=255;let i,o,s=bl(e,r,n),a=El(e,r,n),l=(a+s)/2;return a===s?(i=0,o=Number.NaN):i=l<.5?(a-s)/(a+s):(a-s)/(2-a-s),e==a?o=(r-n)/(a-s):r==a?o=2+(n-e)/(a-s):n==a&&(o=4+(e-r)/(a-s)),o*=60,o<0&&(o+=360),t.length>3&&void 0!==t[3]?[o,i,l,t[3]]:[o,i,l]},yc=mc}),dh=c(()=>{Bl(),zl(),Gl(),Hl(),ch(),hh(),Rl.prototype.hsl=function(){return yc(this._rgb)},vc=(...t)=>new Rl(...t,"hsl"),kl.hsl=vc,Cl.format.hsl=gc,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"hsl"))&&3===t.length)return"hsl"}})}),ph=c(()=>{dh(),Xc(),Pc(),_c=(t,e,r)=>Hu(t,e,r,"hsl"),_u.hsl=_c}),fh=c(()=>{Bl(),({floor:xc}=Math),bc=(...t)=>{t=fl(t,"hsv");let e,r,n,[i,o,s]=t;if(s*=255,0===o)e=r=n=s;else{360===i&&(i=0),i>360&&(i-=360),i<0&&(i+=360),i/=60;let t=xc(i),a=i-t,l=s*(1-o),u=s*(1-o*a),c=s*(1-o*(1-a));switch(t){case 0:[e,r,n]=[s,c,l];break;case 1:[e,r,n]=[u,s,l];break;case 2:[e,r,n]=[l,s,c];break;case 3:[e,r,n]=[l,u,s];break;case 4:[e,r,n]=[c,l,s];break;case 5:[e,r,n]=[s,l,u]}}return[e,r,n,t.length>3?t[3]:1]},Ec=bc}),gh=c(()=>{Bl(),({min:Tc,max:Oc}=Math),Sc=(...t)=>{t=fl(t,"rgb");let e,r,n,[i,o,s]=t,a=Tc(i,o,s),l=Oc(i,o,s),u=l-a;return n=l/255,0===l?(e=Number.NaN,r=0):(r=u/l,i===l&&(e=(o-s)/u),o===l&&(e=2+(s-i)/u),s===l&&(e=4+(i-o)/u),e*=60,e<0&&(e+=360)),[e,r,n]},wc=Sc}),mh=c(()=>{Bl(),zl(),Gl(),Hl(),fh(),gh(),Rl.prototype.hsv=function(){return wc(this._rgb)},Nc=(...t)=>new Rl(...t,"hsv"),kl.hsv=Nc,Cl.format.hsv=Ec,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"hsv"))&&3===t.length)return"hsv"}})}),yh=c(()=>{mh(),Xc(),Pc(),Ac=(t,e,r)=>Hu(t,e,r,"hsv"),_u.hsv=Ac});function vh(t,e){let r=t.length;Array.isArray(t[0])||(t=[t]),Array.isArray(e[0])||(e=e.map(t=>[t]));let n=e[0].length,i=e[0].map((t,r)=>e.map(t=>t[r])),o=t.map(t=>i.map(e=>Array.isArray(t)?t.reduce((t,r,n)=>t+r*(e[n]||0),0):e.reduce((e,r)=>e+r*t,0)));return 1===r&&(o=o[0]),1===n?o.map(t=>t[0]):o}var _h,xh,bh=c(()=>{}),Eh=c(()=>{Bl(),bh(),cu(),_h=(...t)=>{t=fl(t,"lab");let[e,r,n,...i]=t,[o,s,a]=function(t){var e=vh([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],t);return vh([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],e.map(t=>t**3))}([e,r,n]),[l,u,c]=au(o,s,a);return[l,u,c,...i.length>0&&i[0]<1?[i[0]]:[]]},xh=_h});function Th(t){let e=vh([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],t);return vh([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],e.map(t=>Math.cbrt(t)))}var Oh,Sh,wh,Nh,Ah,Ch,Rh,Ih,Lh,kh,Ph,Dh,Mh,jh=c(()=>{Bl(),bh(),Cc(),Oh=(...t)=>{let[e,r,n,...i]=fl(t,"rgb");return[...Th(pu(e,r,n)),...i.length>0&&i[0]<1?[i[0]]:[]]},Sh=Oh}),Kh=c(()=>{Bl(),zl(),Gl(),Hl(),Eh(),jh(),Rl.prototype.oklab=function(){return Sh(this._rgb)},wh=(...t)=>new Rl(...t,"oklab"),Object.assign(kl,{oklab:wh}),Cl.format.oklab=xh,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"oklab"))&&3===t.length)return"oklab"}})}),Uh=c(()=>{Kh(),Pc(),Gl(),Nh=(t,e,r)=>{let n=t.oklab(),i=e.oklab();return new Rl(n[0]+r*(i[0]-n[0]),n[1]+r*(i[1]-n[1]),n[2]+r*(i[2]-n[2]),"oklab")},_u.oklab=Nh}),Fh=c(()=>{Hc(),Xc(),Pc(),Ah=(t,e,r)=>Hu(t,e,r,"oklch"),_u.oklch=Ah}),$h=c(()=>{Gl(),Bl(),({pow:Ch,sqrt:Rh,PI:Ih,cos:Lh,sin:kh,atan2:Ph}=Math),Dh=(t,e="lrgb",r=null)=>{let n=t.length;r||(r=Array.from(new Array(n)).map(()=>1));let i=n/r.reduce(function(t,e){return t+e});if(r.forEach((t,e)=>{r[e]*=i}),t=t.map(t=>new Rl(t)),"lrgb"===e)return Mh(t,r);let o=t.shift(),s=o.get(e),a=[],l=0,u=0;for(let t=0;t{let i=t.get(e);c+=t.alpha()*r[n+1];for(let t=0;t=360;)e-=360;s[t]=e}else s[t]=s[t]/a[t];return c/=n,new Rl(s,e).alpha(c>.99999?1:c,!0)},Mh=(t,e)=>{let r=t.length,n=[0,0,0,0];for(let i=0;i.9999999&&(n[3]=1),new Rl(ll(n))}});function Bh(t){let e="rgb",r=kl("#ccc"),n=0,i=[0,1],o=[0,1],s=[],a=[0,0],l=!1,u=[],c=!1,h=0,d=1,p=!1,f={},g=!0,m=1,y=function(t){if((t=t||["#fff","#000"])&&"string"===dl(t)&&kl.brewer&&kl.brewer[t.toLowerCase()]&&(t=kl.brewer[t.toLowerCase()]),"array"===dl(t)){1===t.length&&(t=[t[0],t[0]]),t=t.slice(0);for(let e=0;et,_=t=>t,x=function(t,n){let i,o;if(null==n&&(n=!1),isNaN(t)||null===t)return r;o=n?t:l&&l.length>2?function(t){if(null!=l){let e=l.length-1,r=0;for(;r=l[r];)r++;return r-1}return 0}(t)/(l.length-2):d!==h?(t-h)/(d-h):1,o=_(o),n||(o=v(o)),1!==m&&(o=Hh(o,m)),o=a[0]+o*(1-a[0]-a[1]),o=al(o,0,1);let c=Math.floor(1e4*o);if(g&&f[c])i=f[c];else{if("array"===dl(u))for(let t=0;t=r&&t===s.length-1){i=u[t];break}if(o>r&&of={};y(t);let E=function(t){let e=kl(x(t));return c&&e[c]?e[c]():e};return E.classes=function(t){if(null!=t){if("array"===dl(t))l=t,i=[t[0],t[t.length-1]];else{let e=kl.analyze(i);l=0===t?[e.min,e.max]:kl.limits(e,"e",t)}return E}return l},E.domain=function(t){if(!arguments.length)return o;o=t.slice(0),h=t[0],d=t[t.length-1],s=[];let e=u.length;if(t.length===e&&h!==d)for(let e of Array.from(t))s.push((e-h)/(d-h));else{for(let t=0;t2){let e=t.map((e,r)=>r/(t.length-1)),r=t.map(t=>(t-h)/(d-h));r.every((t,r)=>e[r]===t)||(_=t=>{if(t<=0||t>=1)return t;let n=0;for(;t>=r[n+1];)n++;let i=(t-r[n])/(r[n+1]-r[n]);return e[n]+i*(e[n+1]-e[n])})}}return i=[h,d],E},E.mode=function(t){return arguments.length?(e=t,b(),E):e},E.range=function(t,e){return y(t),E},E.out=function(t){return c=t,E},E.spread=function(t){return arguments.length?(n=t,E):n},E.correctLightness=function(t){return null==t&&(t=!0),p=t,b(),v=p?function(t){let e=x(0,!0).lab()[0],r=x(1,!0).lab()[0],n=e>r,i=x(t,!0).lab()[0],o=e+(r-e)*t,s=i-o,a=0,l=1,u=20;for(;Math.abs(s)>.01&&u-- >0;)(function(){n&&(s*=-1),s<0?(a=t,t+=.5*(l-t)):(l=t,t+=.5*(a-t)),i=x(t,!0).lab()[0],s=i-o})();return t}:t=>t,E},E.padding=function(t){return null!=t?("number"===dl(t)&&(t=[t,t]),a=t,E):a},E.colors=function(e,r){arguments.length<2&&(r="hex");let n=[];if(0===arguments.length)n=u.slice(0);else if(1===e)n=[E(.5)];else if(e>1){let t=i[0],r=i[1]-t;n=function(t,e){let r=[],n=0i;n?t++:t--)r.push(t);return r}(0,e).map(n=>E(t+n/(e-1)*r))}else{t=[];let e=[];if(l&&l.length>2)for(let t=1,r=l.length,n=1<=r;n?tr;n?t++:t--)e.push(.5*(l[t-1]+l[t]));else e=i;n=e.map(t=>E(t))}return kl[r]&&(n=n.map(t=>t[r]())),n},E.cache=function(t){return null!=t?(g=t,E):g},E.gamma=function(t){return null!=t?(m=t,E):m},E.nodata=function(t){return null!=t?(r=kl(t),E):r},E}var Hh,Gh,qh,zh,Vh,Yh,Wh,Xh,Qh,Jh,Zh,td,ed,rd,nd,id,od,sd,ad=c(()=>{zl(),Bl(),({pow:Hh}=Math)}),ld=c(()=>{Gl(),Rc(),ad(),Gh=function(t){let e=[1,1];for(let r=1;rnew Rl(t))).length)[r,n]=t.map(t=>t.lab()),e=function(t){let e=[0,1,2].map(e=>r[e]+t*(n[e]-r[e]));return new Rl(e,"lab")};else if(3===t.length)[r,n,i]=t.map(t=>t.lab()),e=function(t){let e=[0,1,2].map(e=>(1-t)*(1-t)*r[e]+2*(1-t)*t*n[e]+t*t*i[e]);return new Rl(e,"lab")};else if(4===t.length){let o;[r,n,i,o]=t.map(t=>t.lab()),e=function(t){let e=[0,1,2].map(e=>(1-t)*(1-t)*(1-t)*r[e]+3*(1-t)*(1-t)*t*n[e]+3*(1-t)*t*t*i[e]+t*t*t*o[e]);return new Rl(e,"lab")}}else{if(!(t.length>=5))throw new RangeError("No point in running bezier with only one color.");{let r,n,i;r=t.map(t=>t.lab()),i=t.length-1,n=Gh(i),e=function(t){let e=1-t,o=[0,1,2].map(o=>r.reduce((r,s,a)=>r+n[a]*e**(i-a)*t**a*s[o],0));return new Rl(o,"lab")}}}return e},zh=t=>{let e=qh(t);return e.scale=()=>Bh(e),e}}),ud=c(()=>{zl(),Gl(),Hl(),Bl(),({round:Vh}=Math),Rl.prototype.rgb=function(t=!0){return!1===t?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Vh)},Rl.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map((e,r)=>r<3?!1===t?e:Vh(e):e)},Yh=(...t)=>new Rl(...t,"rgb"),Object.assign(kl,{rgb:Yh}),Cl.format.rgb=(...t)=>{let e=fl(t,"rgba");return void 0===e[3]&&(e[3]=1),e},Cl.autodetect.push({p:3,test:(...t)=>{if("array"===dl(t=fl(t,"rgba"))&&(3===t.length||4===t.length&&"number"==dl(t[3])&&t[3]>=0&&t[3]<=1))return"rgb"}})}),cd=c(()=>{ud(),zl(),Wh=(t,e,r)=>{if(!Wh[r])throw new Error("unknown blend mode "+r);return Wh[r](t,e)},Xh=t=>(e,r)=>{let n=kl(r).rgb(),i=kl(e).rgb();return kl.rgb(t(n,i))},Qh=t=>(e,r)=>{let n=[];return n[0]=t(e[0],r[0]),n[1]=t(e[1],r[1]),n[2]=t(e[2],r[2]),n},Jh=t=>t,Zh=(t,e)=>t*e/255,td=(t,e)=>t>e?e:t,ed=(t,e)=>t>e?t:e,rd=(t,e)=>255*(1-(1-t/255)*(1-e/255)),nd=(t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255)),id=(t,e)=>255*(1-(1-e/255)/(t/255)),od=(t,e)=>255===t||(t=e/255*255/(1-t/255))>255?255:t,Wh.normal=Xh(Qh(Jh)),Wh.multiply=Xh(Qh(Zh)),Wh.screen=Xh(Qh(rd)),Wh.overlay=Xh(Qh(nd)),Wh.darken=Xh(Qh(td)),Wh.lighten=Xh(Qh(ed)),Wh.dodge=Xh(Qh(od)),Wh.burn=Xh(Qh(id)),sd=Wh});function hd(t=300,e=-1.5,r=1,n=1,i=[0,1]){let o,s=0;"array"===dl(i)?o=i[1]-i[0]:(o=0,i=[i,i]);let a=function(a){let l=Sl*((t+120)/360+e*a),u=dd(i[0]+o*a,n),c=(0!==s?r[0]+a*s:r)*u*(1-u)/2,h=fd(l),d=pd(l);return kl(ll([255*(u+c*(-.14861*h+1.78277*d)),255*(u+c*(-.29227*h-.90649*d)),255*(u+c*(1.97294*h)),1]))};return a.start=function(e){return null==e?t:(t=e,a)},a.rotations=function(t){return null==t?e:(e=t,a)},a.gamma=function(t){return null==t?n:(n=t,a)},a.hue=function(t){return null==t?r:("array"===dl(r=t)?(s=r[1]-r[0],0===s&&(r=r[1])):s=0,a)},a.lightness=function(t){return null==t?i:("array"===dl(t)?(i=t,o=t[1]-t[0]):(i=[t,t],o=0),a)},a.scale=()=>kl.scale(a),a.hue(r),a}var dd,pd,fd,gd,md,yd,vd=c(()=>{Bl(),zl(),({pow:dd,sin:pd,cos:fd}=Math)}),_d=c(()=>{Gl(),({floor:gd,random:md}=Math),yd=(t=md)=>{let e="#";for(let r=0;r<6;r++)e+="0123456789abcdef".charAt(gd(16*t()));return new Rl(e,"hex")}});function xd(t,e=null){let r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===dl(t)&&(t=Object.values(t)),t.forEach(t=>{e&&"object"===dl(t)&&(t=t[e]),null!=t&&!isNaN(t)&&(r.values.push(t),r.sum+=t,tr.max&&(r.max=t),r.count+=1)}),r.domain=[r.min,r.max],r.limits=(t,e)=>bd(r,t,e),r}function bd(t,e="equal",r=7){"array"==dl(t)&&(t=xd(t));let{min:n,max:i}=t,o=t.values.sort((t,e)=>t-e);if(1===r)return[n,i];let s=[];if("c"===e.substr(0,1)&&(s.push(n),s.push(i)),"e"===e.substr(0,1)){s.push(n);for(let t=1;t 0");let t=Math.LOG10E*Ed(n),e=Math.LOG10E*Ed(i);s.push(n);for(let n=1;n200&&(u=!1)}let d={};for(let t=0;tt-e),s.push(p[0]);for(let t=1;t{ml(),({log:Ed,pow:Td,floor:Od,abs:Sd}=Math)}),Ad=c(()=>{Gl(),kc(),wd=(t,e)=>{t=new Rl(t),e=new Rl(e);let r=t.luminance(),n=e.luminance();return r>n?(r+.05)/(n+.05):(n+.05)/(r+.05)}});function Cd(t,e,r){return.2126729*Math.pow(t/255,2.4)+.7151522*Math.pow(e/255,2.4)+.072175*Math.pow(r/255,2.4)}var Rd,Id,Ld=c(()=>{Gl(),Dc(),Rd=.022,Id=(t,e)=>{t=new Rl(t),e=new Rl(e),t.alpha()<1&&(t=xu(e,t,t.alpha(),"rgb"));let r=Cd(...t.rgb()),n=Cd(...e.rgb()),i=r>=Rd?r:r+Math.pow(Rd-r,1.414),o=n>=Rd?n:n+Math.pow(Rd-n,1.414),s=Math.pow(o,.56)-Math.pow(i,.57),a=Math.pow(o,.65)-Math.pow(i,.62),l=Math.abs(o-i)<5e-4?0:i0?l-.027:l+.027)}});function kd(t,e,r=1,n=1,i=1){var o=function(t){return 360*t/(2*Hd)},s=function(t){return 2*Hd*t/360};t=new Rl(t),e=new Rl(e);let[a,l,u]=Array.from(t.lab()),[c,h,d]=Array.from(e.lab()),p=(a+c)/2,f=(Pd(Dd(l,2)+Dd(u,2))+Pd(Dd(h,2)+Dd(d,2)))/2,g=.5*(1-Pd(Dd(f,7)/(Dd(f,7)+Dd(25,7)))),m=l*(1+g),y=h*(1+g),v=Pd(Dd(m,2)+Dd(u,2)),_=Pd(Dd(y,2)+Dd(d,2)),x=(v+_)/2,b=o(Kd(u,m)),E=o(Kd(d,y)),T=b>=0?b:b+360,O=E>=0?E:E+360,S=Ud(T-O)>180?(T+O+360)/2:(T+O)/2,w=1-.17*Fd(s(S-30))+.24*Fd(s(2*S))+.32*Fd(s(3*S+6))-.2*Fd(s(4*S-63)),N=O-T;N=Ud(N)<=180?N:O<=T?N+360:N-360,N=2*Pd(v*_)*$d(s(N)/2);let A=c-a,C=_-v,R=1+.015*Dd(p-50,2)/Pd(20+Dd(p-50,2)),I=1+.045*x,L=1+.015*x*w,k=30*Bd(-Dd((S-275)/25,2)),P=-2*Pd(Dd(x,7)/(Dd(x,7)+Dd(25,7)))*$d(2*s(k)),D=Pd(Dd(A/(r*R),2)+Dd(C/(n*I),2)+Dd(N/(i*L),2)+P*(C/(n*I))*(N/(i*L)));return jd(0,Md(100,D))}var Pd,Dd,Md,jd,Kd,Ud,Fd,$d,Bd,Hd,Gd=c(()=>{Gl(),({sqrt:Pd,pow:Dd,min:Md,max:jd,atan2:Kd,abs:Ud,cos:Fd,sin:$d,exp:Bd,PI:Hd}=Math)});function qd(t,e,r="lab"){t=new Rl(t),e=new Rl(e);let n=t.get(r),i=e.get(r),o=0;for(let t in n){let e=(n[t]||0)-(i[t]||0);o+=e*e}return Math.sqrt(o)}var zd,Vd,Yd,Wd,Xd,Qd,Jd,Zd,tp,ep,rp,np,ip,op,sp,ap,lp,up,cp,hp,dp,pp,fp,gp,mp,yp,vp,_p,xp,bp,Ep,Tp,Op,Sp,wp,Np,Ap,Cp,Rp,Ip,Lp,kp,Pp,Dp,Mp,jp,Kp,Up,Fp,$p,Bp,Hp,Gp,qp,zp,Vp,Yp,Wp,Xp,Qp,Jp,Zp,tf,ef,rf,nf,of=c(()=>{Gl()}),sf=c(()=>{Gl(),zd=(...t)=>{try{return new Rl(...t),!0}catch{return!1}}}),af=c(()=>{zl(),dh(),ad(),Vd={cool:()=>Bh([kl.hsl(180,1,.9),kl.hsl(250,.7,.4)]),hot:()=>Bh(["#000","#f00","#ff0","#fff"]).mode("rgb")}}),lf=c(()=>{Yd={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Wd=Object.keys(Yd),Xd=new Map(Wd.map(t=>[t.toLowerCase(),t])),Qd="function"==typeof Proxy?new Proxy(Yd,{get(t,e){let r=e.toLowerCase();if(Xd.has(r))return t[Xd.get(r)]},getOwnPropertyNames:()=>Object.getOwnPropertyNames(Wd)}):Yd,Jd=Qd}),uf=c(()=>{Bl(),Zd=(...t)=>{t=fl(t,"cmyk");let[e,r,n,i]=t,o=t.length>4?t[4]:1;return 1===i?[0,0,0,o]:[e>=1?0:255*(1-e)*(1-i),r>=1?0:255*(1-r)*(1-i),n>=1?0:255*(1-n)*(1-i),o]},tp=Zd}),cf=c(()=>{Bl(),({max:ep}=Math),rp=(...t)=>{let[e,r,n]=fl(t,"rgb");e/=255,r/=255,n/=255;let i=1-ep(e,ep(r,n)),o=i<1?1/(1-i):0;return[(1-e-i)*o,(1-r-i)*o,(1-n-i)*o,i]},np=rp}),hf=c(()=>{zl(),Gl(),Hl(),Bl(),uf(),cf(),Rl.prototype.cmyk=function(){return np(this._rgb)},ip=(...t)=>new Rl(...t,"cmyk"),Object.assign(kl,{cmyk:ip}),Cl.format.cmyk=tp,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"cmyk"))&&4===t.length)return"cmyk"}})}),df=c(()=>{Bl(),op=(...t)=>{let e=fl(t,"hsla"),r=gl(t)||"lsa";return e[0]=Tl(e[0]||0)+"deg",e[1]=Tl(100*e[1])+"%",e[2]=Tl(100*e[2])+"%","hsla"===r||e.length>3&&e[3]<1?(e[3]="/ "+(e.length>3?e[3]:1),r="hsla"):e.length=3,`${r.substr(0,3)}(${e.join(" ")})`},sp=op}),pf=c(()=>{Bl(),ap=(...t)=>{let e=fl(t,"lab"),r=gl(t)||"lab";return e[0]=Tl(e[0])+"%",e[1]=Tl(e[1]),e[2]=Tl(e[2]),"laba"===r||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lab(${e.join(" ")})`},lp=ap}),ff=c(()=>{Bl(),up=(...t)=>{let e=fl(t,"lch"),r=gl(t)||"lab";return e[0]=Tl(e[0])+"%",e[1]=Tl(e[1]),e[2]=isNaN(e[2])?"none":Tl(e[2])+"deg","lcha"===r||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lch(${e.join(" ")})`},cp=up}),gf=c(()=>{Bl(),hp=(...t)=>{let e=fl(t,"lab");return e[0]=Tl(100*e[0])+"%",e[1]=Ol(e[1]),e[2]=Ol(e[2]),e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklab(${e.join(" ")})`},dp=hp}),mf=c(()=>{Bl(),jh(),$c(),pp=(...t)=>{let[e,r,n,...i]=fl(t,"rgb"),[o,s,a]=Sh(e,r,n),[l,u,c]=ku(o,s,a);return[l,u,c,...i.length>0&&i[0]<1?[i[0]]:[]]},fp=pp}),yf=c(()=>{Bl(),gp=(...t)=>{let e=fl(t,"lch");return e[0]=Tl(100*e[0])+"%",e[1]=Ol(e[1]),e[2]=isNaN(e[2])?"none":Tl(e[2])+"deg",e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklch(${e.join(" ")})`},mp=gp}),vf=c(()=>{Bl(),df(),hh(),pf(),Cc(),ff(),Bc(),jh(),gf(),mf(),yf(),uu(),({round:yp}=Math),vp=(...t)=>{let e=fl(t,"rgba"),r=gl(t)||"rgb";if("hsl"===r.substr(0,3))return sp(yc(e),r);if("lab"===r.substr(0,3)){let t=tu();Zl("d50");let n=lp(fu(e),r);return Zl(t),n}if("lch"===r.substr(0,3)){let t=tu();Zl("d50");let n=cp(Du(e),r);return Zl(t),n}return"oklab"===r.substr(0,5)?dp(Sh(e)):"oklch"===r.substr(0,5)?mp(fp(e)):(e[0]=yp(e[0]),e[1]=yp(e[1]),e[2]=yp(e[2]),("rgba"===r||e.length>3&&e[3]<1)&&(e[3]="/ "+(e.length>3?e[3]:1),r="rgba"),`${r.substr(0,3)}(${e.slice(0,"rgb"===r?3:4).join(" ")})`)},_p=vp}),_f=c(()=>{Bl(),Kc(),Eh(),xp=(...t)=>{t=fl(t,"lch");let[e,r,n,...i]=t,[o,s,a]=Ou(e,r,n),[l,u,c]=xh(o,s,a);return[l,u,c,...i.length>0&&i[0]<1?[i[0]]:[]]},bp=xp}),xf=c(()=>{ch(),cu(),Uc(),Eh(),_f(),Hl(),cl(),uu(),Ep=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,Tp=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,Op=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,Sp=/\s*/.source,wp=/\s+/.source,Np=/\s*,\s*/.source,Ap=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,Cp=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,Rp=new RegExp("^rgba?\\("+Sp+[Ep,Ep,Ep].join(wp)+Cp+"\\)$"),Ip=new RegExp("^rgb\\("+Sp+[Ep,Ep,Ep].join(Np)+Sp+"\\)$"),Lp=new RegExp("^rgba\\("+Sp+[Ep,Ep,Ep,Tp].join(Np)+Sp+"\\)$"),kp=new RegExp("^hsla?\\("+Sp+[Ap,Op,Op].join(wp)+Cp+"\\)$"),Pp=new RegExp("^hsl?\\("+Sp+[Ap,Op,Op].join(Np)+Sp+"\\)$"),Dp=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Mp=new RegExp("^lab\\("+Sp+[Tp,Tp,Tp].join(wp)+Cp+"\\)$"),jp=new RegExp("^lch\\("+Sp+[Tp,Tp,Ap].join(wp)+Cp+"\\)$"),Kp=new RegExp("^oklab\\("+Sp+[Tp,Tp,Tp].join(wp)+Cp+"\\)$"),Up=new RegExp("^oklch\\("+Sp+[Tp,Tp,Ap].join(wp)+Cp+"\\)$"),({round:Fp}=Math),$p=t=>t.map((t,e)=>e<=2?al(Fp(t),0,255):t),Bp=(t,e=0,r=100,n=!1)=>("string"==typeof t&&t.endsWith("%")&&(t=parseFloat(t.substring(0,t.length-1))/100,t=n?e+.5*(t+1)*(r-e):e+t*(r-e)),+t),Hp=(t,e)=>"none"===t?e:t,Gp=t=>{if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];let e;if(Cl.format.named)try{return Cl.format.named(t)}catch{}if((e=t.match(Rp))||(e=t.match(Ip))){let t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=+Bp(Hp(t[e],0),0,255);t=$p(t);let r=void 0!==e[4]?+Bp(e[4],0,1):1;return t[3]=r,t}if(e=t.match(Lp)){let t=e.slice(1,5);for(let e=0;e<4;e++)t[e]=+Bp(t[e],0,255);return t}if((e=t.match(kp))||(e=t.match(Pp))){let t=e.slice(1,4);t[0]=+Hp(t[0].replace("deg",""),0),t[1]=.01*+Bp(Hp(t[1],0),0,100),t[2]=.01*+Bp(Hp(t[2],0),0,100);let r=$p(gc(t)),n=void 0!==e[4]?+Bp(e[4],0,1):1;return r[3]=n,r}if(e=t.match(Dp)){let t=e.slice(1,4);t[1]*=.01,t[2]*=.01;let r=gc(t);for(let t=0;t<3;t++)r[t]=Fp(r[t]);return r[3]=+e[4],r}if(e=t.match(Mp)){let t=e.slice(1,4);t[0]=Bp(Hp(t[0],0),0,100),t[1]=Bp(Hp(t[1],0),-125,125,!0),t[2]=Bp(Hp(t[2],0),-125,125,!0);let r=tu();Zl("d50");let n=$p(lu(t));Zl(r);let i=void 0!==e[4]?+Bp(e[4],0,1):1;return n[3]=i,n}if(e=t.match(jp)){let t=e.slice(1,4);t[0]=Bp(t[0],0,100),t[1]=Bp(Hp(t[1],0),0,150,!1),t[2]=+Hp(t[2].replace("deg",""),0);let r=tu();Zl("d50");let n=$p(wu(t));Zl(r);let i=void 0!==e[4]?+Bp(e[4],0,1):1;return n[3]=i,n}if(e=t.match(Kp)){let t=e.slice(1,4);t[0]=Bp(Hp(t[0],0),0,1),t[1]=Bp(Hp(t[1],0),-.4,.4,!0),t[2]=Bp(Hp(t[2],0),-.4,.4,!0);let r=$p(xh(t)),n=void 0!==e[4]?+Bp(e[4],0,1):1;return r[3]=n,r}if(e=t.match(Up)){let t=e.slice(1,4);t[0]=Bp(Hp(t[0],0),0,1),t[1]=Bp(Hp(t[1],0),0,.4,!1),t[2]=+Hp(t[2].replace("deg",""),0);let r=$p(bp(t)),n=void 0!==e[4]?+Bp(e[4],0,1):1;return r[3]=n,r}},Gp.test=t=>Rp.test(t)||kp.test(t)||Mp.test(t)||jp.test(t)||Kp.test(t)||Up.test(t)||Ip.test(t)||Lp.test(t)||Pp.test(t)||Dp.test(t)||"transparent"===t,qp=Gp}),bf=c(()=>{zl(),Gl(),Hl(),Bl(),vf(),xf(),Rl.prototype.css=function(t){return _p(this._rgb,t)},zp=(...t)=>new Rl(...t,"css"),kl.css=zp,Cl.format.css=qp,Cl.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&"string"===dl(t)&&qp.test(t))return"css"}})}),Ef=c(()=>{Gl(),zl(),Hl(),Bl(),Cl.format.gl=(...t)=>{let e=fl(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},Vp=(...t)=>new Rl(...t,"gl"),kl.gl=Vp,Rl.prototype.gl=function(){let t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]}}),Tf=c(()=>{Gl(),zl(),Bl(),Hl(),Yl(),Wl(),Rl.prototype.hex=function(t){return $l(this._rgb,t)},Yp=(...t)=>new Rl(...t,"hex"),kl.hex=Yp,Cl.format.hex=Kl,Cl.autodetect.push({p:4,test:(t,...e)=>{if(!e.length&&"string"===dl(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}})}),Of=c(()=>{({log:Wp}=Math),Xp=t=>{let e,r,n,i=t/100;return i<66?(e=255,r=i<6?0:-155.25485562709179-.44596950469579133*(r=i-2)+104.49216199393888*Wp(r),n=i<20?0:.8274096064007395*(n=i-10)-254.76935184120902+115.67994401066147*Wp(n)):(e=351.97690566805693+.114206453784165*(e=i-55)-40.25366309332127*Wp(e),r=325.4494125711974+.07943456536662342*(r=i-50)-28.0852963507957*Wp(r),n=255),[e,r,n,1]},Qp=Xp}),Sf=c(()=>{Of(),Bl(),({round:Jp}=Math),Zp=(...t)=>{let e,r=fl(t,"rgb"),n=r[0],i=r[2],o=1e3,s=4e4;for(;s-o>.4;){e=.5*(s+o);let t=Qp(e);t[2]/t[0]>=i/n?s=e:o=e}return Jp(e)},tf=Zp}),wf=c(()=>{zl(),Gl(),Hl(),Of(),Sf(),Rl.prototype.temp=Rl.prototype.kelvin=Rl.prototype.temperature=function(){return tf(this._rgb)},ef=(...t)=>new Rl(...t,"temp"),Object.assign(kl,{temp:ef,kelvin:ef,temperature:ef}),Cl.format.temp=Cl.format.kelvin=Cl.format.temperature=Qp}),Nf=c(()=>{Bl(),zl(),Gl(),Hl(),_f(),mf(),Rl.prototype.oklch=function(){return fp(this._rgb)},rf=(...t)=>new Rl(...t,"oklch"),Object.assign(kl,{oklch:rf}),Cl.format.oklch=bp,Cl.autodetect.push({p:2,test:(...t)=>{if("array"===dl(t=fl(t,"oklch"))&&3===t.length)return"oklch"}})}),Af=c(()=>{zl(),Xl(),Ql(),Jl(),Ic(),Lc(),kc(),Mc(),jc(),Gc(),qc(),zc(),Vc(),Yc(),Wc(),Qc(),eh(),oh(),uh(),ph(),yh(),Uh(),Fh(),$h(),ld(),cd(),vd(),Dc(),_d(),ad(),Nd(),Ad(),Ld(),Gd(),of(),Nd(),sf(),Hl(),af(),Vl(),lf(),Gl(),hf(),bf(),Ef(),ih(),Tf(),lh(),dh(),mh(),Rc(),Hc(),th(),ud(),wf(),Kh(),Nf(),Object.assign(kl,{analyze:xd,average:Dh,bezier:zh,blend:sd,brewer:Jd,Color:Rl,colors:Pl,contrast:wd,contrastAPCA:Id,cubehelix:hd,deltaE:kd,distance:qd,input:Cl,interpolate:xu,limits:bd,mix:xu,random:yd,scale:Bh,scales:Vd,valid:zd}),nf=kl});function Cf(t,e){try{let[r,n,i]=nf(t).set("lab.l",e).rgb();return`rgb(${Math.round(r)}, ${Math.round(n)}, ${Math.round(i)})`}catch{return t}}var Rf,If=c(()=>{Af(),Rf=class{constructor(t){this.colors=this.generateColors(t),this.index=0}generateColors(t){let e=[];for(let r=0;r=this.colors.length&&(this.index=0),this.colors[this.index++]}phyllotacticColor(t){let e=t*(Math.PI/180*137.5),r=100*Math.cos(e),n=100*Math.sin(e),i=nf.lab(62,r,n).rgb();return`rgb(${Math.round(i[0])}, ${Math.round(i[1])}, ${Math.round(i[2])})`}}});function Lf(){return new kf}var kf,Pf,Df,Mf,jf,Kf,Uf,Ff,$f,Bf=c(()=>{kf=function(){function t(){this.index={},this.array=[]}return t.prototype.size=function(){return this.array.length},t.prototype.empty=function(){return 0===this.array.length},t.prototype.itemAt=function(t){return this.array[t]},t.prototype.contains=function(t){return void 0!==this.index[t.id()]},t.prototype.find=function(t){var e=this.index[t.id()];return void 0===e?void 0:this.array[e]},t.prototype.setDefault=function(t,e){var r=this.index[t.id()];if(void 0===r){var n=new Pf(t,e());return this.index[t.id()]=this.array.length,this.array.push(n),n}return this.array[r]},t.prototype.insert=function(t,e){var r=new Pf(t,e),n=this.index[t.id()];return void 0===n?(this.index[t.id()]=this.array.length,this.array.push(r)):this.array[n]=r,r},t.prototype.erase=function(t){var e=this.index[t.id()];if(void 0!==e){this.index[t.id()]=void 0;var r=this.array[e],n=this.array.pop();return r!==n&&(this.array[e]=n,this.index[n.first.id()]=e),r}},t.prototype.copy=function(){for(var e=new t,r=0;r{Gf(),Df=function(){function t(t){void 0===t&&(t=""),this._value=0,this._context=null,this._id=Mf++,this._name=t}return t.prototype.id=function(){return this._id},t.prototype.name=function(){return this._name},t.prototype.setName=function(t){this._name=t},t.prototype.context=function(){return this._context},t.prototype.setContext=function(t){this._context=t},t.prototype.value=function(){return this._value},t.prototype.setValue=function(t){this._value=t},t.prototype.plus=function(t){return new jf(this,t)},t.prototype.minus=function(t){return new jf(this,"number"==typeof t?-t:[-1,t])},t.prototype.multiply=function(t){return new jf([t,this])},t.prototype.divide=function(t){return new jf([1/t,this])},t.prototype.toJSON=function(){return{name:this._name,value:this._value}},t.prototype.toString=function(){return this._context+"["+this._name+":"+this._value+"]"},t}(),Mf=0}),Gf=c(()=>{Bf(),Hf(),jf=function(){function t(){var t=function(t){for(var e=0,r=function(){return 0},n=Lf(),i=0,o=t.length;i{Kf=function(){function t(){}return t.create=function(t,e,r,n){void 0===n&&(n=1);var i=0;return i+=1e6*Math.max(0,Math.min(1e3,t*n)),(i+=1e3*Math.max(0,Math.min(1e3,e*n)))+Math.max(0,Math.min(1e3,r*n))},t.clip=function(e){return Math.max(0,Math.min(t.required,e))},t.required=t.create(1e3,1e3,1e3),t.strong=t.create(1,0,0),t.medium=t.create(0,1,0),t.weak=t.create(0,0,1),t}()}),zf=c(()=>{Gf(),qf(),function(t){t[t.Le=0]="Le",t[t.Ge=1]="Ge",t[t.Eq=2]="Eq"}(Uf||(Uf={})),Ff=function(){function t(t,e,r,n){void 0===n&&(n=Kf.required),this._id=$f++,this._operator=e,this._strength=Kf.clip(n),this._expression=void 0===r&&t instanceof jf?t:t.minus(r)}return t.prototype.id=function(){return this._id},t.prototype.expression=function(){return this._expression},t.prototype.op=function(){return this._operator},t.prototype.strength=function(){return this._strength},t.prototype.toString=function(){return this._expression.toString()+" "+["<=",">=","="][this._operator]+" 0 ("+this._strength.toString()+")"},t}(),$f=0});function Vf(t){return t<0?-t<1e-8:t<1e-8}var Yf,Wf,Xf,Qf,Jf,Zf,tg,eg=c(()=>{zf(),Gf(),Bf(),qf(),Yf=function(){function t(){this._cnMap=Lf(),this._rowMap=Lf(),this._varMap=Lf(),this._editMap=Lf(),this._infeasibleRows=[],this._objective=new Jf,this._artificial=null,this._idTick=0}return t.prototype.createConstraint=function(t,e,r,n){void 0===n&&(n=Kf.required);var i=new Ff(t,e,r,n);return this.addConstraint(i),i},t.prototype.addConstraint=function(t){if(void 0!==this._cnMap.find(t))throw new Error("duplicate constraint");var e=this._createRow(t),r=e.row,n=e.tag,i=this._chooseSubject(r,n);if(i.type()===Wf.Invalid&&r.allDummies()){if(!Vf(r.constant()))throw new Error("unsatisfiable constraint");i=n.marker}if(i.type()===Wf.Invalid){if(!this._addWithArtificialVariable(r))throw new Error("unsatisfiable constraint")}else r.solveFor(i),this._substitute(i,r),this._rowMap.insert(i,r);this._cnMap.insert(t,n),this._optimize(this._objective)},t.prototype.removeConstraint=function(t){var e=this._cnMap.erase(t);if(void 0===e)throw new Error("unknown constraint");this._removeConstraintEffects(t,e.second);var r=e.second.marker,n=this._rowMap.erase(r);if(void 0===n){var i=this._getMarkerLeavingSymbol(r);if(i.type()===Wf.Invalid)throw new Error("failed to find leaving row");(n=this._rowMap.erase(i)).second.solveForEx(i,r),this._substitute(r,n.second)}this._optimize(this._objective)},t.prototype.hasConstraint=function(t){return this._cnMap.contains(t)},t.prototype.addEditVariable=function(t,e){if(void 0!==this._editMap.find(t))throw new Error("duplicate edit variable");if((e=Kf.clip(e))===Kf.required)throw new Error("bad required strength");var r=new jf(t),n=new Ff(r,Uf.Eq,void 0,e);this.addConstraint(n);var i={tag:this._cnMap.find(n).second,constraint:n,constant:0};this._editMap.insert(t,i)},t.prototype.removeEditVariable=function(t){var e=this._editMap.erase(t);if(void 0===e)throw new Error("unknown edit variable");this.removeConstraint(e.second.constraint)},t.prototype.hasEditVariable=function(t){return this._editMap.contains(t)},t.prototype.suggestValue=function(t,e){var r=this._editMap.find(t);if(void 0===r)throw new Error("unknown edit variable");var n=this._rowMap,i=r.second,o=e-i.constant;i.constant=e;var s=i.tag.marker,a=n.find(s);if(void 0!==a)return a.second.add(-o)<0&&this._infeasibleRows.push(s),void this._dualOptimize();var l=i.tag.other;if(void 0!==(a=n.find(l)))return a.second.add(o)<0&&this._infeasibleRows.push(l),void this._dualOptimize();for(var u=0,c=n.size();u0&&a.type()!==Wf.Dummy){var u=this._objective.coefficientFor(a)/l;u{zf(),Gf(),eg(),qf(),Hf()}),ng=c(()=>{rg(),Vn(),$a(),Wa(),Wa(),Zf=class{constructor(t){this.kiwiConstraintCache=new Map,this.expressionCache=new Map,this.boundingBoxMemberConstraints=[],this.minPadding=15,this.horizontallyAligned=[],this.verticallyAligned=[],this.horizontalAlignmentMap=new Map,this.verticalAlignmentMap=new Map,this.layout=t,this.solver=new Yf,this.nodes=t.nodes,this.edges=t.edges,this.orientationConstraints=t.constraints,this.variables={},this.groupBoundingBoxes=new Map,this.groups=t.groups,this.added_constraints=[]}validateConstraints(){return this.validateGroupConstraints()||this.validatePositionalConstraints()}validatePositionalConstraints(){this.nodes.forEach(t=>{let e=this.getNodeIndex(t.id);this.variables[e]={x:new Df(`${t.id}_x`),y:new Df(`${t.id}_y`)}});for(let t=0;t0){let e=this.solveDisjunctiveConstraints(i);if(!e.satisfiable)return e.error||null;let r=this.added_constraints.slice(t);console.assert(r.length>0,"Disjunctive solver succeeded but no constraints were added"),this.layout.constraints=this.layout.constraints.concat(r)}this.solver.updateVariables();let o=this.getAlignmentOrders();return this.detectNodeOverlaps()||(this.layout.constraints=this.layout.constraints.concat(o),null)}solveDisjunctiveConstraints(t){this.added_constraints.length;let e=this.backtrackDisjunctions(t,0);return e.satisfiable&&this.added_constraints.length,e}getChosenDisjunctiveConstraints(t){return this.added_constraints.slice(t)}hasObviousConflict(t){let e=new Set,r=new Set;for(let t of this.added_constraints)Dn(t)?e.add(`${t.left.id}:${t.right.id}`):Pn(t)&&r.add(`${t.top.id}:${t.bottom.id}`);for(let n of t)if(Dn(n)){let t=`${n.right.id}:${n.left.id}`;if(e.has(t))return!0}else if(Pn(n)){let t=`${n.bottom.id}:${n.top.id}`;if(r.has(t))return!0}return!1}orderAlternativesByHeuristic(t){let e=[...t];return e.sort((t,e)=>{if(t.length!==e.length)return t.length-e.length;let r=t.some(t=>jn(t)&&("left"===t.side||"right"===t.side)),n=e.some(t=>jn(t)&&("left"===t.side||"right"===t.side));return r&&!n?-1:!r&&n?1:0}),e}backtrackDisjunctions(t,e){if(e>=t.length)return{satisfiable:!0};let r,n=t[e],i=this.orderAlternativesByHeuristic(n.alternatives),o=0,s=0,a=0;for(let n=0;na||g===a&&p>s)&&(o=n,s=p,a=g,f&&(r=f)),this.restoreSolver(u),this.added_constraints=c,console.assert(this.added_constraints.length===h,`Backtracking failed: expected ${h} constraints, got ${this.added_constraints.length}`)}if(r&&a>0)return{satisfiable:!1,error:r};if(0===i.length){let t=n.sourceConstraint,e=new Map;e.set(t,[]);let r=this.added_constraints[this.added_constraints.length-1]??{sourceConstraint:t};return{satisfiable:!1,error:{name:"PositionalConstraintError",type:"positional-conflict",message:`No valid alternative for disjunction from ${t?.toHTML?.()??"unknown"} (empty disjunction)`,conflictingConstraint:r,conflictingSourceConstraint:t,minimalConflictingSet:e}}}let l=i[o],u=this.getMinimalDisjunctiveConflict(this.added_constraints,l,n.sourceConstraint),c=l[0];if(l.some(t=>jn(t))&&u.existingConstraints.length>0){let t=new Set;l.forEach(e=>{jn(e)&&e.group.nodeIds.forEach(e=>t.add(e))});let e=u.existingConstraints.find(e=>Dn(e)?t.has(e.left.id)||t.has(e.right.id):Pn(e)?t.has(e.top.id)||t.has(e.bottom.id):!!Mn(e)&&(t.has(e.node1.id)||t.has(e.node2.id)));e&&(c=e)}let h=new Map,d=[...u.existingConstraints,...u.disjunctiveConstraints],p=new Map;for(let t of d){let e=this.getConstraintKey(t);p.has(e)||p.set(e,t)}let f=this.removeTransitiveConstraints(Array.from(p.values()));for(let t of f){let e=t.sourceConstraint;h.has(e)||h.set(e,[]),h.get(e).push(t)}let g=Va(c),m=new Map;for(let[t,e]of h.entries()){let r=t.toHTML();m.has(r)||m.set(r,[]),e.forEach(t=>{m.get(r).push(Va(t))})}return{satisfiable:!1,error:{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${g}" conflicts with existing constraints`,conflictingConstraint:c,conflictingSourceConstraint:n.sourceConstraint,minimalConflictingSet:h,errorMessages:{conflictingConstraint:g,conflictingSourceConstraint:n.sourceConstraint.toHTML(),minimalConflictingConstraints:m}}}}getVarPlusConstant(t,e){let r=`${t.name()}_plus_${e}`,n=this.expressionCache.get(r);return n||(n=t.plus(e),this.expressionCache.set(r,n)),n}getConstraintKey(t){if(Dn(t))return`left:${t.left.id}:${t.right.id}`;if(Pn(t))return`top:${t.top.id}:${t.bottom.id}`;if(Mn(t)){let[e,r]=[t.node1.id,t.node2.id].sort();return`align:${e}:${r}:${t.axis}`}return jn(t)?`bbox:${t.node.id}:${t.group.name}:${t.side}`:Kn(t)?`groupbound:${t.groupA.name}:${t.groupB.name}:${t.side}`:`unknown:${JSON.stringify(t)}`}areAlignmentsIdentical(t,e){return t.axis===e.axis&&(t.node1.id===e.node1.id&&t.node2.id===e.node2.id||t.node1.id===e.node2.id&&t.node2.id===e.node1.id)}areConstraintsIdentical(t,e){return t===e||(Dn(t)&&Dn(e)?t.left.id===e.left.id&&t.right.id===e.right.id:Pn(t)&&Pn(e)?t.top.id===e.top.id&&t.bottom.id===e.bottom.id:Mn(t)&&Mn(e)?this.areAlignmentsIdentical(t,e):jn(t)&&jn(e)?t.node.id===e.node.id&&t.group.name===e.group.name&&t.side===e.side:!(!Kn(t)||!Kn(e))&&t.groupA.name===e.groupA.name&&t.groupB.name===e.groupB.name&&t.side===e.side)}cloneSolver(){let t=new Yf;this.addBoundingBoxMemberConstraintsToSolver(t);for(let e of this.added_constraints)this.constraintToKiwi(e).forEach(e=>{t.addConstraint(e)});return t}restoreSolver(t){this.solver=t}validateGroupConstraints(){for(let t=0;t0&&(e.overlapping=!0,t.overlapping=!0)}}return null}addGroupBoundingBoxConstraints(){let t=new Map;for(let e of this.nodes)t.set(e.id,new Set);for(let e of this.groups)if(e.nodeIds.length>1&&e.sourceConstraint)for(let r of e.nodeIds)t.get(r)?.add(e);for(let e of this.groups){if(e.nodeIds.length<=1||!e.sourceConstraint||e.negated)continue;let r=e.nodeIds.map(t=>this.nodes.find(e=>e.id===t)).filter(t=>void 0!==t);if(0===r.length)continue;let n=new Set(e.nodeIds),i=new Df(`${e.name}_bbox_left`),o=new Df(`${e.name}_bbox_right`),s=new Df(`${e.name}_bbox_top`),a=new Df(`${e.name}_bbox_bottom`);this.groupBoundingBoxes.set(e.name,{left:i,right:o,top:s,bottom:a});for(let t of r){let e=this.getNodeIndex(t.id),r=this.variables[e].x,n=this.variables[e].y,l=new Ff(r,Uf.Ge,i,Kf.required),u=new Ff(r,Uf.Le,o,Kf.required),c=new Ff(n,Uf.Ge,s,Kf.required),h=new Ff(n,Uf.Le,a,Kf.required);this.boundingBoxMemberConstraints.push(l,u,c,h),this.solver.addConstraint(l),this.solver.addConstraint(u),this.solver.addConstraint(c),this.solver.addConstraint(h)}for(let r of this.nodes){if(n.has(r.id))continue;let i=t.get(r.id);if(i&&i.size>0&&(!e.overlapping||[...i].every(t=>t===e||this.isSubGroup(t,e)||this.isSubGroup(e,t))))continue;let o=e.sourceConstraint,s={group:e,node:r,side:"left",minDistance:this.minPadding,sourceConstraint:o},a={group:e,node:r,side:"right",minDistance:this.minPadding,sourceConstraint:o},l={group:e,node:r,side:"top",minDistance:this.minPadding,sourceConstraint:o},u={group:e,node:r,side:"bottom",minDistance:this.minPadding,sourceConstraint:o},c=new zn(o,[[s],[a],[l],[u]]);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(c)}}for(let t=0;t0)continue;let i={groupA:r,groupB:n,side:"left",minDistance:this.minPadding,sourceConstraint:r.sourceConstraint||n.sourceConstraint},o={groupA:r,groupB:n,side:"right",minDistance:this.minPadding,sourceConstraint:r.sourceConstraint||n.sourceConstraint},s={groupA:r,groupB:n,side:"top",minDistance:this.minPadding,sourceConstraint:r.sourceConstraint||n.sourceConstraint},a={groupA:r,groupB:n,side:"bottom",minDistance:this.minPadding,sourceConstraint:r.sourceConstraint||n.sourceConstraint},l=new zn(r.sourceConstraint||n.sourceConstraint,[[i],[o],[s],[a]]);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(l)}let e=new Map;for(let t of this.groups){if(!t.negated||!t.sourceConstraint)continue;let r=t.sourceConstraint;e.has(r)||e.set(r,[]),e.get(r).push(t)}for(let[t,r]of e){let e=[];for(let n of r){let r=new Set(n.nodeIds),i=n.nodeIds.map(t=>this.nodes.find(e=>e.id===t)).filter(t=>void 0!==t),o=this.nodes.filter(t=>!r.has(t.id));for(let r of o)for(let n of i)for(let o of i)for(let s of i)for(let a of i)e.push([{left:n,right:r,minDistance:0,sourceConstraint:t},{left:r,right:o,minDistance:0,sourceConstraint:t},{top:s,bottom:r,minDistance:0,sourceConstraint:t},{top:r,bottom:a,minDistance:0,sourceConstraint:t}])}let n=new zn(t,e);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(n)}return null}getNodeIndex(t){return this.nodes.findIndex(e=>e.id===t)}deduplicateGroups(t){let e=new Map;for(let r of t){if(r.nodeIds.length<=1){let t=`_singleton_${r.nodeIds[0]||"empty"}_${Math.random()}`;e.set(t,[r]);continue}let t=[...r.nodeIds].sort().join("|");e.has(t)||e.set(t,[]),e.get(t).push(r)}let r=[],n=new Map;for(let t of e.values()){let e=t[0];r.push(e),n.set(e,t),t.length>1&&console.log(`Deduplicating ${t.length} groups with identical members: ${t.map(t=>t.name).join(", ")}`)}return{dedupedGroups:r,groupMap:n}}addBoundingBoxMemberConstraintsToSolver(t,e=!0){if(e&&this.boundingBoxMemberConstraints.length>0)for(let e of this.boundingBoxMemberConstraints)try{t.addConstraint(e)}catch{}else for(let e of this.groups){if(e.nodeIds.length<=1||!e.sourceConstraint)continue;let r=this.groupBoundingBoxes.get(e.name);if(!r)continue;let n=e.nodeIds.map(t=>this.nodes.find(e=>e.id===t)).filter(t=>void 0!==t);for(let e of n){let n=this.getNodeIndex(e.id),i=this.variables[n].x,o=this.variables[n].y;try{t.addConstraint(new Ff(i,Uf.Ge,r.left,Kf.required)),t.addConstraint(new Ff(i,Uf.Le,r.right,Kf.required)),t.addConstraint(new Ff(o,Uf.Ge,r.top,Kf.required)),t.addConstraint(new Ff(o,Uf.Le,r.bottom,Kf.required))}catch{}}}}getMinimalDisjunctiveConflict(t,e,r){return e.some(t=>jn(t))||t.some(t=>jn(t))?this.getMinimalGroupingConflict(t,e):this.getMinimalSimpleConflict(t,e)}getMinimalGroupingConflict(t,e){let r=[...t];if(e.length>0){let n=e[0],i=[...t,n];r=this.isConflictingSet(i)?this.getMinimalConflictingConstraints(t,n):[]}if(r.length<=1&&e.some(t=>jn(t))){let n=new Set;for(let t of e)jn(t)&&(n.add(t.node.id),t.group.nodeIds.forEach(t=>n.add(t)));let i=t.filter(t=>Dn(t)?n.has(t.left.id)||n.has(t.right.id):Pn(t)?n.has(t.top.id)||n.has(t.bottom.id):!!Mn(t)&&(n.has(t.node1.id)||n.has(t.node2.id)));i.length>0&&(r=i)}return{existingConstraints:r,disjunctiveConstraints:e}}getMinimalSimpleConflict(t,e){let r=[...t],n=[...e];if(!this.isConflicting(r,n))return{existingConstraints:[],disjunctiveConstraints:e.length>0?[e[0]]:[]};let i=!0;for(;i&&r.length>0;){i=!1;for(let t=r.length-1;t>=0;t--){let e=r.slice(0,t).concat(r.slice(t+1));this.isConflicting(e,n)&&(r=e,i=!0)}}for(i=!0;i&&n.length>0;){i=!1;for(let t=n.length-1;t>=0;t--){let e=n.slice(0,t).concat(n.slice(t+1));this.isConflicting(r,e)&&(n=e,i=!0)}}for(i=!0;i&&r.length>0;){i=!1;for(let t=r.length-1;t>=0;t--){let e=r.slice(0,t).concat(r.slice(t+1));this.isConflicting(e,n)&&(r=e,i=!0)}}return 0===r.length&&0===n.length&&(r=t.length>0?[t[0]]:[],n=e.length>0?[e[0]]:[]),{existingConstraints:r,disjunctiveConstraints:n}}isConflicting(t,e){return this.isConflictingSet([...t,...e])}isConflictingSet(t){let e=new Yf;try{if(!t.some(t=>jn(t)||Kn(t))){for(let r of t)this.constraintToKiwi(r).forEach(t=>e.addConstraint(t));return e.updateVariables(),!1}{let r=new Map,n=new Set;t.forEach(t=>{jn(t)?n.add(t.group.name):Kn(t)&&(n.add(t.groupA.name),n.add(t.groupB.name))}),n.forEach(t=>{r.set(t,{left:new Df(`test_${t}_bbox_left`),right:new Df(`test_${t}_bbox_right`),top:new Df(`test_${t}_bbox_top`),bottom:new Df(`test_${t}_bbox_bottom`)})});let i=this.groupBoundingBoxes;this.groupBoundingBoxes=r;try{this.addBoundingBoxMemberConstraintsToSolver(e,!1);for(let r of t)this.constraintToKiwi(r).forEach(t=>e.addConstraint(t));return e.updateVariables(),!1}finally{this.groupBoundingBoxes=i}}}catch{return!0}}getMinimalConflictingConstraints(t,e){let r=[...t,e];if(!this.isConflictingSet(r))return[];let n=[...t],i=!0;for(;i&&n.length>0;){i=!1;for(let t=n.length-1;t>=0;t--){let r=n.slice(0,t).concat(n.slice(t+1)),o=[...r,e];this.isConflictingSet(o)&&(n=r,i=!0)}}return n=this.removeTransitiveConstraints(n),n}removeTransitiveConstraints(t){let e=this.removeTransitiveAlignments(t);return e=this.removeTransitiveOrderings(e),e}removeTransitiveOrderings(t){let e=t.filter(t=>Dn(t)),r=t.filter(t=>Pn(t)),n=[...t.filter(t=>!Dn(t)&&!Pn(t))];return e.length>0&&n.push(...this.transitiveReduction(e,t=>t.left.id,t=>t.right.id)),r.length>0&&n.push(...this.transitiveReduction(r,t=>t.top.id,t=>t.bottom.id)),n}transitiveReduction(t,e,r){if(t.length<=1)return t;let n=new Map,i=new Map;for(let o of t){let t=e(o),s=r(o);n.has(t)||n.set(t,new Set),n.get(t).add(s),i.set(`${t}->${s}`,o)}let o=new Set;for(let[t,e]of n.entries())o.add(t),e.forEach(t=>o.add(t));let s=Array.from(o),a=new Map;for(let t of s)a.set(t,new Set(n.get(t)||[]));for(let t of s)for(let e of s)for(let r of s)a.get(e)?.has(t)&&a.get(t)?.has(r)&&a.get(e).add(r);let l=[];for(let i of t){let t=e(i),o=r(i),s=!1,u=n.get(t);if(u&&u.size>1)for(let t of u)if(t!==o&&a.get(t)?.has(o)){s=!0;break}s||l.push(i)}return l}removeTransitiveAlignments(t){let e=t.filter(t=>Mn(t)),r=t.filter(t=>!Mn(t));if(e.length<=2)return t;let n=new Map;for(let t of e)n.has(t.axis)||n.set(t.axis,[]),n.get(t.axis).push(t);let i=[...r];for(let[t,e]of n.entries()){if(e.length<=2){i.push(...e);continue}let t=new Map;for(let r of e){let e=r.node1.id,n=r.node2.id;t.has(e)||t.set(e,new Set),t.has(n)||t.set(n,new Set),t.get(e).add(n),t.get(n).add(e)}let r=Array.from(t.keys());if(0===r.length)continue;let n=new Set,o=[r[0]];n.add(r[0]);let s=[];for(;o.length>0&&n.sizee.node1.id===r&&e.node2.id===t||e.node2.id===r&&e.node1.id===t);i&&s.push(i)}}i.push(...s)}return i}constraintToKiwi(t){let e=this.kiwiConstraintCache.get(t);if(e)return e;let r=this.convertConstraintToKiwi(t);return this.kiwiConstraintCache.set(t,r),r}convertConstraintToKiwi(t){if(Pn(t)){let e=t,r=e.top,n=e.bottom,i=0===e.minDistance?0:r.height,o=this.getNodeIndex(r.id),s=this.getNodeIndex(n.id),a=this.variables[o].y,l=this.variables[s].y,u=this.getVarPlusConstant(a,i);return[new Ff(u,Uf.Le,l,Kf.required)]}if(Dn(t)){let e=t,r=e.left,n=e.right,i=0===e.minDistance?0:r.width,o=this.getNodeIndex(r.id),s=this.getNodeIndex(n.id),a=this.variables[o].x,l=this.variables[s].x,u=this.getVarPlusConstant(a,i);return[new Ff(u,Uf.Le,l,Kf.required)]}if(Mn(t)){let e=t,r=e.axis,n=e.node1,i=e.node2,o=this.getNodeIndex(n.id),s=this.getNodeIndex(i.id),a=this.variables[o][r],l=this.variables[s][r],u=this.getNodePairKey(n.id,i.id);return"x"===r?(this.verticallyAligned.push([n,i]),this.verticalAlignmentMap.has(u)||this.verticalAlignmentMap.set(u,[]),this.verticalAlignmentMap.get(u).push(e)):"y"===r&&(this.horizontallyAligned.push([n,i]),this.horizontalAlignmentMap.has(u)||this.horizontalAlignmentMap.set(u,[]),this.horizontalAlignmentMap.get(u).push(e)),[new Ff(a,Uf.Eq,l,Kf.required)]}if(jn(t)){let e=t,r=this.groupBoundingBoxes.get(e.group.name);if(!r)return console.error(`Bounding box not found for group ${e.group.name}`),[];let n=this.getNodeIndex(e.node.id),i=this.variables[n].x,o=this.variables[n].y;switch(e.node.width||e.minDistance,e.node.height||e.minDistance,e.side){case"left":return[new Ff(this.getVarPlusConstant(i,e.minDistance),Uf.Le,r.left,Kf.required)];case"right":return[new Ff(i,Uf.Ge,this.getVarPlusConstant(r.right,e.minDistance),Kf.required)];case"top":return[new Ff(this.getVarPlusConstant(o,e.minDistance),Uf.Le,r.top,Kf.required)];case"bottom":return[new Ff(o,Uf.Ge,this.getVarPlusConstant(r.bottom,e.minDistance),Kf.required)];default:return console.error(`Unknown bounding box side: ${e.side}`),[]}}else{if(!Kn(t))return[];{let e=t,r=this.groupBoundingBoxes.get(e.groupA.name),n=this.groupBoundingBoxes.get(e.groupB.name);if(!r||!n)return console.error(`Bounding box not found for groups ${e.groupA.name} or ${e.groupB.name}`),[];switch(e.side){case"left":return[new Ff(this.getVarPlusConstant(r.right,e.minDistance),Uf.Le,n.left,Kf.required)];case"right":return[new Ff(this.getVarPlusConstant(n.right,e.minDistance),Uf.Le,r.left,Kf.required)];case"top":return[new Ff(this.getVarPlusConstant(r.bottom,e.minDistance),Uf.Le,n.top,Kf.required)];case"bottom":return[new Ff(this.getVarPlusConstant(n.bottom,e.minDistance),Uf.Le,r.top,Kf.required)];default:return console.error(`Unknown group boundary side: ${e.side}`),[]}}}}addConstraintToSolver(t){try{this.constraintToKiwi(t).forEach(t=>{this.solver.addConstraint(t)}),this.added_constraints.push(t)}catch{let e=this.getMinimalConflictingConstraints(this.added_constraints,t),r=new Map,n=new Map;return e.forEach(t=>{let e=t.sourceConstraint;r.has(e)||r.set(e,[]),n.has(e.toHTML())||n.set(e.toHTML(),[]),r.get(e).push(t),n.get(e.toHTML()).push(Va(t))}),{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${Va(t)}" conflicts with existing constraints`,conflictingConstraint:t,conflictingSourceConstraint:t.sourceConstraint,minimalConflictingSet:r,errorMessages:{conflictingConstraint:`${Va(t)}`,conflictingSourceConstraint:`${t.sourceConstraint.toHTML()}`,minimalConflictingConstraints:n}}}return null}getAlignmentOrders(){this.solver.updateVariables(),this.horizontallyAligned=this.normalizeAlignment(this.horizontallyAligned),this.verticallyAligned=this.normalizeAlignment(this.verticallyAligned);let t=[];for(let t=0;tthis.variables[this.getNodeIndex(t.id)].x.value()-this.variables[this.getNodeIndex(e.id)].x.value());this.horizontallyAligned.forEach(e=>{for(let r=0;r${i.id}`),s=new qn(o,"Preventing Overlap"),a={left:n,right:i,minDistance:this.minPadding,sourceConstraint:s};t.push(a)}});for(let t=0;tthis.variables[this.getNodeIndex(t.id)].y.value()-this.variables[this.getNodeIndex(e.id)].y.value());return this.verticallyAligned.forEach(e=>{for(let r=0;r${i.id}`),s=new qn(o,"Preventing Overlap"),a={top:n,bottom:i,minDistance:this.minPadding,sourceConstraint:s};t.push(a)}}),t}normalizeAlignment(t){let e=[];for(let r of t){let t=!1;for(let n of e)if(r.some(t=>n.includes(t))){n.push(...r.filter(t=>!n.includes(t))),t=!0;break}t||e.push([...r])}let r=!0;for(;r;){r=!1;for(let t=0;te[n].includes(t))){e[t].push(...e[n].filter(r=>!e[t].includes(r))),e.splice(n,1),r=!0;break}if(r)break}}return e}isSubGroup(t,e){let r=t.nodeIds,n=e.nodeIds;return r.every(t=>n.includes(t))}groupIntersection(t,e){let r=t.nodeIds,n=e.nodeIds;return r.filter(t=>n.includes(t))}getNodePairKey(t,e){return tt.id));for(let r of this.verticallyAligned){let i=new Set(r.map(t=>t.id)),o=[];for(let t of n)i.has(t)&&o.push(t);if(o.length>=2)for(let r=0;rt.id===o[r]),s=this.nodes.find(t=>t.id===o[n]);t.push({node1:i,node2:s,overlappingNodeIds:o});let a=this.findAlignmentChain(i,s,this.horizontalAlignmentMap),l=this.findAlignmentChain(i,s,this.verticalAlignmentMap);a.forEach(t=>e.add(t)),l.forEach(t=>e.add(t))}}}if(0===t.length)return null;let r=new Map;for(let t of e){let e=t.sourceConstraint;r.has(e)||r.set(e,[]),r.get(e).push(t)}let n=new Map;for(let[t,e]of r.entries()){let r=t.toHTML();n.has(r)||n.set(r,[]);for(let t of e)n.get(r).push(Va(t))}let i=t.map(({node1:t,node2:e})=>`${za(t)} and ${za(e)}`),o=1===t.length?`Alignment constraints force ${i[0]} to occupy the same position`:`Alignment constraints force multiple node pairs to overlap: ${i.join("; ")}`,s=Array.from(e)[0];return{name:"PositionalConstraintError",type:"positional-conflict",message:o,conflictingConstraint:s,conflictingSourceConstraint:s.sourceConstraint,minimalConflictingSet:r,errorMessages:{conflictingConstraint:Va(s),conflictingSourceConstraint:s.sourceConstraint.toHTML(),minimalConflictingConstraints:n}}}findAlignmentChain(t,e,r){let n=new Map;for(let[t,e]of r.entries()){let[r,i]=t.split("|");n.has(r)||n.set(r,new Map),n.has(i)||n.set(i,new Map),n.get(r).set(i,e),n.get(i).set(r,e)}let i=new Set,o=[{nodeId:t.id,path:[]}];for(;o.length>0;){let{nodeId:t,path:r}=o.shift();if(t===e.id)return r;if(i.has(t))continue;i.add(t);let s=n.get(t);if(s)for(let[t,e]of s.entries())i.has(t)||o.push({nodeId:t,path:[...r,e[0]]})}return[]}dispose(){this.kiwiConstraintCache.clear(),this.expressionCache.clear(),this.solver=null,this.variables={},this.groupBoundingBoxes.clear()}getMemoryStats(){return{cachedConstraints:this.kiwiConstraintCache.size,cachedExpressions:this.expressionCache.size,variables:Object.keys(this.variables).length,groupBoundingBoxes:this.groupBoundingBoxes.size,addedConstraints:this.added_constraints?.length||0}}}});t.QualitativeConstraintValidator=void 0;var ig=c(()=>{Vn(),$a(),Wa(),Wa(),Wa(),tg=class t{constructor(t=15){this.adj=new Map,this.radj=new Map,this.nodes=new Set,this.nodeSize=new Map,this.edgeProvenance=new Map,this.alignmentRefCount=new Map,this.gap=t}clone(){let e=new t(this.gap);for(let t of this.nodes)e.nodes.add(t);for(let[t,r]of this.adj)e.adj.set(t,new Map(r));for(let[t,r]of this.radj)e.radj.set(t,new Map(r));return e.nodeSize=new Map(this.nodeSize),e.edgeProvenance=new Map(this.edgeProvenance),e.alignmentRefCount=new Map(this.alignmentRefCount),e}ensureNode(t,e=0){this.nodes.has(t)||(this.nodes.add(t),this.adj.set(t,new Map),this.radj.set(t,new Map),this.nodeSize.set(t,e))}static provenanceKey(t,e){return`${t}\0${e}`}addEdge(e,r,n,i){let o=(n??this.gap)+(this.nodeSize.get(e)??0);if(this.ensureNode(e),this.ensureNode(r),e===r)return!1;let s=this.adj.get(e).get(r);return void 0!==s&&o<=s||!this.canReach(r,e)&&(this.adj.get(e).set(r,o),this.radj.get(r).set(e,o),i&&this.edgeProvenance.set(t.provenanceKey(e,r),i),!0)}removeEdge(e,r){this.adj.get(e)?.delete(r),this.radj.get(r)?.delete(e),this.edgeProvenance.delete(t.provenanceKey(e,r))}hasEdge(t,e){return this.adj.get(t)?.has(e)??!1}getEdgeWeight(t,e){return this.adj.get(t)?.get(e)}getEdgeProvenance(e,r){return this.edgeProvenance.get(t.provenanceKey(e,r))}canReach(t,e){if(t===e)return!0;let r=new Set,n=[t];for(r.add(t);n.length>0;){let t=n.shift(),i=this.adj.get(t);if(i)for(let t of i.keys()){if(t===e)return!0;r.has(t)||(r.add(t),n.push(t))}}return!1}isOrdered(t,e){return this.isStrictlyOrdered(t,e)}successors(t){let e=this.adj.get(t);return e?new Set(e.keys()):new Set}predecessors(t){let e=this.radj.get(t);return e?new Set(e.keys()):new Set}topologicalSort(){let t=this.standardTopoSort();if(t)return t;let e=this.getAlignmentClasses(),r=new Map;for(let[t,n]of e)for(let e of n)r.set(e,t);for(let t of this.nodes)r.has(t)||r.set(t,t);let n=new Set;for(let t of this.nodes)n.add(r.get(t));let i=new Map;for(let t of n)i.set(t,new Set);for(let[t,e]of this.adj){let n=r.get(t);for(let[t]of e){let e=r.get(t);n!==e&&i.get(n).add(e)}}let o=new Map;for(let t of n)o.set(t,0);for(let[,t]of i)for(let e of t)o.set(e,(o.get(e)??0)+1);let s=[];for(let[t,e]of o)0===e&&s.push(t);let a=[];for(;s.length>0;){let t=s.shift();a.push(t);for(let e of i.get(t)??[]){let t=(o.get(e)??1)-1;o.set(e,t),0===t&&s.push(e)}}if(a.length!==n.size)return null;let l=[];for(let t of a){let r=e.get(t);r?l.push(...r):l.push(t)}return l}standardTopoSort(){let t=new Map;for(let e of this.nodes)t.set(e,0);for(let[,e]of this.adj)for(let r of e.keys())t.set(r,(t.get(r)??0)+1);let e=[];for(let[r,n]of t)0===n&&e.push(r);let r=[];for(;e.length>0;){let n=e.shift();r.push(n);for(let r of this.adj.get(n)?.keys()??[]){let n=(t.get(r)??1)-1;t.set(r,n),0===n&&e.push(r)}}return r.length===this.nodes.size?r:null}addAlignmentEdges(e,r,n){if(this.ensureNode(e),this.ensureNode(r),e===r)return!0;if(this.isStrictlyOrdered(e,r)||this.isStrictlyOrdered(r,e))return!1;this.adj.get(e).has(r)||(this.adj.get(e).set(r,0),this.radj.get(r).set(e,0),n&&this.edgeProvenance.set(t.provenanceKey(e,r),n)),this.adj.get(r).has(e)||(this.adj.get(r).set(e,0),this.radj.get(e).set(r,0),n&&this.edgeProvenance.set(t.provenanceKey(r,e),n));let i=e0?this.alignmentRefCount.set(n,i):(this.alignmentRefCount.delete(n),0===this.adj.get(e)?.get(r)&&(this.adj.get(e).delete(r),this.radj.get(r).delete(e),this.edgeProvenance.delete(t.provenanceKey(e,r))),0===this.adj.get(r)?.get(e)&&(this.adj.get(r).delete(e),this.radj.get(e).delete(r),this.edgeProvenance.delete(t.provenanceKey(r,e))))}areAligned(t,e){return t===e||this.canReach(t,e)&&this.canReach(e,t)}isStrictlyOrdered(t,e){if(t===e)return!1;let r=new Map,n=[{node:t,hasPositive:!1}];for(r.set(t,!1);n.length>0;){let{node:t,hasPositive:i}=n.shift(),o=this.adj.get(t);if(o)for(let[t,s]of o){let o=i||s>0;if(t===e&&o)return!0;let a=r.get(t);(void 0===a||!a&&o)&&(r.set(t,o),n.push({node:t,hasPositive:o}))}}return!1}getAlignmentClasses(){let t=new Map,e=new Set;for(let r of this.nodes){if(e.has(r))continue;let n=this.reachableSet(r),i=[];for(let t of n)this.canReach(t,r)&&i.push(t);if(i.length>1){i.sort();let r=i[0];t.set(r,i);for(let t of i)e.add(t)}else e.add(r)}return t}getAlignmentClassOf(t){let e=this.reachableSet(t),r=[];for(let n of e)this.canReach(n,t)&&r.push(n);return r}reachableSet(t){let e=new Set,r=[t];for(e.add(t);r.length>0;){let t=r.shift(),n=this.adj.get(t);if(n)for(let t of n.keys())e.has(t)||(e.add(t),r.push(t))}return e}findPath(t,e){if(t===e)return[];let r=new Set,n=[{node:t,path:[]}];for(r.add(t);n.length>0;){let{node:t,path:i}=n.shift(),o=this.adj.get(t);if(!o)continue;let s=[...o.keys()].sort();for(let o of s){if(o===e)return[...i,[t,o]];r.has(o)||(r.add(o),n.push({node:o,path:[...i,[t,o]]}))}}return null}getPathConstraints(e){let r=[];for(let[n,i]of e){let e=this.edgeProvenance.get(t.provenanceKey(n,i));e&&r.push(e)}return r}edgeCount(){let t=0;for(let[,e]of this.adj)t+=e.size;return t}allNodes(){return this.nodes}allEdges(){let t=[];for(let[e,r]of this.adj)for(let n of r.keys())t.push([e,n]);return t}},t.QualitativeConstraintValidator=class t{constructor(t){this.minPadding=15,this.horizontallyAligned=[],this.verticallyAligned=[],this.addedConstraints=[],this.allDisjunctions=[],this.originalDisjunctions=[],this.assignmentTrail=[],this.decisionLevel=0,this.learnedClauses=[],this.activity=new Map,this.activityDecay=.95,this.conflictCount=0,this.restartThreshold=32,this.emptyDisjunctionError=null,this.lubyIndex=0,this.nodeMap=new Map,this.prunedByTransitivity=0,this.prunedByDecomposition=0,this.mustHGraph=null,this.mustVGraph=null,this.mustHPairs=null,this.mustVPairs=null,this.mustHAlignmentClasses=null,this.mustVAlignmentClasses=null,this.layout=t,this.nodes=t.nodes,this.edges=t.edges,this.orientationConstraints=t.constraints,this.groups=t.groups,this.hGraph=new tg(this.minPadding),this.vGraph=new tg(this.minPadding);for(let t of this.nodes)this.nodeMap.set(t.id,t),this.hGraph.ensureNode(t.id,t.width),this.vGraph.ensureNode(t.id,t.height)}validateConstraints(){return this.validateGroupConstraints()||this.validatePositionalConstraints()}validatePositionalConstraints(){let t=!1;for(let e of this.orientationConstraints)if(this.addConjunctiveConstraint(e)){t=!0;break}if(this.addGroupBoundingBoxDisjunctions(),this.allDisjunctions=[...this.layout.disjunctiveConstraints||[]],this.originalDisjunctions=[...this.allDisjunctions],t)return this.enforceMaximalFeasibleSubset(this.buildGlobalMFSError());let e=this.addedConstraints.length;if(this.presolveDisjunctions(),this.emptyDisjunctionError)return this.enforceMaximalFeasibleSubset(this.emptyDisjunctionError);if(this.mustHGraph=this.hGraph.clone(),this.mustVGraph=this.vGraph.clone(),this.allDisjunctions.length>0&&!this.solveCDCL().satisfiable)return this.enforceMaximalFeasibleSubset(this.buildGlobalMFSError());let r=this.addedConstraints.slice(e);r.length>0&&(this.layout.constraints=this.layout.constraints.concat(r)),this.buildModalQueryState();let n=this.computeAlignmentOrders(),i=this.detectNodeOverlaps();return i?this.enforceMaximalFeasibleSubset(i):(this.layout.constraints=this.layout.constraints.concat(n),null)}enforceMaximalFeasibleSubset(t){return t.maximalFeasibleSubset&&(this.layout.constraints=t.maximalFeasibleSubset),t}buildGlobalMFSError(){let{feasibleConstraints:t,infeasibleDisjunctions:e,hGraph:r,vGraph:n}=this.computeMaximalFeasibleSubset(),i=new Set(t),o=this.orientationConstraints.filter(t=>!i.has(t)),s=new Set,a=new Set,l=(t,e,r)=>{let n=t.findPath(e,r);if(n)for(let[e,r]of n){let n=t.getEdgeProvenance(e,r);n&&!a.has(n)&&(a.add(n),s.add(n))}};for(let t of o)if(!a.has(t))if(a.add(t),s.add(t),Mn(t)){let e=t,i="x"===e.axis?r:n,o=e.node1.id,s=e.node2.id;i.canReach(o,s)&&l(i,o,s),i.canReach(s,o)&&l(i,s,o)}else{let e=this.constraintToEdge(t);if(!e)continue;l("h"===e.axis?r:n,e.to,e.from)}for(let t of e)if(t.alternatives.length>0&&t.alternatives[0].length>0){let e=t.alternatives[0][0];a.has(e)||(a.add(e),s.add(e));let i=this.constraintToEdge(e);if(i){let t="h"===i.axis?r:n,e=t.findPath(i.to,i.from);if(e)for(let[r,n]of e){let e=t.getEdgeProvenance(r,n);e&&!a.has(e)&&(a.add(e),s.add(e))}}}let u=new Map,c=new Map;for(let t of s){let e=t.sourceConstraint;u.has(e)||u.set(e,[]),c.has(e.toHTML())||c.set(e.toHTML(),[]),u.get(e).push(t),c.get(e.toHTML()).push(Va(t))}for(let t of e)if(0===t.alternatives.length){let e=t.sourceConstraint;u.has(e)||u.set(e,[]),c.has(e.toHTML())||c.set(e.toHTML(),[]),c.get(e.toHTML()).push(`unsatisfiable: ${e.toHTML()}`)}let h=[...s][0]??this.orientationConstraints[0],d=h?Va(h):"",p=h?.sourceConstraint??e[0]?.sourceConstraint??this.orientationConstraints[0]?.sourceConstraint;return{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${d}" conflicts with existing constraints`,conflictingConstraint:h??void 0,conflictingSourceConstraint:p??void 0,minimalConflictingSet:u,maximalFeasibleSubset:t,errorMessages:{conflictingConstraint:d,conflictingSourceConstraint:p?.toHTML()??"",minimalConflictingConstraints:c}}}presolveDisjunctions(){let t=[];for(let e of this.allDisjunctions){let r=this.getDisjunctionRegionPair(e);if(r&&this.areSeparated(r[0],r[1])){let t=this.findSatisfyingAlternative(e,r);if(null!==t){for(let r of e.alternatives[t])this.addedConstraints.push(r);this.prunedByTransitivity++;continue}}let n=[];for(let t of e.alternatives)this.isAlternativeFeasible(t)&&n.push(t);if(0===n.length)0===e.alternatives.length?(t.push(e),this.emptyDisjunctionError=this.buildDisjunctiveError(e)):t.push(e);else if(1===n.length){let r=!0;for(let i of n[0])if(this.addConjunctiveConstraint(i)){r=!1,t.push(e);break}r&&this.prunedByDecomposition++}else n.length1&&e.sourceConstraint)for(let r of e.nodeIds)t.get(r)?.add(e);for(let e of this.groups){if(e.nodeIds.length<=1||!e.sourceConstraint||e.negated)continue;let r=new Set(e.nodeIds),n=`_group_${e.name}`;this.hGraph.ensureNode(n),this.vGraph.ensureNode(n);for(let n of this.nodes){if(r.has(n.id))continue;let i=t.get(n.id);if(i&&i.size>0&&(!e.overlapping||[...i].every(t=>t===e||this.isSubGroup(t,e)||this.isSubGroup(e,t))))continue;let o=e.sourceConstraint,s=[[{group:e,node:n,side:"left",minDistance:this.minPadding,sourceConstraint:o}],[{group:e,node:n,side:"right",minDistance:this.minPadding,sourceConstraint:o}],[{group:e,node:n,side:"top",minDistance:this.minPadding,sourceConstraint:o}],[{group:e,node:n,side:"bottom",minDistance:this.minPadding,sourceConstraint:o}]],a=new zn(o,s);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(a)}}let r=new Map;for(let t of this.groups){if(!t.negated||!t.sourceConstraint)continue;let e=t.sourceConstraint;r.has(e)||r.set(e,[]),r.get(e).push(t)}for(let[t,n]of r){let r=[];for(let i of n){let n=new Set(i.nodeIds),o=i.nodeIds.map(t=>e.get(t)).filter(t=>void 0!==t),s=this.nodes.filter(t=>!n.has(t.id));if(!(o.length<2||0===s.length))if(o.length>5){let e=t=>({id:`_ng_${i.name}_${t}`,label:"",color:"",groups:[],attributes:{},width:0,height:0,mostSpecificType:"",types:[],showLabels:!1}),n=e("l"),a=e("r"),l=e("t"),u=e("b"),c=e=>{let r=new zn(t,e);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(r)};c(o.map(e=>[{left:e,right:n,minDistance:0,sourceConstraint:t}])),c(o.map(e=>[{left:a,right:e,minDistance:0,sourceConstraint:t}])),c(o.map(e=>[{top:e,bottom:l,minDistance:0,sourceConstraint:t}])),c(o.map(e=>[{top:u,bottom:e,minDistance:0,sourceConstraint:t}]));for(let e of s)r.push([{left:n,right:e,minDistance:0,sourceConstraint:t},{left:e,right:a,minDistance:0,sourceConstraint:t},{top:l,bottom:e,minDistance:0,sourceConstraint:t},{top:e,bottom:u,minDistance:0,sourceConstraint:t}])}else for(let e of s)for(let n of o)for(let i of o)if(n.id!==i.id)for(let s of o)for(let a of o)s.id!==a.id&&r.push([{left:n,right:e,minDistance:0,sourceConstraint:t},{left:e,right:i,minDistance:0,sourceConstraint:t},{top:s,bottom:e,minDistance:0,sourceConstraint:t},{top:e,bottom:a,minDistance:0,sourceConstraint:t}])}let i=new zn(t,r);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(i)}for(let t=0;t0)continue;let i=r.sourceConstraint||n.sourceConstraint,o=[[{groupA:r,groupB:n,side:"left",minDistance:this.minPadding,sourceConstraint:i}],[{groupA:r,groupB:n,side:"right",minDistance:this.minPadding,sourceConstraint:i}],[{groupA:r,groupB:n,side:"top",minDistance:this.minPadding,sourceConstraint:i}],[{groupA:r,groupB:n,side:"bottom",minDistance:this.minPadding,sourceConstraint:i}]],s=new zn(i,o);this.layout.disjunctiveConstraints||(this.layout.disjunctiveConstraints=[]),this.layout.disjunctiveConstraints.push(s)}return null}areSeparated(t,e){return this.hGraph.isOrdered(t,e)||this.hGraph.isOrdered(e,t)||this.vGraph.isOrdered(t,e)||this.vGraph.isOrdered(e,t)}isAlternativeFeasible(e){for(let r of e){if(jn(r)){let t=r,e="left"===t.side||"right"===t.side?this.hGraph:this.vGraph;for(let r of t.group.nodeIds)if(e.areAligned(t.node.id,r))return!1;if(!this.isBoundingBoxFeasible(t))return!1}if(Mn(r)){let e=r,n="x"===e.axis?this.hGraph:this.vGraph;if(n.canReach(e.node1.id,e.node2.id)!==n.canReach(e.node2.id,e.node1.id))return!1;if(e.node1.id!==e.node2.id){let r="x"===e.axis?this.vGraph:this.hGraph;if(t.classHasDualAxisOverlap(n,r,e.node1.id,e.node2.id,!1))return!1}continue}let e=this.constraintToEdge(r);if(e&&("h"===e.axis?this.hGraph:this.vGraph).canReach(e.to,e.from))return!1}return!0}isBoundingBoxFeasible(e){return t.isBboxFeasibleInGraphs(e,this.hGraph,this.vGraph)}static isBboxFeasibleInGraphs(t,e,r){let n=t.node.id,i=t.group.nodeIds;switch(t.side){case"left":for(let t of i)if(e.isOrdered(t,n))return!1;return!0;case"right":for(let t of i)if(e.isOrdered(n,t))return!1;return!0;case"top":for(let t of i)if(r.isOrdered(t,n))return!1;return!0;case"bottom":for(let t of i)if(r.isOrdered(n,t))return!1;return!0}}getDisjunctionRegionPair(t){if(0===t.alternatives.length)return null;let e=t.alternatives[0][0];return jn(e)?[e.node.id,`_group_${e.group.name}`]:Kn(e)?[`_group_${e.groupA.name}`,`_group_${e.groupB.name}`]:Dn(e)?[e.left.id,e.right.id]:Pn(e)?[e.top.id,e.bottom.id]:null}findSatisfyingAlternative(t,e){for(let e=0;e0){if(this.pruneDisjunctions(),0===this.allDisjunctions.length)return{satisfiable:!0};t=new Int32Array(this.allDisjunctions.length).fill(-1)}let i=this.cdclSearchLoop(t);if(i.satisfiable)return{satisfiable:!0};if(i.provedUnsat)return this.buildUnsatResult(t);n++,this.updateRestartThreshold()}return this.buildUnsatResult(new Int32Array(this.allDisjunctions.length).fill(-1))}cdclSearchLoop(t){let e=this.allDisjunctions.length,r=0;for(;;){if("conflict"===this.unitPropagate(t)){if(0===this.decisionLevel)return{satisfiable:!1,provedUnsat:!0};let{learnedClause:e,backtrackLevel:n}=this.analyzeConflict(t);if(e&&(this.learnedClauses.push(e),this.bumpActivity(e),this.decayActivity()),this.conflictCount++,r++,this.backtrackTo(n,t),r>=this.restartThreshold)return{satisfiable:!1,provedUnsat:!1};continue}let n=this.graphPropagate(t);if("ok"!==n){if(0===this.decisionLevel)return{satisfiable:!1,provedUnsat:!0};let{learnedClause:e,backtrackLevel:i}=this.analyzeTheoryConflict(n.disjunctionIndex,t);if(e&&(this.learnedClauses.push(e),this.bumpActivity(e),this.decayActivity()),this.conflictCount++,r++,this.backtrackTo(i,t),r>=this.restartThreshold)return{satisfiable:!1,provedUnsat:!1};continue}if(this.allAssigned(t,e))return{satisfiable:!0};let{dIdx:i,aIdx:o}=this.pickBranch(t);if(-1===i)return{satisfiable:!0};if(this.decisionLevel++,!this.tryAssign(i,o,t,!0)){if(t[i]=-1,0===this.decisionLevel)return{satisfiable:!1,provedUnsat:!0};let{learnedClause:e,backtrackLevel:n}=this.analyzeConflictForDecision(i,o,t);if(e&&(this.learnedClauses.push(e),this.bumpActivity(e),this.decayActivity()),this.conflictCount++,r++,this.backtrackTo(n,t),r>=this.restartThreshold)return{satisfiable:!1,provedUnsat:!1}}}}unitPropagate(t){let e=!0;for(;e;){e=!1;for(let r of this.learnedClauses){let n=0,i=0,o=null,s=0;for(let e of r){let r=t[e.disjunctionIndex];-1===r?(s++,o=e):e.sign&&r===e.alternativeIndex||!e.sign&&r!==e.alternativeIndex?n++:i++}if(!(n>0)){if(0===s)return"conflict";if(1===s&&o){let r=o;if(r.sign){if(!this.tryAssign(r.disjunctionIndex,r.alternativeIndex,t,!1))return"conflict";e=!0}else{let n=this.getRemainingAlternatives(r.disjunctionIndex,t).filter(t=>t!==r.alternativeIndex);if(0===n.length)return"conflict";if(1===n.length){if(!this.tryAssign(r.disjunctionIndex,n[0],t,!1))return"conflict";e=!0}}}}}}return"ok"}graphPropagate(t){if(0===this.groups.length)return"ok";let e=!0;for(;e;){e=!1;for(let r=0;r{if(t===i)return!0;let r=e[t.disjunctionIndex];return-1!==r&&(t.sign?r!==t.alternativeIndex:r===t.alternativeIndex)})&&n.add(i.alternativeIndex);let i=[];for(let t=0;tr?(n=r,r=t.decisionLevel):t.decisionLevel>n&&t.decisionLevel0){let r=[{disjunctionIndex:t,alternativeIndex:e,sign:!1}],n=0,o=0;for(let t of i){let e=this.assignmentTrail[t];r.push({disjunctionIndex:e.disjunctionIndex,alternativeIndex:e.alternativeIndex,sign:!1}),e.decisionLevel>n?(o=n,n=e.decisionLevel):e.decisionLevel>o&&e.decisionLeveln?(o=n,n=this.decisionLevel):this.decisionLevel>o&&this.decisionLevels?(a=s,s=t.decisionLevel):t.decisionLevel>a&&t.decisionLevel0){let t=[],e=0,r=0;for(let i of n){let n=this.assignmentTrail[i];t.push({disjunctionIndex:n.disjunctionIndex,alternativeIndex:n.alternativeIndex,sign:!1}),n.decisionLevel>e?(r=e,e=n.decisionLevel):n.decisionLevel>r&&n.decisionLevel0)return{learnedClause:t,backtrackLevel:Math.max(0,r)}}return this.analyzeConflict(e)}findTrailEntryForConstraint(t){for(let e=0;e0;){let r=this.assignmentTrail[this.assignmentTrail.length-1];if(r.decisionLevel<=t)break;let n=this.allDisjunctions[r.disjunctionIndex].alternatives[r.alternativeIndex];for(let t of n)this.removeQualitativeEdge(t);this.addedConstraints.length-=n.length,e[r.disjunctionIndex]=-1,this.assignmentTrail.pop()}this.decisionLevel=t}pickBranch(t){let e=-1,r=-1,n=-1;for(let i=0;in&&(n=o,e=i,r=t)}}return{dIdx:e,aIdx:r}}bumpActivity(t){for(let e of t){let t=`d${e.disjunctionIndex}a${e.alternativeIndex}`;this.activity.set(t,(this.activity.get(t)??0)+1)}}decayActivity(){for(let[t,e]of this.activity)this.activity.set(t,e*this.activityDecay)}updateRestartThreshold(){this.lubyIndex++,this.restartThreshold=32*this.luby(this.lubyIndex)}luby(t){let e=1,r=1;for(;e=e&&(t-=e);return r}pruneDisjunctions(){let t=[];for(let e of this.allDisjunctions){let r=this.getDisjunctionRegionPair(e);if(r&&this.areSeparated(r[0],r[1])){let t=this.findSatisfyingAlternative(e,r);if(null!==t){for(let r of e.alternatives[t])this.addedConstraints.push(r);continue}}let n=[];for(let t of e.alternatives)this.isAlternativeFeasible(t)&&n.push(t);if(0===n.length)t.push(e);else if(1===n.length){for(let r of n[0])if(this.addConjunctiveConstraint(r)){t.push(e);break}}else t.push(new zn(e.sourceConstraint,n))}this.allDisjunctions=t}allAssigned(t,e){for(let r=0;r0?this.originalDisjunctions:this.allDisjunctions,s=[...o].sort((t,e)=>{let r=o.indexOf(t),n=o.indexOf(e);return Math.max(...t.alternatives.map((t,e)=>this.activity.get(`d${r}a${e}`)??0))-Math.max(...e.alternatives.map((t,e)=>this.activity.get(`d${n}a${e}`)??0))||r-n});for(let o of s){let s=!1,a=o.alternatives.map((n,i)=>({alt:n,i,rank:t.alternativeEntailmentRank(n,e,r)})).sort((t,e)=>t.rank-e.rank||t.i-e.i);for(let{alt:i}of a){let o=e.clone(),a=r.clone(),l=!0;for(let e of i)if(!t.addEdgeToGraphsExpanded(e,o,a)){l=!1;break}if(l){for(let o of i)t.addEdgeToGraphsExpanded(o,e,r),n.push(o);s=!0;break}}s||i.push(o)}return{feasibleConstraints:n,infeasibleDisjunctions:i,hGraph:e,vGraph:r}}addEdgeToGraphs(e,r,n){if(Dn(e))return r.addEdge(e.left.id,e.right.id,e.minDistance,e);if(Pn(e))return n.addEdge(e.top.id,e.bottom.id,e.minDistance,e);if(Mn(e)){let i=e,o="x"===i.axis?r:n;if(!o.addAlignmentEdges(i.node1.id,i.node2.id,e))return!1;if(i.node1.id!==i.node2.id){let e="x"===i.axis?n:r;if(t.classHasDualAxisOverlap(o,e,i.node1.id,i.node2.id,!0))return o.removeAlignmentEdges(i.node1.id,i.node2.id),!1}return!0}if(jn(e)){let t=e,i=`_group_${t.group.name}`;switch(r.ensureNode(i),n.ensureNode(i),t.side){case"left":return r.addEdge(t.node.id,i,t.minDistance,e);case"right":return r.addEdge(i,t.node.id,t.minDistance,e);case"top":return n.addEdge(t.node.id,i,t.minDistance,e);case"bottom":return n.addEdge(i,t.node.id,t.minDistance,e)}}if(Kn(e)){let t=e,i=`_group_${t.groupA.name}`,o=`_group_${t.groupB.name}`;switch(r.ensureNode(i),r.ensureNode(o),n.ensureNode(i),n.ensureNode(o),t.side){case"left":return r.addEdge(i,o,t.minDistance,e);case"right":return r.addEdge(o,i,t.minDistance,e);case"top":return n.addEdge(i,o,t.minDistance,e);case"bottom":return n.addEdge(o,i,t.minDistance,e)}}return!0}buildUnsatResult(t){let e,{feasibleConstraints:r,infeasibleDisjunctions:n,hGraph:i,vGraph:o}=this.computeMaximalFeasibleSubset(),s=new Map;for(let t of n){let e=t.sourceConstraint;s.has(e)||s.set(e,[]),t.alternatives.length>0&&t.alternatives[0].length>0&&s.get(e).push(t.alternatives[0][0])}n.length>0&&n[0].alternatives.length>0?e=n[0].alternatives[0][0]:this.orientationConstraints.length>0&&(e=this.orientationConstraints[0]),e||(e=this.orientationConstraints[0]||this.allDisjunctions[0]?.alternatives[0]?.[0]);let a=Va(e),l=new Map;for(let[t,e]of s.entries()){let r=t.toHTML();l.has(r)||l.set(r,[]),e.forEach(t=>l.get(r).push(Va(t)))}let u=n.length>0?n[0].sourceConstraint:e.sourceConstraint;return{satisfiable:!1,error:{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${a}" conflicts with existing constraints`,conflictingConstraint:e,conflictingSourceConstraint:u,minimalConflictingSet:s,maximalFeasibleSubset:r,errorMessages:{conflictingConstraint:a,conflictingSourceConstraint:u.toHTML(),minimalConflictingConstraints:l}}}}buildConjunctiveError(t){let e=this.findMinimalConflictSet(t),r=new Map,n=new Map;for(let t of e){let e=t.sourceConstraint;r.has(e)||r.set(e,[]),n.has(e.toHTML())||n.set(e.toHTML(),[]),r.get(e).push(t),n.get(e.toHTML()).push(Va(t))}return{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${Va(t)}" conflicts with existing constraints`,conflictingConstraint:t,conflictingSourceConstraint:t.sourceConstraint,minimalConflictingSet:r,maximalFeasibleSubset:[...this.addedConstraints],errorMessages:{conflictingConstraint:Va(t),conflictingSourceConstraint:t.sourceConstraint.toHTML(),minimalConflictingConstraints:n}}}findMinimalConflictSet(t){let e=this.constraintToEdge(t);if(!e)return[];let r="h"===e.axis?this.hGraph:this.vGraph,n=r.findPath(e.to,e.from);if(!n)return[];let i=[];for(let[t,o]of n){let n=r.getEdgeProvenance(t,o);if(n)i.push(n);else{let r=this.addedConstraints.find(r=>{let n=this.constraintToEdge(r);return n&&n.axis===e.axis&&n.from===t&&n.to===o});r&&i.push(r)}}return i}buildAlignmentConflictError(t,e){this.addedConstraints.push(t);let r=this.findAlignmentConflictSet(e);if(this.addedConstraints.pop(),r.includes(t)||r.push(t),Mn(t)){let n=t,i="x"===e?this.hGraph:this.vGraph,o=n.node1.id,s=n.node2.id;for(let[t,e]of[[o,s],[s,o]])if(i.canReach(t,e)){let n=i.findPath(t,e);if(n)for(let[t,e]of n){let n=i.getEdgeProvenance(t,e);n&&!r.includes(n)&&r.push(n)}}}let n=new Map,i=new Map;for(let t of r){let e=t.sourceConstraint;n.has(e)||n.set(e,[]),i.has(e.toHTML())||i.set(e.toHTML(),[]),n.get(e).push(t),i.get(e.toHTML()).push(Va(t))}let o=new Set(r),s=this.addedConstraints.filter(t=>!o.has(t));return{name:"PositionalConstraintError",type:"positional-conflict",message:`Constraint "${Va(t)}" conflicts with alignment constraints`,conflictingConstraint:t,conflictingSourceConstraint:t.sourceConstraint,minimalConflictingSet:n,maximalFeasibleSubset:s,errorMessages:{conflictingConstraint:Va(t),conflictingSourceConstraint:t.sourceConstraint.toHTML(),minimalConflictingConstraints:i}}}findAlignmentConflictSet(t){let e="x"===t?this.hGraph:this.vGraph,r="x"===t?"h":"v",n=[],i=e.getAlignmentClasses(),o=new Map;for(let[t,e]of i)for(let r of e)o.set(r,t);for(let[s,a]of i)for(let i=0;i{let n=this.constraintToEdge(e);return n&&n.axis===r&&n.from===t&&n.to===i});e&&!n.includes(e)&&n.push(e)}}return n}let s=[...i.keys()].sort();for(let a=0;a{let r=this.constraintToEdge(e);return r&&r.axis===n&&r.from===t&&r.to===o});e&&!i.includes(e)&&i.push(e)}}return}}validateGroupConstraints(){for(let t=0;t0&&(r.overlapping=!0,n.overlapping=!0)}return null}computeAlignmentOrders(){let t=new Set(this.nodes.map(t=>t.id));this.verticallyAligned=[];for(let[,e]of this.hGraph.getAlignmentClasses()){let r=e.filter(e=>t.has(e));r.length>=2&&this.verticallyAligned.push(r.map(t=>this.nodeMap.get(t)))}this.horizontallyAligned=[];for(let[,e]of this.vGraph.getAlignmentClasses()){let r=e.filter(e=>t.has(e));r.length>=2&&this.horizontallyAligned.push(r.map(t=>this.nodeMap.get(t)))}let e=[],r=this.hGraph.topologicalSort()||[],n=new Map;r.forEach((t,e)=>n.set(t,e));for(let t of this.horizontallyAligned){t.sort((t,e)=>(n.get(t.id)??0)-(n.get(e.id)??0));for(let r=0;r${t[r+1].id}`),i=new qn(n,"Preventing Overlap");e.push({left:t[r],right:t[r+1],minDistance:this.minPadding,sourceConstraint:i})}}let i=this.vGraph.topologicalSort()||[],o=new Map;i.forEach((t,e)=>o.set(t,e));for(let t of this.verticallyAligned){t.sort((t,e)=>(o.get(t.id)??0)-(o.get(e.id)??0));for(let r=0;r${t[r+1].id}`),i=new qn(n,"Preventing Overlap");e.push({top:t[r],bottom:t[r+1],minDistance:this.minPadding,sourceConstraint:i})}}return e}detectNodeOverlaps(){for(let t of this.horizontallyAligned){let e=new Set(t.map(t=>t.id));for(let t of this.verticallyAligned){let r=t.filter(t=>e.has(t.id));if(r.length>=2){let t=r[0],e=r[1],n=this.findAlignmentPath(t.id,e.id,"x"),i=this.findAlignmentPath(t.id,e.id,"y"),o=[...n,...i],s=new Map,a=new Map;for(let t of o){let e=t.sourceConstraint;s.has(e)||s.set(e,[]),s.get(e).push(t);let r=e.toHTML();a.has(r)||a.set(r,[]),a.get(r).push(Va(t))}let l=n.length>0&&n.length<=i.length?this.findConstraintsToBreakAlignment(t.id,e.id,"x"):this.findConstraintsToBreakAlignment(t.id,e.id,"y"),u=new Set(l),c=this.addedConstraints.filter(t=>!u.has(t)),h=o[0]||this.addedConstraints[0];return{name:"PositionalConstraintError",type:"positional-conflict",message:`Alignment constraints force ${t.id} and ${e.id} to occupy the same position`,conflictingConstraint:h,conflictingSourceConstraint:h.sourceConstraint,minimalConflictingSet:s,maximalFeasibleSubset:c,errorMessages:{conflictingConstraint:Va(h),conflictingSourceConstraint:h.sourceConstraint.toHTML(),minimalConflictingConstraints:a}}}}}return null}findAlignmentPath(t,e,r){let n=new Map;for(let t of this.addedConstraints){if(!Mn(t))continue;let e=t;if(e.axis!==r)continue;let i=e.node1.id,o=e.node2.id;n.has(i)||n.set(i,[]),n.has(o)||n.set(o,[]),n.get(i).push({neighbor:o,constraint:t}),n.get(o).push({neighbor:i,constraint:t})}let i=new Set([t]),o=new Map;o.set(t,null);let s=[t];for(;s.length>0;){let t=s.shift();if(t===e){let t=[],r=e;for(;null!==o.get(r);){let e=o.get(r);t.push(e.constraint),r=e.node}return t.reverse()}for(let{neighbor:e,constraint:r}of n.get(t)||[])i.has(e)||(i.add(e),o.set(e,{node:t,constraint:r}),s.push(e))}return[]}findConstraintsToBreakAlignment(t,e,r){let n=this.addedConstraints.filter(t=>Mn(t)&&t.axis===r),i=r=>{let i=new Map;for(let t of n){if(r.has(t))continue;let e=t;i.has(e.node1.id)||i.set(e.node1.id,[]),i.has(e.node2.id)||i.set(e.node2.id,[]),i.get(e.node1.id).push(e.node2.id),i.get(e.node2.id).push(e.node1.id)}let o=new Set([t]),s=[t];for(;s.length>0;){let t=s.shift();if(t===e)return!0;for(let e of i.get(t)||[])o.has(e)||(o.add(e),s.push(e))}return!1};for(let t of n)if(!i(new Set([t])))return[t];let o=new Set;for(let t of n)if(o.add(t),!i(o))return[...o];return[...o]}static classHasDualAxisOverlap(t,e,r,n,i){let o;if(i)o=t.getAlignmentClassOf(r);else{let e=t.getAlignmentClassOf(r),i=t.getAlignmentClassOf(n);o=[...new Set([...e,...i])]}for(let t=0;tn.some(e=>e.id===t.id))){for(let t of r)n.some(e=>e.id===t.id)||n.push(t);t=!0;break}t||e.push([...r])}let r=!0;for(;r;){r=!1;for(let t=0;te[n].some(e=>t.id===e.id))){for(let r of e[n])e[t].some(t=>t.id===r.id)||e[t].push(r);e.splice(n,1),r=!0;break}if(r)break}}return e}isSubGroup(t,e){return t.nodeIds.every(t=>e.nodeIds.includes(t))}groupIntersection(t,e){return t.nodeIds.filter(t=>e.nodeIds.includes(t))}dispose(){this.hGraph=new tg(this.minPadding),this.vGraph=new tg(this.minPadding),this.learnedClauses=[],this.activity.clear(),this.assignmentTrail=[]}getStats(){return{hEdges:this.hGraph.edgeCount(),vEdges:this.vGraph.edgeCount(),learnedClauses:this.learnedClauses.length,conflicts:this.conflictCount,addedConstraints:this.addedConstraints.length,prunedByTransitivity:this.prunedByTransitivity,prunedByDecomposition:this.prunedByDecomposition}}buildModalQueryState(){if(!this.mustHGraph||!this.mustVGraph)return;let t=this.nodes.map(t=>t.id);this.mustHPairs=this.collectStrictPairs(this.mustHGraph,t),this.mustVPairs=this.collectStrictPairs(this.mustVGraph,t);for(let e of this.allDisjunctions)e.alternatives.length<2||this.strengthenWithDisjunction(e,t);this.mustHAlignmentClasses=this.collectAlignmentClasses(this.mustHGraph,t),this.mustVAlignmentClasses=this.collectAlignmentClasses(this.mustVGraph,t)}collectStrictPairs(t,e){let r=new Set;for(let n of e)for(let i of e)n!==i&&t.isStrictlyOrdered(n,i)&&r.add(`${n}\0${i}`);return r}collectAlignmentClasses(t,e){let r=new Map,n=new Set(e);for(let i of e){let e=t.getAlignmentClassOf(i),o=new Set;for(let t of e)t!==i&&n.has(t)&&o.add(t);r.set(i,o)}return r}strengthenWithDisjunction(t,e){if(!(this.mustHGraph&&this.mustVGraph&&this.mustHPairs&&this.mustVPairs))return;let r=null,n=null,i=null,o=null;for(let s of t.alternatives){let t=this.mustHGraph.clone(),a=this.mustVGraph.clone();for(let e of s)this.addEdgeToGraph(e,t,a);let l=this.collectStrictPairs(t,e),u=this.collectStrictPairs(a,e),c=this.collectAlignmentPairs(t,e),h=this.collectAlignmentPairs(a,e);if(null===r)r=l,n=u,i=c,o=h;else{for(let t of r)l.has(t)||r.delete(t);for(let t of n)u.has(t)||n.delete(t);for(let t of i)c.has(t)||i.delete(t);for(let t of o)h.has(t)||o.delete(t)}}if(r)for(let t of r){this.mustHPairs.add(t);let[e,r]=t.split("\0");this.mustHGraph.addEdge(e,r,1)}if(n)for(let t of n){this.mustVPairs.add(t);let[e,r]=t.split("\0");this.mustVGraph.addEdge(e,r,1)}if(i)for(let t of i){let[e,r]=t.split("\0");this.mustHGraph.addAlignmentEdges(e,r)}if(o)for(let t of o){let[e,r]=t.split("\0");this.mustVGraph.addAlignmentEdges(e,r)}}collectAlignmentPairs(t,e){let r=new Set;for(let n=0;nt.id)),i=new Set;if(!this.mustHPairs||!this.mustVPairs)return i;for(let o of n){if(o===e)continue;let n;switch(r){case"rightOf":n=t.pairKey(e,o),this.mustHPairs.has(n)&&i.add(o);break;case"leftOf":n=t.pairKey(o,e),this.mustHPairs.has(n)&&i.add(o);break;case"below":n=t.pairKey(e,o),this.mustVPairs.has(n)&&i.add(o);break;case"above":n=t.pairKey(o,e),this.mustVPairs.has(n)&&i.add(o)}}return i}getCannot(t,e){let r=new Set;r.add(t);let n="leftOf"===e||"rightOf"===e?this.mustHGraph:this.mustVGraph;if(!n)return r;for(let i of this.nodes)i.id!==t&&("leftOf"===e||"above"===e?n.canReach(t,i.id):n.canReach(i.id,t))&&r.add(i.id);return r}getCan(t,e){let r=this.getCannot(t,e),n=new Set;for(let t of this.nodes)r.has(t.id)||n.add(t.id);return n}getMustAligned(t,e){return("x"===e?this.mustHAlignmentClasses:this.mustVAlignmentClasses)?.get(t)??new Set}getCannotAligned(t,e){let r=new Set;r.add(t);let n="x"===e?this.mustHGraph:this.mustVGraph;if(!n)return r;for(let e of this.nodes)e.id!==t&&(n.isStrictlyOrdered(t,e.id)||n.isStrictlyOrdered(e.id,t))&&r.add(e.id);return r}getCanAligned(t,e){let r=this.getCannotAligned(t,e),n=new Set;for(let t of this.nodes)r.has(t.id)||n.add(t.id);return n}whyMust(t,e,r){if(!this.getMust(t,e).has(r))return null;let n="leftOf"===e||"rightOf"===e?this.mustHGraph:this.mustVGraph;if(!n)return null;let[i,o]="leftOf"===e||"above"===e?[r,t]:[t,r];return this.collectPathProvenance(n,i,o)}whyCannot(t,e,r){if(!this.getCannot(t,e).has(r))return null;if(t===r)return[];let n="leftOf"===e||"rightOf"===e?this.mustHGraph:this.mustVGraph;if(!n)return null;let[i,o]="leftOf"===e||"above"===e?[t,r]:[r,t];return this.collectPathProvenance(n,i,o)}collectPathProvenance(t,e,r){let n=t.findPath(e,r);if(!n)return[];let i=new Set,o=[];for(let[e,r]of n){let n=t.getEdgeProvenance(e,r);n&&!i.has(n.sourceConstraint)&&(i.add(n.sourceConstraint),o.push(n.sourceConstraint))}return o}getReachable(t,e){let r=new Set(this.nodes.map(t=>t.id)),n=new Set;switch(e){case"rightOf":for(let e of r)e!==t&&this.hGraph.isStrictlyOrdered(t,e)&&n.add(e);break;case"leftOf":for(let e of r)e!==t&&this.hGraph.isStrictlyOrdered(e,t)&&n.add(e);break;case"below":for(let e of r)e!==t&&this.vGraph.isStrictlyOrdered(t,e)&&n.add(e);break;case"above":for(let e of r)e!==t&&this.vGraph.isStrictlyOrdered(e,t)&&n.add(e)}return n}getAlignedWith(t,e){let r="x"===e?this.hGraph:this.vGraph,n=new Set(this.nodes.map(t=>t.id)),i=r.getAlignmentClassOf(t),o=new Set;for(let e of i)e!==t&&n.has(e)&&o.add(e);return o}}});function og(t){return 105===t||108===t||73===t||106===t||116===t||102===t||114===t||46===t||44===t||58===t||59===t||39===t||34===t||96===t||124===t||33===t||40===t||41===t||91===t||93===t||123===t||125===t?.5:87===t||77===t||109===t||119===t||64===t?1.4:t>=65&&t<=90?1.1:1}function sg(t,e,r){if(!t)return 0;let n=0;for(let e=0;et&&t.length>0),o=sg(t||"",14,n.avgGlyphRatio),s=0;for(let t of i){let e=sg(t,11,n.avgGlyphRatio);e>s&&(s=e)}let a=Math.max(o,s)+n.paddingX,l=14*1.35+i.length*(11*1.35)+n.paddingY;return{width:Math.round(lg(a,n.min.w,n.max.w)),height:Math.round(lg(l,n.min.h,n.max.h))}}function lg(t,e,r){return tr?r:t}var ug,cg,hg,dg,pg=c(()=>{ug={avgGlyphRatio:.65,paddingX:32,paddingY:26,min:{w:100,h:60},max:{w:280,h:140}}});function fg(t,e,r){switch(r){case"left":return`${t} must be to the left of ${e}`;case"right":return`${t} must be to the right of ${e}`;case"above":return`${t} must be above ${e}`;case"below":return`${t} must be below ${e}`;case"directlyLeft":return`${t} must be directly to the left of ${e}`;case"directlyRight":return`${t} must be directly to the right of ${e}`;case"directlyAbove":return`${t} must be directly above ${e}`;case"directlyBelow":return`${t} must be directly below ${e}`;default:return`${t} is constrained relative to ${e} (${r})`}}t.AlignmentEdgeStrategy=void 0,t.ConstraintValidatorStrategy=void 0,t.LayoutInstance=void 0;var gg,mg,yg,vg=c(()=>{var e,r;Wa(),Qa(),ul(),Vn(),mn(),If(),ng(),ig(),pg(),cg=class t extends Error{constructor(e,r){let n=r&&"selector"in r?r.selector:void 0;super(`Constraint references node "${e}" that is missing from the layout (it may be hidden).${n?` Selector: ${n}.`:""}`),this.type="unknown-constraint",this.name="MissingNodeConstraintError",this.missingNodeId=e,this.sourceConstraint=r,Object.setPrototypeOf(this,t.prototype)}},t.AlignmentEdgeStrategy=((r=t.AlignmentEdgeStrategy||{}).NEVER="never",r.DIRECT="direct",r.CONNECTED="connected",r),t.ConstraintValidatorStrategy=((e=t.ConstraintValidatorStrategy||{}).KIWI="kiwi",e.QUALITATIVE="qualitative",e),hg=class{constructor(t,e){this.Path=t,this.LoopsTo=e}expand(t){let e=this.Path.map(t=>t.id);if(!this.LoopsTo)return e;let r=e.findIndex(t=>t===this.LoopsTo.id);if(-1===r)return e;let n=e.slice(0,r),i=e.slice(r);return n.concat(...Array(t).fill(i))}isSubpathOf(t){let e=this.expand(2),r=t.expand(1);if(r.length>e.length)return!1;for(let t=0;t<=e.length-r.length;t++)if(r.every((r,n)=>r===e[t+n]))return!0;return!1}static areEquivalent(t,e){return t.isSubpathOf(e)&&e.isSubpathOf(t)}},dg=class e{constructor(t,e,r=0,n=!0,i,o){this.hideThisEdge="_h_",this.DEFAULT_NODE_ICON_PATH="",this.DEFAULT_NODE_HEIGHT=60,this.DEFAULT_NODE_WIDTH=100,this.minSepHeight=15,this.minSepWidth=15,this.selectorErrors=[],this.hiddenNodeSelectors=new Map,this.hiddenNodeConflicts=new Map,this.conflictedHiddenNodes=new Set,this.instanceNum=r,this.evaluator=e,this._layoutSpec=t,this.alignmentEdgeStrategy=void 0!==i?i:n?"connected":"never",this.validatorStrategy=o??"qualitative"}recordSelectorError(t,e,r){let n=r instanceof Error?r.message:String(r);this.selectorErrors.push({selector:t,context:e,errorMessage:n})}checkSelectorArity(e,r,n,i){let o=e.maxArity();return!(0!==o&&("binary"===n&&o<2?(this.recordSelectorError(r,i,new t.SelectorArityError(r,"binary","unary")),1):"unary"===n&&o>1&&(this.recordSelectorError(r,i,new t.SelectorArityError(r,"unary","binary")),1)))}isNodeHiddenByDirective(t){return this.hiddenNodeSelectors.has(t)}recordHiddenNodeConflict(t,e,r){let n=t.toHTML();this.hiddenNodeConflicts.has(n)||this.hiddenNodeConflicts.set(n,[]),this.hiddenNodeConflicts.get(n).push(e),this.conflictedHiddenNodes.add(r)}get hideDisconnected(){return this._layoutSpec.directives.hideDisconnected||!1}get hideDisconnectedBuiltIns(){return this._layoutSpec.directives.hideDisconnectedBuiltIns||!1}getConstraintsRelatedToField(t,e,r){return this._layoutSpec.constraints.grouping.byfield.filter(r=>{if(r.field!==t)return!1;if(!r.selector)return!0;try{return this.evaluator.evaluate(r.selector,{instanceIndex:this.instanceNum}).selectedAtoms().includes(e)}catch(t){return this.recordSelectorError(r.selector,"group by field selector",t),!1}})}isAttributeField(t,e,r){let n=this._layoutSpec.directives.attributes.filter(e=>e.field===t);if(0===n.length)return!1;if(!e||!r)return n.some(t=>!t.selector&&!t.filter);for(let t of n){let n=!0;if(t.selector)try{n=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum}).selectedAtoms().includes(e)}catch(e){this.recordSelectorError(t.selector,"attribute selector",e),n=!1}if(!n)continue;let i=!0;if(t.filter)try{i=this.evaluator.evaluate(t.filter,{instanceIndex:this.instanceNum}).selectedTwoples().some(t=>t[0]===e&&t[1]===r)}catch(e){this.recordSelectorError(t.filter,"attribute filter",e),i=!1}if(n&&i)return!0}return!1}isHiddenField(t,e,r){let n=this._layoutSpec.directives.hiddenFields.filter(e=>e.field===t);if(n.length>0)if(e&&r)for(let t of n){let n=!0;if(t.selector)try{n=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum}).selectedAtoms().includes(e)}catch(e){this.recordSelectorError(t.selector,"hidden field selector",e),n=!1}if(!n)continue;let i=!0;if(t.filter)try{i=this.evaluator.evaluate(t.filter,{instanceIndex:this.instanceNum}).selectedTwoples().some(t=>t[0]===e&&t[1]===r)}catch(e){this.recordSelectorError(t.filter,"hidden field filter",e),i=!1}if(n&&i)return!0}else if(n.some(t=>!t.selector&&!t.filter))return!0;return!(!e||!r||!0!==this.findEdgeDirective(t,e,r)?.hidden)}normalizeComparableGroupToken(t){let e=t.trim();return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}buildGroupKeyDisplay(t,e){let r=this.normalizeComparableGroupToken(t),n=(e||"").trim();if(!n)return r||t;let i=this.normalizeComparableGroupToken(n);return i===r?r||i||t:`${n}:${t}`}generateGroups(t,e){let r=this._layoutSpec.constraints.grouping.byfield,n=this._layoutSpec.constraints.grouping.byselector;if(!r&&!n)return[];let i=[];for(var o of n){let e,r=o.selector;try{e=this.evaluator.evaluate(r,{instanceIndex:this.instanceNum})}catch(t){this.recordSelectorError(r,"groupBySelector selector",t);continue}if(e.maxArity()>1){let r=function(t,e,r){return"_g_0_1_"+t+":"+e+"->"+r},n=e.selectedTwoples();for(var s of n){let e=s[0],n=s[1],a=t.node(e)?.label,l=this.buildGroupKeyDisplay(e,a),u=`${o.name}[${l}]`,c=i.find(t=>t.name===u);if(c)c.nodeIds.push(n);else{let s={name:u,nodeIds:[n],keyNodeId:e,showLabel:!o.negated,sourceConstraint:o,negated:o.negated};if(i.push(s),o.addEdge){let i=r(u,e,n);t.setEdge(e,n,u,i)}}}}else{let t=e.selectedAtoms();if(0===t.length)continue;let r=t[0],n={name:o.name,nodeIds:t,keyNodeId:r,showLabel:!o.negated,sourceConstraint:o,negated:o.negated};i.push(n)}}return[...t.edges()].forEach(r=>{let n=r.name,o=this.getRelationName(t,r),s=this.getConstraintsRelatedToField(o,r.v,r.w);0!==s.length&&s.forEach(s=>{let a=s.groupOn,l=s.addToGroup,u=this.getFieldTuplesForSourceAndTarget(e,o,r.v,r.w);if(u&&0!==u.length)for(var c of u){let e=c?.length||0;if(e<2||a<0||a>=e||l<0||l>=e)throw new Error(`Invalid grouping. groupOn=${a} and addToGroup=${l} for ${e}-ary relation ${o}. These must be between 0 and ${e-1}.`);let u=c[a],h=c[l],d=c.map((t,e)=>e===a?t:"_").join(","),p=`${o}[${d}]`,f=i.find(t=>t.name===p);if(f)f.nodeIds.push(h),t.removeEdge(r.v,r.w,n);else{let e={name:p,nodeIds:[h],keyNodeId:u,showLabel:!s.negated,sourceConstraint:s,negated:s.negated};i.push(e);let o=`_g_${a}_${l}_`+n;t.removeEdge(r.v,r.w,n),t.setEdge(r.v,r.w,p,o)}}})}),i}generateAttributesAndRemoveEdges(t){let e={};return[...t.edges()].forEach(r=>{let n=r.name,i=this.getRelationName(t,r),o=r.v,s=r.w,a=this.isAttributeField(i,o,s),l=this.isHiddenField(i,o,s);if(l&&a)throw new Error(`${i} cannot be both an attribute and a hidden field.`);if(l)t.removeEdge(r.v,r.w,n);else if(a){let i=this.getEdgeLabel(t,r),o=r.v,s=r.w,a=t.node(s)?.label||s,l=e[o]||{};l[i]||(l[i]=[],e[o]=l),l[i].push(a),t.removeEdge(r.v,r.w,n)}}),e}generateTagsForNodes(t,e){let r=this._layoutSpec.directives.tags;if(!r||0===r.length)return e;let n={...e},i=new Set(t.nodes());for(let e of r)try{let r=this.evaluator.evaluate(e.toTag,{instanceIndex:this.instanceNum}).selectedAtoms(),o=this.evaluator.evaluate(e.value,{instanceIndex:this.instanceNum}).selectedTuplesAll();for(let s of r){if(!i.has(s))continue;n[s]||(n[s]={});let r=o.filter(t=>t[0]===s);if(0!==r.length)for(let o of r)if(1===o.length){let r=e.name;n[s][r]||(n[s][r]=[]);let i=t.node(s)?.label||s;n[s][r].push(String(i))}else if(2===o.length){let r=e.name;n[s][r]||(n[s][r]=[]);let a=o[o.length-1],l=i.has(String(a))&&t.node(String(a))?.label||String(a);n[s][r].push(l)}else{let r=o.slice(1,-1),a=o[o.length-1],l=r.map(e=>{let r=String(e);return`[${i.has(r)&&t.node(r)?.label||r}]`}).join(""),u=`${e.name}${l}`;n[s][u]||(n[s][u]=[]);let c=i.has(String(a))&&t.node(String(a))?.label||String(a);n[s][u].push(c)}}}catch(t){this.recordSelectorError(`name: ${e.name}, toTag: ${e.toTag}, value: ${e.value}`,"tag directive",t)}return n}ensureNoExtraNodes(t,e){let r=[...t.nodes()],n=this._layoutSpec.directives.hiddenAtoms,i=[];for(let t of n)try{let e=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum});if(!this.checkSelectorArity(e,t.selector,"unary","hideAtom selector"))continue;let r=e.selectedAtoms();i.push({selector:t.selector,hiddenSet:new Set(r)})}catch(e){this.recordSelectorError(t.selector,"hideAtom selector",e)}r.forEach(r=>{try{let n,o=e.getAtomType(r)?.isBuiltin||!1,s=t.inEdges(r)||[],a=t.outEdges(r)||[],l=0===s.length&&0===a.length&&(this.hideDisconnectedBuiltIns&&o||this.hideDisconnected),u=!1;for(let t of i)if(t.hiddenSet.has(r)){u=!0,n=t.selector;break}(l||u)&&(t.removeNode(r),u&&n&&this.hiddenNodeSelectors.set(r,n))}catch(t){console.error("Failed to identify node type. Defaulting to showing node.",t)}})}getMostSpecificType(t,e){return this.getNodeTypes(t,e)[0]}getNodeTypes(t,e){let r=e.getAtomType(t)?.types||[];return r=r.concat("univ"),r}getRelationName(t,e){let r=this.getEdgeLabel(t,e);try{return r.split("[")[0]}catch{return console.warn(`Failed to parse relation name from edge label: ${r}. Defaulting to empty string.`),r}}getEdgeLabel(t,e){return t.edge(e.v,e.w,e.name)}generateLayout(e){this.selectorErrors=[],this.hiddenNodeSelectors=new Map,this.hiddenNodeConflicts=new Map,this.conflictedHiddenNodes=new Set;let r=e,n=r.generateGraph(this.hideDisconnected,!1),i=this.generateAttributesAndRemoveEdges(n);i=this.generateTagsForNodes(n,i),this.addinferredEdges(n);let o=this.generateGroups(n,e);this.ensureNoExtraNodes(n,e);let s=this.getNodeIconMap(n),{colorMap:a,explicitlyColored:l}=this.getNodeColorMap(n,r),u=this.getNodeDisplayContent(n,r,i),c=this.getNodeSizeMap(n,u),h=this.getDisconnectedNodes(n),d=n.nodes().map(t=>{let u,d=n.node(t)?.label||t,p=a[t]||"black",f=l.has(t)?"directive":"default-palette",g=s[t],m=g.path,y=g.showLabels,{height:v,width:_}=c[t],x=this.getMostSpecificType(t,e),b=this.getNodeTypes(t,e),E=o.filter(e=>e.nodeIds.includes(t)).map(t=>t.name),T=i[t]||{},O=r.getAtoms().find(e=>e.id===t);return O?.labels&&(u=O.labels),{id:t,label:d,name:d,color:p,colorSource:f,groups:E,attributes:T,labels:u,icon:m,height:v,width:_,mostSpecificType:x,types:b,showLabels:y,disconnected:h.includes(t)}}),p=[],f=0,g=0,m=[],y=[],v=[];try{let t=this.applyRelativeOrientationConstraints(d,n);p=t.conjunctive,v.push(...t.disjunctive),f=p.length;let e=this.applyAlignConstraints(d,n);p=p.concat(e.conjunctive),v.push(...e.disjunctive),g=e.conjunctive.length,console.log(`Generated ${f} orientation constraints and ${g} alignment constraints (deduped + transitive reduction applied)`),this.pruneRedundantAlignmentEdges(n),p=function(t){let e=[],r=new Set;for(let n of t){let t;if(Dn(n))t=`left|${n.left.id}|${n.right.id}|${n.minDistance}`;else if(Pn(n))t=`top|${n.top.id}|${n.bottom.id}|${n.minDistance}`;else if(Mn(n)){let[e,r]=[n.node1.id,n.node2.id].sort();t=`align|${n.axis}|${e}|${r}`}else t=`unknown|${JSON.stringify(n)}`;r.has(t)||(r.add(t),e.push(n))}return e}(p),y=this.buildCyclicDisjunctions(d,n),v.push(...y),m=this.buildLayoutEdges(n,d)}catch(t){if(function(t){return t instanceof cg}(t))return this.handleMissingNodeConstraintError(t,{layoutNodes:d,graph:n,groups:o,disconnectedNodes:h,constraints:p});throw t}let _={nodes:d,edges:m,constraints:p,groups:o,disjunctiveConstraints:v.length>0?v:void 0};if(this.hiddenNodeConflicts.size>0)return this.handleHiddenNodeConflictError(_);let x="qualitative"===this.validatorStrategy?new t.QualitativeConstraintValidator(_):new Zf(_),b=x.validateConstraints();if(b){if(Ba(b))return this.handlePositionalConstraintError(b,_);if(Ha(b))return this.handleGroupOverlapError(b,_);throw b}p=_.constraints,m=this.filterHiddenEdges(m),_.nodes=d,_.edges=m,_.constraints=p,_.groups=o.filter(t=>!t.negated);let E=x instanceof t.QualitativeConstraintValidator?x:void 0;return{layout:_,error:null,selectorErrors:this.selectorErrors,validator:E}}handleMissingNodeConstraintError(t,e){let r=this.filterHiddenEdges(this.buildLayoutEdges(e.graph,e.layoutNodes)),n=e.groups;return{layout:{nodes:e.layoutNodes,edges:r,constraints:e.constraints,groups:n,disjunctiveConstraints:[]},error:t,selectorErrors:this.selectorErrors}}handleHiddenNodeConflictError(t){let e=new Map,r=new Set;for(let[t,r]of this.hiddenNodeConflicts.entries())e.set(t,r);for(let t of this.conflictedHiddenNodes){let e=this.hiddenNodeSelectors.get(t);e&&r.add(e)}for(let t of r){let r=`hideAtom with selector ${t}`,n=[];for(let[e,r]of this.hiddenNodeSelectors.entries())r===t&&n.push(`${e} is hidden`);n.length>0&&e.set(r,n)}let n=[...this.hiddenNodeSelectors.keys()],i=[...this.hiddenNodeConflicts.keys()][0],o={conflictingConstraint:this.hiddenNodeConflicts.get(i)?.[0]||"",conflictingSourceConstraint:i,minimalConflictingConstraints:e},s={name:"HiddenNodeConflictError",type:"hidden-node-conflict",message:`Constraints reference hidden nodes [${n.join(", ")}]. These constraints have been dropped from the layout.`,hiddenNodes:this.hiddenNodeSelectors,droppedConstraints:this.hiddenNodeConflicts,errorMessages:o};return{layout:{...t,edges:this.filterHiddenEdges(t.edges)},error:s,selectorErrors:this.selectorErrors}}handlePositionalConstraintError(t,e){let r=t.minimalConflictingSet,n=t.maximalFeasibleSubset?e.constraints:e.constraints.filter(t=>![...r.values()].flat().includes(t));return{layout:{nodes:e.nodes,edges:e.edges,constraints:n,groups:e.groups,conflictingConstraints:[...r.values()].flat()},error:t,selectorErrors:this.selectorErrors}}handleGroupOverlapError(t,e){let r=t.overlappingNodes.map(t=>t.groups).flat(),n=e.groups.filter(t=>r.includes(t.name)),i=n.flatMap(t=>t.nodeIds),o=e.nodes.filter(t=>i.includes(t.id)),s=e.edges.filter(t=>o.some(e=>t.source.id===e.id)&&o.some(e=>t.target.id===e.id));return{layout:{nodes:o,edges:s,constraints:e.constraints,groups:n,overlappingNodes:t.overlappingNodes},error:t,selectorErrors:this.selectorErrors}}buildCyclicDisjunctions(t,e){let r=this._layoutSpec.constraints.orientation.cyclic,n=[];for(let[,i]of r.entries()){let r;try{r=this.evaluator.evaluate(i.selector,{instanceIndex:this.instanceNum})}catch(t){this.recordSelectorError(i.selector,"cyclic orientation selector",t);continue}if(!this.checkSelectorArity(r,i.selector,"binary","cyclic orientation selector"))continue;let o=r.selectedTwoples(),s=new Map;o.forEach(r=>{let n=r[0],i=r[1],o=t.find(t=>t.id===n),a=t.find(t=>t.id===i);if(o&&a){if(this.shouldAddAlignmentEdge(e,n,i)){let t=`_alignment_${n}_${i}_`;e.setEdge(n,i,t,t)}s.has(o)?s.get(o).push(a):s.set(o,[a])}});let a=this.getFragmentsToConstrain(s).map(t=>t.Path.map(t=>t.id));"counterclockwise"===i.direction&&(a=a.map(t=>t.reverse())),a.forEach(e=>{let r=e.length;if(r<=2)return;let o=[];for(let n=0;nc.x?a.push(this.leftConstraint(i,r,this.minSepWidth,e,n)):s.xc.y?a.push(this.topConstraint(i,r,this.minSepHeight,e,n)):s.y!e.some((e,n)=>n!r.some((r,n)=>e!==n&&r.isSubpathOf(t)))}applyRelativeOrientationConstraints(t,e){let r=[],n=[],i=this._layoutSpec.constraints.orientation.relative,o=new Set,s=new Map,a=new Map;return i.forEach(i=>{let l,u=i.directions,c=i.selector;try{l=this.evaluator.evaluate(c,{instanceIndex:this.instanceNum})}catch(t){return void this.recordSelectorError(c,"orientation selector",t)}this.checkSelectorArity(l,c,"binary","orientation selector")&&l.selectedTwoples().forEach(l=>{let c=l[0],h=l[1],d=this.isNodeHiddenByDirective(c),p=this.isNodeHiddenByDirective(h);if(d||p){let t=d?c:h;for(let e of u){let r=fg(c,h,e);this.recordHiddenNodeConflict(i,r,t)}return}if(i.negated){if(this.shouldAddAlignmentEdge(e,c,h)){let t=`_alignment_${c}_${h}_`;e.setEdge(c,h,t,t)}if(1===u.length){let e=this.negateOrientationDirection(u[0],c,h,t,i);1===e.length?r.push(e[0][0]):n.push(new zn(i,e))}else{let e=[];for(let r of u){let n=this.negateOrientationDirection(r,c,h,t,i);e.push(...n)}n.push(new zn(i,e))}}else u.forEach(n=>{if(this.shouldAddAlignmentEdge(e,c,h)){let t=`_alignment_${c}_${h}_`;e.setEdge(c,h,t,t)}if("left"==n){let e=`left:${h}:${c}:${this.minSepWidth}`;!o.has(e)&&!this.hasTransitivePath(s,h,c)&&(o.add(e),this.addToTransitiveGraph(s,h,c),r.push(this.leftConstraint(h,c,this.minSepWidth,t,i)))}else if("above"==n){let e=`top:${h}:${c}:${this.minSepHeight}`;!o.has(e)&&!this.hasTransitivePath(a,h,c)&&(o.add(e),this.addToTransitiveGraph(a,h,c),r.push(this.topConstraint(h,c,this.minSepHeight,t,i)))}else if("right"==n){let e=`left:${c}:${h}:${this.minSepWidth}`;!o.has(e)&&!this.hasTransitivePath(s,c,h)&&(o.add(e),this.addToTransitiveGraph(s,c,h),r.push(this.leftConstraint(c,h,this.minSepWidth,t,i)))}else if("below"==n){let e=`top:${c}:${h}:${this.minSepHeight}`;!o.has(e)&&!this.hasTransitivePath(a,c,h)&&(o.add(e),this.addToTransitiveGraph(a,c,h),r.push(this.topConstraint(c,h,this.minSepHeight,t,i)))}else if("directlyLeft"==n){let e=`left:${h}:${c}:${this.minSepWidth}`,n=`align-y:${h}:${c}`;!o.has(e)&&!this.hasTransitivePath(s,h,c)&&(o.add(e),this.addToTransitiveGraph(s,h,c),r.push(this.leftConstraint(h,c,this.minSepWidth,t,i))),o.has(n)||(o.add(n),r.push(this.ensureSameYConstraint(h,c,t,i)))}else if("directlyAbove"==n){let e=`top:${h}:${c}:${this.minSepHeight}`,n=`align-x:${h}:${c}`;!o.has(e)&&!this.hasTransitivePath(a,h,c)&&(o.add(e),this.addToTransitiveGraph(a,h,c),r.push(this.topConstraint(h,c,this.minSepHeight,t,i))),o.has(n)||(o.add(n),r.push(this.ensureSameXConstraint(h,c,t,i)))}else if("directlyRight"==n){let e=`left:${c}:${h}:${this.minSepWidth}`,n=`align-y:${h}:${c}`;!o.has(e)&&!this.hasTransitivePath(s,c,h)&&(o.add(e),this.addToTransitiveGraph(s,c,h),r.push(this.leftConstraint(c,h,this.minSepWidth,t,i))),o.has(n)||(o.add(n),r.push(this.ensureSameYConstraint(h,c,t,i)))}else if("directlyBelow"==n){let e=`top:${c}:${h}:${this.minSepHeight}`,n=`align-x:${h}:${c}`;!o.has(e)&&!this.hasTransitivePath(a,c,h)&&(o.add(e),this.addToTransitiveGraph(a,c,h),r.push(this.topConstraint(c,h,this.minSepHeight,t,i))),o.has(n)||(o.add(n),r.push(this.ensureSameXConstraint(h,c,t,i)))}})})}),{conjunctive:r,disjunctive:n}}negateOrientationDirection(t,e,r,n,i){switch(t){case"left":return[[this.leftConstraint(e,r,0,n,i)],[this.ensureSameXConstraint(e,r,n,i)]];case"right":return[[this.leftConstraint(r,e,0,n,i)],[this.ensureSameXConstraint(e,r,n,i)]];case"above":return[[this.topConstraint(e,r,0,n,i)],[this.ensureSameYConstraint(e,r,n,i)]];case"below":return[[this.topConstraint(r,e,0,n,i)],[this.ensureSameYConstraint(e,r,n,i)]];case"directlyLeft":return[[this.leftConstraint(e,r,0,n,i)],[this.ensureSameXConstraint(e,r,n,i)],[this.topConstraint(e,r,0,n,i)],[this.topConstraint(r,e,0,n,i)]];case"directlyRight":return[[this.leftConstraint(r,e,0,n,i)],[this.ensureSameXConstraint(e,r,n,i)],[this.topConstraint(e,r,0,n,i)],[this.topConstraint(r,e,0,n,i)]];case"directlyAbove":return[[this.topConstraint(e,r,0,n,i)],[this.ensureSameYConstraint(e,r,n,i)],[this.leftConstraint(e,r,0,n,i)],[this.leftConstraint(r,e,0,n,i)]];case"directlyBelow":return[[this.topConstraint(r,e,0,n,i)],[this.ensureSameYConstraint(e,r,n,i)],[this.leftConstraint(e,r,0,n,i)],[this.leftConstraint(r,e,0,n,i)]];default:return[]}}hasTransitivePath(t,e,r){let n=t.get(e);if(!n)return!1;if(n.has(r))return!0;let i=new Set([e]),o=Array.from(n);for(;o.length>0;){let e=o.shift();if(e===r)return!0;if(i.has(e))continue;i.add(e);let n=t.get(e);if(n)for(let t of n)i.has(t)||o.push(t)}return!1}addToTransitiveGraph(t,e,r){t.has(e)||t.set(e,new Set),t.get(e).add(r);let n=t.get(r)||new Set;for(let[i,o]of t.entries())if(i===e||o.has(e)){o.add(r);for(let t of n)o.add(t)}}applyAlignConstraints(t,e){let r=[],n=[],i=this._layoutSpec.constraints.alignment,o=new Set;return i.forEach(i=>{let s,a=i.direction,l=i.selector;try{s=this.evaluator.evaluate(l,{instanceIndex:this.instanceNum})}catch(t){return void this.recordSelectorError(l,"align selector",t)}this.checkSelectorArity(s,l,"binary","align selector")&&s.selectedTwoples().forEach(s=>{let l=s[0],u=s[1],c=this.isNodeHiddenByDirective(l),h=this.isNodeHiddenByDirective(u);if(c||h){let t=c?l:u,e=`${l} is ${"horizontal"===a?"horizontally":"vertically"} aligned with ${u}`;return void this.recordHiddenNodeConflict(i,e,t)}if(this.shouldAddAlignmentEdge(e,l,u)){let t=`_alignment_${l}_${u}_`;e.setEdge(l,u,t,t)}if(i.negated){let[e,r]=[l,u].sort(),s=`not-align-${"horizontal"===a?"y":"x"}:${e}:${r}`;if(!o.has(s))if(o.add(s),"horizontal"===a){let e=[this.topConstraint(l,u,0,t,i)],r=[this.topConstraint(u,l,0,t,i)];n.push(new zn(i,[e,r]))}else{let e=[this.leftConstraint(l,u,0,t,i)],r=[this.leftConstraint(u,l,0,t,i)];n.push(new zn(i,[e,r]))}return}if("horizontal"===a){let[e,n]=[l,u].sort(),s=`align-y:${e}:${n}`;o.has(s)||(o.add(s),r.push(this.ensureSameYConstraint(l,u,t,i)))}else if("vertical"===a){let[e,n]=[l,u].sort(),s=`align-x:${e}:${n}`;o.has(s)||(o.add(s),r.push(this.ensureSameXConstraint(l,u,t,i)))}})}),{conjunctive:r,disjunctive:n}}shouldAddAlignmentEdge(t,e,r){if("never"===this.alignmentEdgeStrategy)return!1;let n=this.hasDirectEdgeBetween(t,e,r);return"direct"===this.alignmentEdgeStrategy?!n:!n&&!this.isConnectedViaPath(t,e,r)}hasDirectEdgeBetween(t,e,r){return"function"==typeof t.hasEdge&&(t.hasEdge(e,r)||t.hasEdge(r,e))||(t.inEdges(e)||[]).some(t=>t.v===r)||(t.outEdges(e)||[]).some(t=>t.w===r)||(t.inEdges(r)||[]).some(t=>t.v===e)||(t.outEdges(r)||[]).some(t=>t.w===e)}isConnectedViaPath(t,e,r,n){let i=new Set,o=[e];for(;o.length>0;){let e=o.shift();if(e===r)return!0;if(i.has(e))continue;i.add(e);let s=t.outEdges(e)||[],a=t.inEdges(e)||[];for(let t of[...s,...a]){if(n&&(t.v===n.v&&t.w===n.w&&t.name===n.name||t.v===n.w&&t.w===n.v&&t.name===n.name))continue;let r=t.v===e?t.w:t.v;i.has(r)||o.push(r)}}return!1}pruneRedundantAlignmentEdges(t){if("connected"!==this.alignmentEdgeStrategy)return;let e=t.edges().filter(t=>{let e=t.name;return e&&e.includes("_alignment_")}),r=[];for(let n of e)this.isConnectedViaPath(t,n.v,n.w,n)&&(t.removeEdge(n.v,n.w,n.name),r.push(n));r.length>0&&console.log(`Pruned ${r.length} redundant alignment edges out of ${e.length} total alignment edges`)}getDisconnectedNodes(t){let e=t.edges().map(t=>t.w),r=t.edges().map(t=>t.v),n=new Set(t.nodes()),i=new Set([...e,...r]);return[...n].filter(t=>!i.has(t))}buildLayoutEdges(t,e){return t.edges().map(r=>{let n=r.name,i=t.edge(r.v,r.w,n),o=e.find(t=>t.id===r.v),s=e.find(t=>t.id===r.w),a=this.getRelationName(t,r),l=this.getEdgeColor(a,r.v,r.w,n),u=this.getEdgeStyle(a,r.v,r.w,n),c=this.getEdgeWeight(a,r.v,r.w,n),h=this.getEdgeShowLabel(a,r.v,r.w,n),d=this.getEdgeHighlight(a,r.v,r.w,n);return o&&s&&n?{source:o,target:s,label:i,relationName:a,id:n,color:l,style:u,weight:c,showLabel:h,highlight:d,groupId:n.startsWith("_g_")?i:void 0,keyNodeId:n.startsWith("_g_")?r.v:void 0}:null}).filter(t=>null!==t)}filterHiddenEdges(t){return t.filter(t=>!t.id.startsWith(this.hideThisEdge))}getNodeFromId(t,e,r){let n=e.find(e=>e.id===t);if(!n)throw new cg(t,r);return n}leftConstraint(t,e,r,n,i){return{left:this.getNodeFromId(t,n,i),right:this.getNodeFromId(e,n,i),minDistance:r,sourceConstraint:i}}topConstraint(t,e,r,n,i){return{top:this.getNodeFromId(t,n,i),bottom:this.getNodeFromId(e,n,i),minDistance:r,sourceConstraint:i}}ensureSameYConstraint(t,e,r,n){return{axis:"y",node1:this.getNodeFromId(t,r,n),node2:this.getNodeFromId(e,r,n),sourceConstraint:n}}ensureSameXConstraint(t,e,r,n){return{axis:"x",node1:this.getNodeFromId(t,r,n),node2:this.getNodeFromId(e,r,n),sourceConstraint:n}}singletonGroup(t){return{name:`${e.DISCONNECTED_PREFIX}${t}`,nodeIds:[t],keyNodeId:t,showLabel:!1}}getNodeDisplayContent(t,e,r){let n={},i=e.getAtoms();for(let e of t.nodes()){let o=t.node(e)?.label||e,s=r[e]||{},a=Object.entries(s).sort(([t],[e])=>t.localeCompare(e)).map(([t,e])=>`${t}: ${e.join(", ")}`),l=i.find(t=>t.id===e),u=[];if(l?.labels)for(let t of Object.values(l.labels))u.push(Array.isArray(t)?t.join(", "):String(t));n[e]={label:o,attributeLines:a,skolemLines:u}}return n}getNodeSizeMap(t,e){let r={};this._layoutSpec.directives.sizes.forEach(t=>{let e;try{let r=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum});if(!this.checkSelectorArity(r,t.selector,"unary","size selector"))return;e=r.selectedAtoms()}catch(e){return void this.recordSelectorError(t.selector,"size selector",e)}let n=t.width,i=t.height;e.forEach(t=>{if(r[t]){let e=r[t];if(e.width!==n||e.height!==i)throw new Error(`Size Conflict: "${t}" cannot have multiple sizes: ${JSON.stringify(e)}, ${JSON.stringify({width:n,height:i})}.`)}r[t]={width:n,height:i}})});let n={w:this.DEFAULT_NODE_WIDTH,h:this.DEFAULT_NODE_HEIGHT};for(let i of t.nodes()){if(r[i])continue;let t=e[i],o=t?.label??"",s=t?[...t.attributeLines,...t.skolemLines]:[];r[i]=ag(o,s,{min:n})}return r}getNodeColorMap(t,e){let r={},n=new Set,i=this.getSigColors(e);return this._layoutSpec.directives.atomColors.forEach(t=>{let e;try{let r=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum});if(!this.checkSelectorArity(r,t.selector,"unary","color selector"))return;e=r.selectedAtoms()}catch(e){return void this.recordSelectorError(t.selector,"color selector",e)}let i=t.color;e.forEach(t=>{if(r[t]){let e=r[t];if(e!==i)throw new Error(`Color Conflict: "${t}" cannot have multiple colors: ${e}, ${i}.`)}r[t]=i,n.add(t)})}),[...t.nodes()].forEach(t=>{if(!r[t]){let n=this.getMostSpecificType(t,e);r[t]=i[n]}}),{colorMap:r,explicitlyColored:n}}getNodeIconMap(t){let e={},r=this.DEFAULT_NODE_ICON_PATH;return this._layoutSpec.directives.icons.forEach(t=>{let r;try{let e=this.evaluator.evaluate(t.selector,{instanceIndex:this.instanceNum});if(!this.checkSelectorArity(e,t.selector,"unary","icon selector"))return;r=e.selectedAtoms()}catch(e){return void this.recordSelectorError(t.selector,"icon selector",e)}let n=t.path;r.forEach(r=>{let i=Ja(n);if(e[r]){let n=e[r];if(n.path!==i||n.showLabels!==t.showLabels)throw new Error(`Icon Conflict: "${r}" cannot have multiple icons: ${JSON.stringify(n)}, ${JSON.stringify({path:i,showLabels:t.showLabels})}.`)}e[r]={path:i,showLabels:t.showLabels}})}),[...t.nodes()].forEach(t=>{e[t]||(e[t]={path:r,showLabels:!0})}),e}getEdgeColor(t,e,r,n){let i=this.getInferredEdgeDirective(n);if(i?.color)return i.color;let o=this.findEdgeDirective(t,e,r);return o?.color?o.color:"black"}getEdgeStyle(t,e,r,n){let i=this.getInferredEdgeDirective(n),o=Xa(i?.style);if(o)return o;let s=this.findEdgeDirective(t,e,r);return Xa(s?.style)}getEdgeHighlight(t,e,r,n){let i=this.getInferredEdgeDirective(n);return i?.highlight?i.highlight:this.findEdgeDirective(t,e,r)?.highlight}getEdgeWeight(t,e,r,n){let i=this.getInferredEdgeDirective(n),o=this.normalizeEdgeWeight(i?.weight,"inferred edge");if(void 0!==o)return o;let s=this.findEdgeDirective(t,e,r);return this.normalizeEdgeWeight(s?.weight,"edge")}getEdgeShowLabel(t,e,r,n){return this.findEdgeDirective(t,e,r)?.showLabel}getInferredEdgeDirective(t){let e="_inferred_";return t&&t.includes(e)?this._layoutSpec.directives.inferredEdges.find(r=>t.includes(`${e}<:${r.name}`)):void 0}findEdgeDirective(t,e,r){let n=this._layoutSpec.directives.edgeColors;for(let i of n){if(i.field!==t)continue;let n=!0;if(i.selector)try{n=this.evaluator.evaluate(i.selector,{instanceIndex:this.instanceNum}).selectedAtoms().includes(e)}catch(t){this.recordSelectorError(i.selector,"edge selector",t),n=!1}if(!n)continue;let o=!0;if(i.filter&&r)try{o=this.evaluator.evaluate(i.filter,{instanceIndex:this.instanceNum}).selectedTwoples().some(t=>t[0]===e&&t[1]===r)}catch(t){this.recordSelectorError(i.filter,"edge filter",t),o=!1}if(n&&o)return i}}normalizeEdgeWeight(t,e){if(null!=t)return"number"!=typeof t||Number.isNaN(t)||t<=0?void console.warn(`Ignoring ${e} weight because it is not a positive number: ${t}`):t}getSigColors(t){let e={},r=t.getTypes(),n=new Rf(r.length);return r.forEach(t=>{e[t.id]=n.getNextColor()}),e}getFieldTuples(t,e){let r=t.getRelations();Object.values(r);let n=Object.values(r).find(t=>t.name===e);return n?n.tuples.map(t=>t.atoms):[]}getFieldTuplesForSourceAndTarget(t,e,r,n){return this.getFieldTuples(t,e).filter(t=>{let e=t.length;return!(e<1)&&t[0]===r&&t[e-1]===n})}addinferredEdges(t){this._layoutSpec.directives.inferredEdges.forEach(e=>{let r;try{r=this.evaluator.evaluate(e.selector,{instanceIndex:this.instanceNum})}catch(t){return void this.recordSelectorError(e.selector,"inferredEdge selector",t)}let n=r.selectedTuplesAll(),i=`_inferred_<:${e.name}`;n.forEach(r=>{let n=r.length,o=r[0],s=r[n-1],a=e.name;n>2&&(a=`${a}[${r.slice(1,n-1).map(e=>t.node(e)?.label||e).join(",")}]`);let l=r.join("->"),u=`${i}<:${l}`;t.setEdge(o,s,a,u)})})}},dg.DISCONNECTED_PREFIX="_d_",t.LayoutInstance=dg}),_g=h((t,e)=>{var r;if("function"==typeof u)try{r=pn()}catch{}r||(r=window.graphlib),e.exports=r}),xg=h((t,e)=>{var r=pe();e.exports=function(t){return r(t,5)}}),bg=h((t,e)=>{var r=m(),n=At(),i=yt(),o=k();e.exports=function(t,e,s){if(!o(s))return!1;var a=typeof e;return!!("number"==a?n(s)&&i(e,s.length):"string"==a&&e in s)&&r(s[e],t)}}),Eg=h((t,e)=>{var r=kr(),n=m(),i=bg(),o=kt(),s=Object.prototype,a=s.hasOwnProperty,l=r(function(t,e){t=Object(t);var r=-1,l=e.length,u=l>2?e[2]:void 0;for(u&&i(e[0],e[1],u)&&(l=1);++r{var r=lr(),n=At(),i=Ct();e.exports=function(t){return function(e,o,s){var a=Object(e);if(!n(e)){var l=r(o,3);e=i(e),o=function(t){return l(a[t],t,a)}}var u=t(e,o,s);return u>-1?a[l?e[u]:u]:void 0}}}),Og=h((t,e)=>{var r=/\s/;e.exports=function(t){for(var e=t.length;e--&&r.test(t.charAt(e)););return e}}),Sg=h((t,e)=>{var r=Og(),n=/^\s+/;e.exports=function(t){return t&&t.slice(0,r(t)+1).replace(n,"")}}),wg=h((t,e)=>{var r=Sg(),n=k(),i=He(),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,a=/^0o[0-7]+$/i,l=parseInt;e.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(n(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=n(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var u=s.test(t);return u||a.test(t)?l(t.slice(2),u?2:8):o.test(t)?NaN:+t}}),Ng=h((t,e)=>{var r=wg(),n=1/0;e.exports=function(t){return t?(t=r(t))===n||t===-n?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}}),Ag=h((t,e)=>{var r=Ng();e.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}}),Cg=h((t,e)=>{var r=Pr(),n=lr(),i=Ag(),o=Math.max;e.exports=function(t,e,s){var a=null==t?0:t.length;if(!a)return-1;var l=null==s?0:i(s);return l<0&&(l=o(a+l,0)),r(t,n(e,3),l)}}),Rg=h((t,e)=>{var r=Tg()(Cg());e.exports=r}),Ig=h((t,e)=>{var r=Nr();e.exports=function(t){return null!=t&&t.length?r(t,1):[]}}),Lg=h((t,e)=>{var r=ye(),n=Ee(),i=kt();e.exports=function(t,e){return null==t?t:r(t,n(e),i)}}),kg=h((t,e)=>{e.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}}),Pg=h((t,e)=>{var r=at(),n=ve(),i=lr();e.exports=function(t,e){var o={};return e=i(e,3),n(t,function(t,n,i){r(o,n,e(t,n,i))}),o}}),Dg=h((t,e)=>{var r=He();e.exports=function(t,e,n){for(var i=-1,o=t.length;++i{e.exports=function(t,e){return t>e}}),jg=h((t,e)=>{var r=Dg(),n=Mg(),i=be();e.exports=function(t){return t&&t.length?r(t,i,n):void 0}}),Kg=h((t,e)=>{var r=at(),n=m();e.exports=function(t,e,i){(void 0!==i&&!n(t[e],i)||void 0===i&&!(e in t))&&r(t,e,i)}}),Ug=h((t,e)=>{var r=L(),n=Bt(),i=ht(),o=Function.prototype,s=Object.prototype,a=o.toString,l=s.hasOwnProperty,u=a.call(Object);e.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=n(t);if(null===e)return!0;var o=l.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&a.call(o)==u}}),Fg=h((t,e)=>{e.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}}),$g=h((t,e)=>{var r=ut(),n=kt();e.exports=function(t){return r(t,n(t))}}),Bg=h((t,e)=>{var r=Kg(),n=Dt(),i=oe(),o=Mt(),s=le(),a=pt(),l=ft(),u=Hr(),c=mt(),h=P(),d=k(),p=Ug(),f=Et(),g=Fg(),m=$g();e.exports=function(t,e,y,v,_,x,b){var E=g(t,y),T=g(e,y),O=b.get(T);if(O)r(t,y,O);else{var S=x?x(E,T,y+"",t,e,b):void 0,w=void 0===S;if(w){var N=l(T),A=!N&&c(T),C=!N&&!A&&f(T);S=T,N||A||C?l(E)?S=E:u(E)?S=o(E):A?(w=!1,S=n(T,!0)):C?(w=!1,S=i(T,!0)):S=[]:p(T)||a(T)?(S=E,a(E)?S=m(E):(!d(E)||h(E))&&(S=s(T))):w=!1}w&&(b.set(T,S),_(S,T,v,x,b),b.delete(T)),r(t,y,S)}}}),Hg=h((t,e)=>{var r=it(),n=Kg(),i=ye(),o=Bg(),s=k(),a=kt(),l=Fg();e.exports=function t(e,u,c,h,d){e!==u&&i(u,function(i,a){if(d||(d=new r),s(i))o(e,u,a,c,t,h,d);else{var p=h?h(l(e,a),i,a+"",e,u,d):void 0;void 0===p&&(p=i),n(e,a,p)}},a)}}),Gg=h((t,e)=>{var r=kr(),n=bg();e.exports=function(t){return r(function(e,r){var i=-1,o=r.length,s=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(s=t.length>3&&"function"==typeof s?(o--,s):void 0,a&&n(r[0],r[1],a)&&(s=o<3?void 0:s,o=1),e=Object(e);++i{var r=Hg(),n=Gg()(function(t,e,n){r(t,e,n)});e.exports=n}),zg=h((t,e)=>{e.exports=function(t,e){return t