Browse Source

feat: 前端打包更新

tuonian 1 tháng trước cách đây
mục cha
commit
5300816170
100 tập tin đã thay đổi với 5759 bổ sung8 xóa
  1. 1 0
      frontend/dist/assets/abap-ab265910.js
  2. 32 0
      frontend/dist/assets/abc-4ebbc8a1.js
  3. 158 0
      frontend/dist/assets/actionscript-d28d5a67.js
  4. 1 0
      frontend/dist/assets/ada-f0c5e2f5.js
  5. 1 0
      frontend/dist/assets/alda-d786c105.js
  6. 1 0
      frontend/dist/assets/apache_conf-574ab1a0.js
  7. 1 0
      frontend/dist/assets/apex-25251118.js
  8. 1 0
      frontend/dist/assets/applescript-a7b5f4b0.js
  9. 1 0
      frontend/dist/assets/aql-2d18e4a3.js
  10. 1 0
      frontend/dist/assets/asciidoc-15d83382.js
  11. 1 0
      frontend/dist/assets/asl-9258cf5c.js
  12. 1 0
      frontend/dist/assets/assembly_x86-1f6b1418.js
  13. 1 0
      frontend/dist/assets/autohotkey-17defc3f.js
  14. 1 0
      frontend/dist/assets/batchfile-20396ffd.js
  15. 1 0
      frontend/dist/assets/bibtex-0e9ef081.js
  16. 1 0
      frontend/dist/assets/c9search-9bc41096.js
  17. 132 0
      frontend/dist/assets/c_cpp-95ad2008.js
  18. 1 0
      frontend/dist/assets/cirru-14ebd908.js
  19. 91 0
      frontend/dist/assets/clojure-aaa6ba43.js
  20. 1 0
      frontend/dist/assets/cobol-57ed4ada.js
  21. 96 0
      frontend/dist/assets/coffee-6ce55210.js
  22. 1 0
      frontend/dist/assets/coldfusion-8315c88f.js
  23. 1 0
      frontend/dist/assets/crystal-f7d8c444.js
  24. 1 0
      frontend/dist/assets/csharp-98e7fa97.js
  25. 11 0
      frontend/dist/assets/csound_document-1fd8d0b0.js
  26. 48 0
      frontend/dist/assets/csound_orchestra-bf8ade9e.js
  27. 1 0
      frontend/dist/assets/csound_score-834457cb.js
  28. 1 0
      frontend/dist/assets/csp-d7a7c13b.js
  29. 968 0
      frontend/dist/assets/css-01393442.js
  30. 1 0
      frontend/dist/assets/curly-c85a6054.js
  31. 1 0
      frontend/dist/assets/d-e43d0873.js
  32. 84 0
      frontend/dist/assets/dart-e65307d5.js
  33. 1 0
      frontend/dist/assets/diff-a061ae6b.js
  34. 109 0
      frontend/dist/assets/django-387e4c8b.js
  35. 1 0
      frontend/dist/assets/dockerfile-05338f5c.js
  36. 1 0
      frontend/dist/assets/dot-0809201e.js
  37. 20 0
      frontend/dist/assets/drools-a8b4e7f7.js
  38. 241 0
      frontend/dist/assets/edifact-2acf4839.js
  39. 1 0
      frontend/dist/assets/eiffel-0ca3c854.js
  40. 1 0
      frontend/dist/assets/ejs-c80fd70b.js
  41. 1 0
      frontend/dist/assets/elixir-95ab601e.js
  42. 1 0
      frontend/dist/assets/elm-45b2c9e1.js
  43. 161 0
      frontend/dist/assets/erlang-1cbe6f51.js
  44. 1 0
      frontend/dist/assets/ext-beautify-3316ac92.js
  45. 0 0
      frontend/dist/assets/ext-code_lens-7146a642.js
  46. 0 0
      frontend/dist/assets/ext-command_bar-5179b8c2.js
  47. 0 0
      frontend/dist/assets/ext-elastic_tabstops_lite-390aadf1.js
  48. 1 0
      frontend/dist/assets/ext-emmet-be66e1b6.js
  49. 1 0
      frontend/dist/assets/ext-error_marker-de80b766.js
  50. 2 0
      frontend/dist/assets/ext-hardwrap-4fe6a8e5.js
  51. 1 0
      frontend/dist/assets/ext-inline_autocomplete-d52f38d1.js
  52. 63 0
      frontend/dist/assets/ext-keybinding_menu-86bcfaef.js
  53. 1 0
      frontend/dist/assets/ext-language_tools-4c4b83f9.js
  54. 1 0
      frontend/dist/assets/ext-linking-a29f2534.js
  55. 0 0
      frontend/dist/assets/ext-modelist-e9d53ed6.js
  56. 63 0
      frontend/dist/assets/ext-options-4f1ac3d7.js
  57. 0 0
      frontend/dist/assets/ext-prompt-d92afddd.js
  58. 0 0
      frontend/dist/assets/ext-rtl-b1ef0e34.js
  59. 161 0
      frontend/dist/assets/ext-searchbox-5a0a653a.js
  60. 63 0
      frontend/dist/assets/ext-settings_menu-6833ce4b.js
  61. 1 0
      frontend/dist/assets/ext-spellcheck-c11c7ee6.js
  62. 39 0
      frontend/dist/assets/ext-static_highlight-259fa63c.js
  63. 1 0
      frontend/dist/assets/ext-statusbar-d6919dd2.js
  64. 0 0
      frontend/dist/assets/ext-textarea-9b50de2b.js
  65. 0 0
      frontend/dist/assets/ext-themelist-8424eecf.js
  66. 0 0
      frontend/dist/assets/ext-whitespace-b20fb25d.js
  67. 1 0
      frontend/dist/assets/forth-eb377826.js
  68. 1 0
      frontend/dist/assets/fortran-366203ab.js
  69. 1 0
      frontend/dist/assets/fsharp-b6af93af.js
  70. 10 0
      frontend/dist/assets/fsl-d6bc7509.js
  71. 1 0
      frontend/dist/assets/ftl-059b5e6c.js
  72. 1 0
      frontend/dist/assets/gcode-d8f0c3dd.js
  73. 1 0
      frontend/dist/assets/gherkin-df16baa5.js
  74. 1 0
      frontend/dist/assets/gitignore-80c71bbf.js
  75. 1 0
      frontend/dist/assets/glsl-d0213cec.js
  76. 1705 0
      frontend/dist/assets/gobstones-9f470c90.js
  77. 1 0
      frontend/dist/assets/golang-74ef8841.js
  78. 33 0
      frontend/dist/assets/graphqlschema-07a4eb5d.js
  79. 1 0
      frontend/dist/assets/groovy-cea4d628.js
  80. 21 0
      frontend/dist/assets/haml-456523a9.js
  81. 1 0
      frontend/dist/assets/handlebars-3c8bdd03.js
  82. 83 0
      frontend/dist/assets/haskell-40d3049f.js
  83. 1 0
      frontend/dist/assets/haskell_cabal-ada558c8.js
  84. 1 0
      frontend/dist/assets/haxe-efb234a9.js
  85. 1 0
      frontend/dist/assets/hjson-91de515f.js
  86. 854 0
      frontend/dist/assets/html-a1ac0007.js
  87. 1 0
      frontend/dist/assets/html_elixir-8d43fb8a.js
  88. 1 0
      frontend/dist/assets/html_ruby-dae1a01b.js
  89. 0 8
      frontend/dist/assets/index-1fb20f5f.js
  90. 0 0
      frontend/dist/assets/index-49502c45.css
  91. 0 0
      frontend/dist/assets/index-ad9b6d43.css
  92. 8 0
      frontend/dist/assets/index-fe76da25.js
  93. 1 0
      frontend/dist/assets/ini-7420df00.js
  94. 7 0
      frontend/dist/assets/io-537089be.js
  95. 1 0
      frontend/dist/assets/ion-9039ac30.js
  96. 1 0
      frontend/dist/assets/jack-95445f6e.js
  97. 1 0
      frontend/dist/assets/jade-3b8a369c.js
  98. 241 0
      frontend/dist/assets/java-e0460539.js
  99. 196 0
      frontend/dist/assets/javascript-4ed1cfb3.js
  100. 1 0
      frontend/dist/assets/jexl-e98249d5.js

+ 1 - 0
frontend/dist/assets/abap-ab265910.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function c(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var p={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/abap"],function(t){e&&(e.exports=t)})})()})(p);var s=p.exports;const i=f(s),b=c({__proto__:null,default:i},[s]);export{b as a};

+ 32 - 0
frontend/dist/assets/abc-4ebbc8a1.js

@@ -0,0 +1,32 @@
+import{g as a}from"./index-fe76da25.js";function c(o,p){for(var e=0;e<p.length;e++){const t=p[e];if(typeof t!="string"&&!Array.isArray(t)){for(const n in t)if(n!=="default"&&!(n in o)){const s=Object.getOwnPropertyDescriptor(t,n);s&&Object.defineProperty(o,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}}return Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(o,p){ace.define("ace/snippets/abc.snippets",["require","exports","module"],function(e,t,n){n.exports=`
+snippet zupfnoter.print
+	%%%%hn.print {"startpos": \${1:pos_y}, "t":"\${2:title}", "v":[\${3:voices}], "s":[[\${4:syncvoices}1,2]], "f":[\${5:flowlines}],  "sf":[\${6:subflowlines}], "j":[\${7:jumplines}]}
+
+snippet zupfnoter.note
+	%%%%hn.note {"pos": [\${1:pos_x},\${2:pos_y}], "text": "\${3:text}", "style": "\${4:style}"}
+
+snippet zupfnoter.annotation
+	%%%%hn.annotation {"id": "\${1:id}", "pos": [\${2:pos}], "text": "\${3:text}"}
+
+snippet zupfnoter.lyrics
+	%%%%hn.lyrics {"pos": [\${1:x_pos},\${2:y_pos}]}
+
+snippet zupfnoter.legend
+	%%%%hn.legend {"pos": [\${1:x_pos},\${2:y_pos}]}
+
+
+
+snippet zupfnoter.target
+	"^:\${1:target}"
+
+snippet zupfnoter.goto
+	"^@\${1:target}@\${2:distance}"
+
+snippet zupfnoter.annotationref
+	"^#\${1:target}"
+
+snippet zupfnoter.annotation
+	"^!\${1:text}@\${2:x_offset},\${3:y_offset}"
+
+
+`}),ace.define("ace/snippets/abc",["require","exports","module","ace/snippets/abc.snippets"],function(e,t,n){t.snippetText=e("./abc.snippets"),t.scope="abc"}),function(){ace.require(["ace/snippets/abc"],function(e){o&&(o.exports=e)})}()})(r);var i=r.exports;const f=a(i),$=c({__proto__:null,default:f},[i]);export{$ as a};

+ 158 - 0
frontend/dist/assets/actionscript-d28d5a67.js

@@ -0,0 +1,158 @@
+import{g as c}from"./index-fe76da25.js";function o(i,s){for(var n=0;n<s.length;n++){const t=s[n];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in i)){const a=Object.getOwnPropertyDescriptor(t,e);a&&Object.defineProperty(i,e,a.get?a:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(i,s){ace.define("ace/snippets/actionscript.snippets",["require","exports","module"],function(n,t,e){e.exports=`snippet main
+	package {
+		import flash.display.*;
+		import flash.Events.*;
+	
+		public class Main extends Sprite {
+			public function Main (	) {
+				trace("start");
+				stage.scaleMode = StageScaleMode.NO_SCALE;
+				stage.addEventListener(Event.RESIZE, resizeListener);
+			}
+	
+			private function resizeListener (e:Event):void {
+				trace("The application window changed size!");
+				trace("New width:  " + stage.stageWidth);
+				trace("New height: " + stage.stageHeight);
+			}
+	
+		}
+	
+	}
+snippet class
+	\${1:public|internal} class \${2:name} \${3:extends } {
+		public function $2 (	) {
+			("start");
+		}
+	}
+snippet all
+	package name {
+
+		\${1:public|internal|final} class \${2:name} \${3:extends } {
+			private|public| static const FOO = "abc";
+			private|public| static var BAR = "abc";
+
+			// class initializer - no JIT !! one time setup
+			if Cababilities.os == "Linux|MacOS" {
+				FOO = "other";
+			}
+
+			// constructor:
+			public function $2 (	){
+				super2();
+				trace("start");
+			}
+			public function name (a, b...){
+				super.name(..);
+				lable:break
+			}
+		}
+	}
+
+	function A(){
+		// A can only be accessed within this file
+	}
+snippet switch
+	switch(\${1}){
+		case \${2}:
+			\${3}
+		break;
+		default:
+	}
+snippet case
+		case \${1}:
+			\${2}
+		break;
+snippet package
+	package \${1:package}{
+		\${2}
+	}
+snippet wh
+	while \${1:cond}{
+		\${2}
+	}
+snippet do
+	do {
+		\${2}
+	} while (\${1:cond})
+snippet while
+	while \${1:cond}{
+		\${2}
+	}
+snippet for enumerate names
+	for (\${1:var} in \${2:object}){
+		\${3}
+	}
+snippet for enumerate values
+	for each (\${1:var} in \${2:object}){
+		\${3}
+	}
+snippet get_set
+	function get \${1:name} {
+		return \${2}
+	}
+	function set $1 (newValue) {
+		\${3}
+	}
+snippet interface
+	interface name {
+		function method(\${1}):\${2:returntype};
+	}
+snippet try
+	try {
+		\${1}
+	} catch (error:ErrorType) {
+		\${2}
+	} finally {
+		\${3}
+	}
+# For Loop (same as c.snippet)
+snippet for for (..) {..}
+	for (\${2:i} = 0; $2 < \${1:count}; $2\${3:++}) {
+		\${4:/* code */}
+	}
+# Custom For Loop
+snippet forr
+	for (\${1:i} = \${2:0}; \${3:$1 < 10}; $1\${4:++}) {
+		\${5:/* code */}
+	}
+# If Condition
+snippet if
+	if (\${1:/* condition */}) {
+		\${2:/* code */}
+	}
+snippet el
+	else {
+		\${1}
+	}
+# Ternary conditional
+snippet t
+	\${1:/* condition */} ? \${2:a} : \${3:b}
+snippet fun
+	function \${1:function_name}(\${2})\${3}
+	{
+		\${4:/* code */}
+	}
+# FlxSprite (usefull when using the flixel library)
+snippet FlxSprite
+	package
+	{
+		import org.flixel.*
+
+		public class \${1:ClassName} extends \${2:FlxSprite}
+		{
+			public function $1(\${3: X:Number, Y:Number}):void
+			{
+				super(X,Y);
+				\${4: //code...}
+			}
+
+			override public function update():void
+			{
+				super.update();
+				\${5: //code...}
+			}
+		}
+	}
+
+`}),ace.define("ace/snippets/actionscript",["require","exports","module","ace/snippets/actionscript.snippets"],function(n,t,e){t.snippetText=n("./actionscript.snippets"),t.scope="actionscript"}),function(){ace.require(["ace/snippets/actionscript"],function(n){i&&(i.exports=n)})}()})(r);var p=r.exports;const l=c(p),$=o({__proto__:null,default:l},[p]);export{$ as a};

+ 1 - 0
frontend/dist/assets/ada-f0c5e2f5.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/ada"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=c(f),d=i({__proto__:null,default:p},[f]);export{d as a};

+ 1 - 0
frontend/dist/assets/alda-d786c105.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/alda"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=c(f),u=i({__proto__:null,default:p},[f]);export{u as a};

+ 1 - 0
frontend/dist/assets/apache_conf-574ab1a0.js

@@ -0,0 +1 @@
+import{g as p}from"./index-fe76da25.js";function s(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/apache_conf"],function(t){e&&(e.exports=t)})})()})(c);var f=c.exports;const i=p(f),g=s({__proto__:null,default:i},[f]);export{g as a};

+ 1 - 0
frontend/dist/assets/apex-25251118.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function c(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var p={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/apex"],function(t){e&&(e.exports=t)})})()})(p);var s=p.exports;const i=f(s),x=c({__proto__:null,default:i},[s]);export{x as a};

+ 1 - 0
frontend/dist/assets/applescript-a7b5f4b0.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,o){for(var t=0;t<o.length;t++){const r=o[t];if(typeof r!="string"&&!Array.isArray(r)){for(const p in r)if(p!=="default"&&!(p in e)){const s=Object.getOwnPropertyDescriptor(r,p);s&&Object.defineProperty(e,p,s.get?s:{enumerable:!0,get:()=>r[p]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(e,o){(function(){ace.require(["ace/snippets/applescript"],function(t){e&&(e.exports=t)})})()})(a);var n=a.exports;const f=c(n),u=i({__proto__:null,default:f},[n]);export{u as a};

+ 1 - 0
frontend/dist/assets/aql-2d18e4a3.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,a){for(var t=0;t<a.length;t++){const r=a[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,a){(function(){ace.require(["ace/snippets/aql"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=c(f),u=i({__proto__:null,default:p},[f]);export{u as a};

+ 1 - 0
frontend/dist/assets/asciidoc-15d83382.js

@@ -0,0 +1 @@
+import{g as n}from"./index-fe76da25.js";function f(e,c){for(var t=0;t<c.length;t++){const r=c[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(r,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,c){(function(){ace.require(["ace/snippets/asciidoc"],function(t){e&&(e.exports=t)})})()})(s);var a=s.exports;const p=n(a),d=f({__proto__:null,default:p},[a]);export{d as a};

+ 1 - 0
frontend/dist/assets/asl-9258cf5c.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,s){for(var t=0;t<s.length;t++){const r=s[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/asl"],function(t){e&&(e.exports=t)})})()})(n);var f=n.exports;const p=c(f),u=i({__proto__:null,default:p},[f]);export{u as a};

+ 1 - 0
frontend/dist/assets/assembly_x86-1f6b1418.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,s){for(var t=0;t<s.length;t++){const r=s[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/assembly_x86"],function(t){e&&(e.exports=t)})})()})(n);var f=n.exports;const p=c(f),u=i({__proto__:null,default:p},[f]);export{u as a};

+ 1 - 0
frontend/dist/assets/autohotkey-17defc3f.js

@@ -0,0 +1 @@
+import{g as u}from"./index-fe76da25.js";function c(t,a){for(var e=0;e<a.length;e++){const o=a[e];if(typeof o!="string"&&!Array.isArray(o)){for(const r in o)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(o,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>o[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(t,a){(function(){ace.require(["ace/snippets/autohotkey"],function(e){t&&(t.exports=e)})})()})(s);var f=s.exports;const i=u(f),y=c({__proto__:null,default:i},[f]);export{y as a};

+ 1 - 0
frontend/dist/assets/batchfile-20396ffd.js

@@ -0,0 +1 @@
+import{g as i}from"./index-fe76da25.js";function s(e,f){for(var t=0;t<f.length;t++){const r=f[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(e,f){(function(){ace.require(["ace/snippets/batchfile"],function(t){e&&(e.exports=t)})})()})(a);var c=a.exports;const p=i(c),u=s({__proto__:null,default:p},[c]);export{u as b};

+ 1 - 0
frontend/dist/assets/bibtex-0e9ef081.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function b(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(r,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/bibtex"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const c=a(f),u=b({__proto__:null,default:c},[f]);export{u as b};

+ 1 - 0
frontend/dist/assets/c9search-9bc41096.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function i(e,c){for(var r=0;r<c.length;r++){const t=c[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(t,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,c){(function(){ace.require(["ace/snippets/c9search"],function(r){e&&(e.exports=r)})})()})(n);var a=n.exports;const p=f(a),g=i({__proto__:null,default:p},[a]);export{g as c};

+ 132 - 0
frontend/dist/assets/c_cpp-95ad2008.js

@@ -0,0 +1,132 @@
+import{g as o}from"./index-fe76da25.js";function d(p,s){for(var n=0;n<s.length;n++){const t=s[n];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in p)){const i=Object.getOwnPropertyDescriptor(t,e);i&&Object.defineProperty(p,e,i.get?i:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(p,s){ace.define("ace/snippets/c_cpp.snippets",["require","exports","module"],function(n,t,e){e.exports=`## STL Collections
+# std::array
+snippet array
+	std::array<\${1:T}, \${2:N}> \${3};\${4}
+# std::vector
+snippet vector
+	std::vector<\${1:T}> \${2};\${3}
+# std::deque
+snippet deque
+	std::deque<\${1:T}> \${2};\${3}
+# std::forward_list
+snippet flist
+	std::forward_list<\${1:T}> \${2};\${3}
+# std::list
+snippet list
+	std::list<\${1:T}> \${2};\${3}
+# std::set
+snippet set
+	std::set<\${1:T}> \${2};\${3}
+# std::map
+snippet map
+	std::map<\${1:Key}, \${2:T}> \${3};\${4}
+# std::multiset
+snippet mset
+	std::multiset<\${1:T}> \${2};\${3}
+# std::multimap
+snippet mmap
+	std::multimap<\${1:Key}, \${2:T}> \${3};\${4}
+# std::unordered_set
+snippet uset
+	std::unordered_set<\${1:T}> \${2};\${3}
+# std::unordered_map
+snippet umap
+	std::unordered_map<\${1:Key}, \${2:T}> \${3};\${4}
+# std::unordered_multiset
+snippet umset
+	std::unordered_multiset<\${1:T}> \${2};\${3}
+# std::unordered_multimap
+snippet ummap
+	std::unordered_multimap<\${1:Key}, \${2:T}> \${3};\${4}
+# std::stack
+snippet stack
+	std::stack<\${1:T}> \${2};\${3}
+# std::queue
+snippet queue
+	std::queue<\${1:T}> \${2};\${3}
+# std::priority_queue
+snippet pqueue
+	std::priority_queue<\${1:T}> \${2};\${3}
+##
+## Access Modifiers
+# private
+snippet pri
+	private
+# protected
+snippet pro
+	protected
+# public
+snippet pub
+	public
+# friend
+snippet fr
+	friend
+# mutable
+snippet mu
+	mutable
+## 
+## Class
+# class
+snippet cl
+	class \${1:\`Filename('$1', 'name')\`} 
+	{
+	public:
+		$1(\${2});
+		~$1();
+
+	private:
+		\${3:/* data */}
+	};
+# member function implementation
+snippet mfun
+	\${4:void} \${1:\`Filename('$1', 'ClassName')\`}::\${2:memberFunction}(\${3}) {
+		\${5:/* code */}
+	}
+# namespace
+snippet ns
+	namespace \${1:\`Filename('', 'my')\`} {
+		\${2}
+	} /* namespace $1 */
+##
+## Input/Output
+# std::cout
+snippet cout
+	std::cout << \${1} << std::endl;\${2}
+# std::cin
+snippet cin
+	std::cin >> \${1};\${2}
+##
+## Iteration
+# for i 
+snippet fori
+	for (int \${2:i} = 0; $2 < \${1:count}; $2\${3:++}) {
+		\${4:/* code */}
+	}\${5}
+
+# foreach
+snippet fore
+	for (\${1:auto} \${2:i} : \${3:container}) {
+		\${4:/* code */}
+	}\${5}
+# iterator
+snippet iter
+	for (\${1:std::vector}<\${2:type}>::\${3:const_iterator} \${4:i} = \${5:container}.begin(); $4 != $5.end(); ++$4) {
+		\${6}
+	}\${7}
+
+# auto iterator
+snippet itera
+	for (auto \${1:i} = $1.begin(); $1 != $1.end(); ++$1) {
+		\${2:std::cout << *$1 << std::endl;}
+	}\${3}
+##
+## Lambdas
+# lamda (one line)
+snippet ld
+	[\${1}](\${2}){\${3:/* code */}}\${4}
+# lambda (multi-line)
+snippet lld
+	[\${1}](\${2}){
+		\${3:/* code */}
+	}\${4}
+`}),ace.define("ace/snippets/c_cpp",["require","exports","module","ace/snippets/c_cpp.snippets"],function(n,t,e){t.snippetText=n("./c_cpp.snippets"),t.scope="c_cpp"}),function(){ace.require(["ace/snippets/c_cpp"],function(n){p&&(p.exports=n)})}()})(r);var $=r.exports;const c=o($),u=d({__proto__:null,default:c},[$]);export{u as c};

+ 1 - 0
frontend/dist/assets/cirru-14ebd908.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function u(r,c){for(var e=0;e<c.length;e++){const t=c[e];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in r)){const n=Object.getOwnPropertyDescriptor(t,o);n&&Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var i={exports:{}};(function(r,c){(function(){ace.require(["ace/snippets/cirru"],function(e){r&&(r.exports=e)})})()})(i);var s=i.exports;const a=f(s),g=u({__proto__:null,default:a},[s]);export{g as c};

+ 91 - 0
frontend/dist/assets/clojure-aaa6ba43.js

@@ -0,0 +1,91 @@
+import{g as o}from"./index-fe76da25.js";function c(p,s){for(var n=0;n<s.length;n++){const e=s[n];if(typeof e!="string"&&!Array.isArray(e)){for(const t in e)if(t!=="default"&&!(t in p)){const r=Object.getOwnPropertyDescriptor(e,t);r&&Object.defineProperty(p,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var i={exports:{}};(function(p,s){ace.define("ace/snippets/clojure.snippets",["require","exports","module"],function(n,e,t){t.exports=`snippet comm
+	(comment
+	  \${1}
+	  )
+snippet condp
+	(condp \${1:pred} \${2:expr}
+	  \${3})
+snippet def
+	(def \${1})
+snippet defm
+	(defmethod \${1:multifn} "\${2:doc-string}" \${3:dispatch-val} [\${4:args}]
+	  \${5})
+snippet defmm
+	(defmulti \${1:name} "\${2:doc-string}" \${3:dispatch-fn})
+snippet defma
+	(defmacro \${1:name} "\${2:doc-string}" \${3:dispatch-fn})
+snippet defn
+	(defn \${1:name} "\${2:doc-string}" [\${3:arg-list}]
+	  \${4})
+snippet defp
+	(defprotocol \${1:name}
+	  \${2})
+snippet defr
+	(defrecord \${1:name} [\${2:fields}]
+	  \${3:protocol}
+	  \${4})
+snippet deft
+	(deftest \${1:name}
+	    (is (= \${2:assertion})))
+	  \${3})
+snippet is
+	(is (= \${1} \${2}))
+snippet defty
+	(deftype \${1:Name} [\${2:fields}]
+	  \${3:Protocol}
+	  \${4})
+snippet doseq
+	(doseq [\${1:elem} \${2:coll}]
+	  \${3})
+snippet fn
+	(fn [\${1:arg-list}] \${2})
+snippet if
+	(if \${1:test-expr}
+	  \${2:then-expr}
+	  \${3:else-expr})
+snippet if-let 
+	(if-let [\${1:result} \${2:test-expr}]
+		(\${3:then-expr} $1)
+		(\${4:else-expr}))
+snippet imp
+	(:import [\${1:package}])
+	& {:keys [\${1:keys}] :or {\${2:defaults}}}
+snippet let
+	(let [\${1:name} \${2:expr}]
+		\${3})
+snippet letfn
+	(letfn [(\${1:name) [\${2:args}]
+	          \${3})])
+snippet map
+	(map \${1:func} \${2:coll})
+snippet mapl
+	(map #(\${1:lambda}) \${2:coll})
+snippet met
+	(\${1:name} [\${2:this} \${3:args}]
+	  \${4})
+snippet ns
+	(ns \${1:name}
+	  \${2})
+snippet dotimes
+	(dotimes [_ 10]
+	  (time
+	    (dotimes [_ \${1:times}]
+	      \${2})))
+snippet pmethod
+	(\${1:name} [\${2:this} \${3:args}])
+snippet refer
+	(:refer-clojure :exclude [\${1}])
+snippet require
+	(:require [\${1:namespace} :as [\${2}]])
+snippet use
+	(:use [\${1:namespace} :only [\${2}]])
+snippet print
+	(println \${1})
+snippet reduce
+	(reduce \${1:(fn [p n] \${3})} \${2})
+snippet when
+	(when \${1:test} \${2:body})
+snippet when-let
+	(when-let [\${1:result} \${2:test}]
+		\${3:body})
+`}),ace.define("ace/snippets/clojure",["require","exports","module","ace/snippets/clojure.snippets"],function(n,e,t){e.snippetText=n("./clojure.snippets"),e.scope="clojure"}),function(){ace.require(["ace/snippets/clojure"],function(n){p&&(p.exports=n)})}()})(i);var $=i.exports;const a=o($),l=c({__proto__:null,default:a},[$]);export{l as c};

+ 1 - 0
frontend/dist/assets/cobol-57ed4ada.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function i(e,c){for(var t=0;t<c.length;t++){const o=c[t];if(typeof o!="string"&&!Array.isArray(o)){for(const r in o)if(r!=="default"&&!(r in e)){const n=Object.getOwnPropertyDescriptor(o,r);n&&Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>o[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,c){(function(){ace.require(["ace/snippets/cobol"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=a(f),u=i({__proto__:null,default:p},[f]);export{u as c};

+ 96 - 0
frontend/dist/assets/coffee-6ce55210.js

@@ -0,0 +1,96 @@
+import{g as c}from"./index-fe76da25.js";function f(s,o){for(var t=0;t<o.length;t++){const n=o[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in s)){const i=Object.getOwnPropertyDescriptor(n,e);i&&Object.defineProperty(s,e,i.get?i:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(s,o){ace.define("ace/snippets/coffee.snippets",["require","exports","module"],function(t,n,e){e.exports=`# Closure loop
+snippet forindo
+	for \${1:name} in \${2:array}
+		do ($1) ->
+			\${3:// body}
+# Array comprehension
+snippet fora
+	for \${1:name} in \${2:array}
+		\${3:// body...}
+# Object comprehension
+snippet foro
+	for \${1:key}, \${2:value} of \${3:object}
+		\${4:// body...}
+# Range comprehension (inclusive)
+snippet forr
+	for \${1:name} in [\${2:start}..\${3:finish}]
+		\${4:// body...}
+snippet forrb
+	for \${1:name} in [\${2:start}..\${3:finish}] by \${4:step}
+		\${5:// body...}
+# Range comprehension (exclusive)
+snippet forrex
+	for \${1:name} in [\${2:start}...\${3:finish}]
+		\${4:// body...}
+snippet forrexb
+	for \${1:name} in [\${2:start}...\${3:finish}] by \${4:step}
+		\${5:// body...}
+# Function
+snippet fun
+	(\${1:args}) ->
+		\${2:// body...}
+# Function (bound)
+snippet bfun
+	(\${1:args}) =>
+		\${2:// body...}
+# Class
+snippet cla class ..
+	class \${1:\`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')\`}
+		\${2}
+snippet cla class .. constructor: ..
+	class \${1:\`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')\`}
+		constructor: (\${2:args}) ->
+			\${3}
+
+		\${4}
+snippet cla class .. extends ..
+	class \${1:\`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')\`} extends \${2:ParentClass}
+		\${3}
+snippet cla class .. extends .. constructor: ..
+	class \${1:\`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')\`} extends \${2:ParentClass}
+		constructor: (\${3:args}) ->
+			\${4}
+
+		\${5}
+# If
+snippet if
+	if \${1:condition}
+		\${2:// body...}
+# If __ Else
+snippet ife
+	if \${1:condition}
+		\${2:// body...}
+	else
+		\${3:// body...}
+# Else if
+snippet elif
+	else if \${1:condition}
+		\${2:// body...}
+# Ternary If
+snippet ifte
+	if \${1:condition} then \${2:value} else \${3:other}
+# Unless
+snippet unl
+	\${1:action} unless \${2:condition}
+# Switch
+snippet swi
+	switch \${1:object}
+		when \${2:value}
+			\${3:// body...}
+
+# Log
+snippet log
+	console.log \${1}
+# Try __ Catch
+snippet try
+	try
+		\${1}
+	catch \${2:error}
+		\${3}
+# Require
+snippet req
+	\${2:$1} = require '\${1:sys}'\${3}
+# Export
+snippet exp
+	\${1:root} = exports ? this
+`}),ace.define("ace/snippets/coffee",["require","exports","module","ace/snippets/coffee.snippets"],function(t,n,e){n.snippetText=t("./coffee.snippets"),n.scope="coffee"}),function(){ace.require(["ace/snippets/coffee"],function(t){s&&(s.exports=t)})}()})(r);var p=r.exports;const $=c(p),u=f({__proto__:null,default:$},[p]);export{u as c};

+ 1 - 0
frontend/dist/assets/coldfusion-8315c88f.js

@@ -0,0 +1 @@
+import{g as i}from"./index-fe76da25.js";function u(e,n){for(var t=0;t<n.length;t++){const o=n[t];if(typeof o!="string"&&!Array.isArray(o)){for(const r in o)if(r!=="default"&&!(r in e)){const s=Object.getOwnPropertyDescriptor(o,r);s&&Object.defineProperty(e,r,s.get?s:{enumerable:!0,get:()=>o[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/coldfusion"],function(t){e&&(e.exports=t)})})()})(c);var f=c.exports;const a=i(f),l=u({__proto__:null,default:a},[f]);export{l as c};

+ 1 - 0
frontend/dist/assets/crystal-f7d8c444.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function i(t,s){for(var e=0;e<s.length;e++){const r=s[e];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const c=Object.getOwnPropertyDescriptor(r,o);c&&Object.defineProperty(t,o,c.get?c:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(t,s){(function(){ace.require(["ace/snippets/crystal"],function(e){t&&(t.exports=e)})})()})(n);var a=n.exports;const p=f(a),u=i({__proto__:null,default:p},[a]);export{u as c};

+ 1 - 0
frontend/dist/assets/csharp-98e7fa97.js

@@ -0,0 +1 @@
+import{g as p}from"./index-fe76da25.js";function f(e,s){for(var r=0;r<s.length;r++){const t=s[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const c=Object.getOwnPropertyDescriptor(t,o);c&&Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/csharp"],function(r){e&&(e.exports=r)})})()})(n);var a=n.exports;const i=p(a),g=f({__proto__:null,default:i},[a]);export{g as c};

+ 11 - 0
frontend/dist/assets/csound_document-1fd8d0b0.js

@@ -0,0 +1,11 @@
+import{g as p}from"./index-fe76da25.js";function i(o,s){for(var t=0;t<s.length;t++){const e=s[t];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in o)){const r=Object.getOwnPropertyDescriptor(e,n);r&&Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(o,s){ace.define("ace/snippets/csound_document.snippets",["require","exports","module"],function(t,e,n){n.exports=`# <CsoundSynthesizer>
+snippet synth
+	<CsoundSynthesizer>
+	<CsInstruments>
+	\${1}
+	</CsInstruments>
+	<CsScore>
+	e
+	</CsScore>
+	</CsoundSynthesizer>
+`}),ace.define("ace/snippets/csound_document",["require","exports","module","ace/snippets/csound_document.snippets"],function(t,e,n){e.snippetText=t("./csound_document.snippets"),e.scope="csound_document"}),function(){ace.require(["ace/snippets/csound_document"],function(t){o&&(o.exports=t)})}()})(c);var u=c.exports;const d=p(u),f=i({__proto__:null,default:d},[u]);export{f as c};

+ 48 - 0
frontend/dist/assets/csound_orchestra-bf8ade9e.js

@@ -0,0 +1,48 @@
+import{g as c}from"./index-fe76da25.js";function a(s,o){for(var e=0;e<o.length;e++){const t=o[e];if(typeof t!="string"&&!Array.isArray(t)){for(const n in t)if(n!=="default"&&!(n in s)){const i=Object.getOwnPropertyDescriptor(t,n);i&&Object.defineProperty(s,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(s,o){ace.define("ace/snippets/csound_orchestra.snippets",["require","exports","module"],function(e,t,n){n.exports=`# else
+snippet else
+	else
+		\${1:/* statements */}
+# elseif
+snippet elseif
+	elseif \${1:/* condition */} then
+		\${2:/* statements */}
+# if
+snippet if
+	if \${1:/* condition */} then
+		\${2:/* statements */}
+	endif
+# instrument block
+snippet instr
+	instr \${1:name}
+		\${2:/* statements */}
+	endin
+# i-time while loop
+snippet iwhile
+	i\${1:Index} = \${2:0}
+	while i\${1:Index} < \${3:/* count */} do
+		\${4:/* statements */}
+		i\${1:Index} += 1
+	od
+# k-rate while loop
+snippet kwhile
+	k\${1:Index} = \${2:0}
+	while k\${1:Index} < \${3:/* count */} do
+		\${4:/* statements */}
+		k\${1:Index} += 1
+	od
+# opcode
+snippet opcode
+	opcode \${1:name}, \${2:/* output types */ 0}, \${3:/* input types */ 0}
+		\${4:/* statements */}
+	endop
+# until loop
+snippet until
+	until \${1:/* condition */} do
+		\${2:/* statements */}
+	od
+# while loop
+snippet while
+	while \${1:/* condition */} do
+		\${2:/* statements */}
+	od
+`}),ace.define("ace/snippets/csound_orchestra",["require","exports","module","ace/snippets/csound_orchestra.snippets"],function(e,t,n){t.snippetText=e("./csound_orchestra.snippets"),t.scope="csound_orchestra"}),function(){ace.require(["ace/snippets/csound_orchestra"],function(e){s&&(s.exports=e)})}()})(r);var p=r.exports;const d=c(p),l=a({__proto__:null,default:d},[p]);export{l as c};

+ 1 - 0
frontend/dist/assets/csound_score-834457cb.js

@@ -0,0 +1 @@
+import{g as u}from"./index-fe76da25.js";function a(e,s){for(var r=0;r<s.length;r++){const t=s[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const c=Object.getOwnPropertyDescriptor(t,o);c&&Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/csound_score"],function(r){e&&(e.exports=r)})})()})(n);var f=n.exports;const i=u(f),d=a({__proto__:null,default:i},[f]);export{d as c};

+ 1 - 0
frontend/dist/assets/csp-d7a7c13b.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function a(e,s){for(var t=0;t<s.length;t++){const r=s[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const c=Object.getOwnPropertyDescriptor(r,o);c&&Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/csp"],function(t){e&&(e.exports=t)})})()})(n);var p=n.exports;const i=f(p),g=a({__proto__:null,default:i},[p]);export{g as c};

+ 968 - 0
frontend/dist/assets/css-01393442.js

@@ -0,0 +1,968 @@
+import{g as a}from"./index-fe76da25.js";function b(p,i){for(var t=0;t<i.length;t++){const n=i[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in p)){const s=Object.getOwnPropertyDescriptor(n,e);s&&Object.defineProperty(p,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var o={exports:{}};(function(p,i){ace.define("ace/snippets/css.snippets",["require","exports","module"],function(t,n,e){e.exports=`snippet .
+	\${1} {
+		\${2}
+	}
+snippet !
+	 !important
+snippet bdi:m+
+	-moz-border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch};
+snippet bdi:m
+	-moz-border-image: \${1};
+snippet bdrz:m
+	-moz-border-radius: \${1};
+snippet bxsh:m+
+	-moz-box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000};
+snippet bxsh:m
+	-moz-box-shadow: \${1};
+snippet bdi:w+
+	-webkit-border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch};
+snippet bdi:w
+	-webkit-border-image: \${1};
+snippet bdrz:w
+	-webkit-border-radius: \${1};
+snippet bxsh:w+
+	-webkit-box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000};
+snippet bxsh:w
+	-webkit-box-shadow: \${1};
+snippet @f
+	@font-face {
+		font-family: \${1};
+		src: url(\${2});
+	}
+snippet @i
+	@import url(\${1});
+snippet @m
+	@media \${1:print} {
+		\${2}
+	}
+snippet bg+
+	background: #\${1:FFF} url(\${2}) \${3:0} \${4:0} \${5:no-repeat};
+snippet bga
+	background-attachment: \${1};
+snippet bga:f
+	background-attachment: fixed;
+snippet bga:s
+	background-attachment: scroll;
+snippet bgbk
+	background-break: \${1};
+snippet bgbk:bb
+	background-break: bounding-box;
+snippet bgbk:c
+	background-break: continuous;
+snippet bgbk:eb
+	background-break: each-box;
+snippet bgcp
+	background-clip: \${1};
+snippet bgcp:bb
+	background-clip: border-box;
+snippet bgcp:cb
+	background-clip: content-box;
+snippet bgcp:nc
+	background-clip: no-clip;
+snippet bgcp:pb
+	background-clip: padding-box;
+snippet bgc
+	background-color: #\${1:FFF};
+snippet bgc:t
+	background-color: transparent;
+snippet bgi
+	background-image: url(\${1});
+snippet bgi:n
+	background-image: none;
+snippet bgo
+	background-origin: \${1};
+snippet bgo:bb
+	background-origin: border-box;
+snippet bgo:cb
+	background-origin: content-box;
+snippet bgo:pb
+	background-origin: padding-box;
+snippet bgpx
+	background-position-x: \${1};
+snippet bgpy
+	background-position-y: \${1};
+snippet bgp
+	background-position: \${1:0} \${2:0};
+snippet bgr
+	background-repeat: \${1};
+snippet bgr:n
+	background-repeat: no-repeat;
+snippet bgr:x
+	background-repeat: repeat-x;
+snippet bgr:y
+	background-repeat: repeat-y;
+snippet bgr:r
+	background-repeat: repeat;
+snippet bgz
+	background-size: \${1};
+snippet bgz:a
+	background-size: auto;
+snippet bgz:ct
+	background-size: contain;
+snippet bgz:cv
+	background-size: cover;
+snippet bg
+	background: \${1};
+snippet bg:ie
+	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\${1}',sizingMethod='\${2:crop}');
+snippet bg:n
+	background: none;
+snippet bd+
+	border: \${1:1px} \${2:solid} #\${3:000};
+snippet bdb+
+	border-bottom: \${1:1px} \${2:solid} #\${3:000};
+snippet bdbc
+	border-bottom-color: #\${1:000};
+snippet bdbi
+	border-bottom-image: url(\${1});
+snippet bdbi:n
+	border-bottom-image: none;
+snippet bdbli
+	border-bottom-left-image: url(\${1});
+snippet bdbli:c
+	border-bottom-left-image: continue;
+snippet bdbli:n
+	border-bottom-left-image: none;
+snippet bdblrz
+	border-bottom-left-radius: \${1};
+snippet bdbri
+	border-bottom-right-image: url(\${1});
+snippet bdbri:c
+	border-bottom-right-image: continue;
+snippet bdbri:n
+	border-bottom-right-image: none;
+snippet bdbrrz
+	border-bottom-right-radius: \${1};
+snippet bdbs
+	border-bottom-style: \${1};
+snippet bdbs:n
+	border-bottom-style: none;
+snippet bdbw
+	border-bottom-width: \${1};
+snippet bdb
+	border-bottom: \${1};
+snippet bdb:n
+	border-bottom: none;
+snippet bdbk
+	border-break: \${1};
+snippet bdbk:c
+	border-break: close;
+snippet bdcl
+	border-collapse: \${1};
+snippet bdcl:c
+	border-collapse: collapse;
+snippet bdcl:s
+	border-collapse: separate;
+snippet bdc
+	border-color: #\${1:000};
+snippet bdci
+	border-corner-image: url(\${1});
+snippet bdci:c
+	border-corner-image: continue;
+snippet bdci:n
+	border-corner-image: none;
+snippet bdf
+	border-fit: \${1};
+snippet bdf:c
+	border-fit: clip;
+snippet bdf:of
+	border-fit: overwrite;
+snippet bdf:ow
+	border-fit: overwrite;
+snippet bdf:r
+	border-fit: repeat;
+snippet bdf:sc
+	border-fit: scale;
+snippet bdf:sp
+	border-fit: space;
+snippet bdf:st
+	border-fit: stretch;
+snippet bdi
+	border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch};
+snippet bdi:n
+	border-image: none;
+snippet bdl+
+	border-left: \${1:1px} \${2:solid} #\${3:000};
+snippet bdlc
+	border-left-color: #\${1:000};
+snippet bdli
+	border-left-image: url(\${1});
+snippet bdli:n
+	border-left-image: none;
+snippet bdls
+	border-left-style: \${1};
+snippet bdls:n
+	border-left-style: none;
+snippet bdlw
+	border-left-width: \${1};
+snippet bdl
+	border-left: \${1};
+snippet bdl:n
+	border-left: none;
+snippet bdlt
+	border-length: \${1};
+snippet bdlt:a
+	border-length: auto;
+snippet bdrz
+	border-radius: \${1};
+snippet bdr+
+	border-right: \${1:1px} \${2:solid} #\${3:000};
+snippet bdrc
+	border-right-color: #\${1:000};
+snippet bdri
+	border-right-image: url(\${1});
+snippet bdri:n
+	border-right-image: none;
+snippet bdrs
+	border-right-style: \${1};
+snippet bdrs:n
+	border-right-style: none;
+snippet bdrw
+	border-right-width: \${1};
+snippet bdr
+	border-right: \${1};
+snippet bdr:n
+	border-right: none;
+snippet bdsp
+	border-spacing: \${1};
+snippet bds
+	border-style: \${1};
+snippet bds:ds
+	border-style: dashed;
+snippet bds:dtds
+	border-style: dot-dash;
+snippet bds:dtdtds
+	border-style: dot-dot-dash;
+snippet bds:dt
+	border-style: dotted;
+snippet bds:db
+	border-style: double;
+snippet bds:g
+	border-style: groove;
+snippet bds:h
+	border-style: hidden;
+snippet bds:i
+	border-style: inset;
+snippet bds:n
+	border-style: none;
+snippet bds:o
+	border-style: outset;
+snippet bds:r
+	border-style: ridge;
+snippet bds:s
+	border-style: solid;
+snippet bds:w
+	border-style: wave;
+snippet bdt+
+	border-top: \${1:1px} \${2:solid} #\${3:000};
+snippet bdtc
+	border-top-color: #\${1:000};
+snippet bdti
+	border-top-image: url(\${1});
+snippet bdti:n
+	border-top-image: none;
+snippet bdtli
+	border-top-left-image: url(\${1});
+snippet bdtli:c
+	border-corner-image: continue;
+snippet bdtli:n
+	border-corner-image: none;
+snippet bdtlrz
+	border-top-left-radius: \${1};
+snippet bdtri
+	border-top-right-image: url(\${1});
+snippet bdtri:c
+	border-top-right-image: continue;
+snippet bdtri:n
+	border-top-right-image: none;
+snippet bdtrrz
+	border-top-right-radius: \${1};
+snippet bdts
+	border-top-style: \${1};
+snippet bdts:n
+	border-top-style: none;
+snippet bdtw
+	border-top-width: \${1};
+snippet bdt
+	border-top: \${1};
+snippet bdt:n
+	border-top: none;
+snippet bdw
+	border-width: \${1};
+snippet bd
+	border: \${1};
+snippet bd:n
+	border: none;
+snippet b
+	bottom: \${1};
+snippet b:a
+	bottom: auto;
+snippet bxsh+
+	box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000};
+snippet bxsh
+	box-shadow: \${1};
+snippet bxsh:n
+	box-shadow: none;
+snippet bxz
+	box-sizing: \${1};
+snippet bxz:bb
+	box-sizing: border-box;
+snippet bxz:cb
+	box-sizing: content-box;
+snippet cps
+	caption-side: \${1};
+snippet cps:b
+	caption-side: bottom;
+snippet cps:t
+	caption-side: top;
+snippet cl
+	clear: \${1};
+snippet cl:b
+	clear: both;
+snippet cl:l
+	clear: left;
+snippet cl:n
+	clear: none;
+snippet cl:r
+	clear: right;
+snippet cp
+	clip: \${1};
+snippet cp:a
+	clip: auto;
+snippet cp:r
+	clip: rect(\${1:0} \${2:0} \${3:0} \${4:0});
+snippet c
+	color: #\${1:000};
+snippet ct
+	content: \${1};
+snippet ct:a
+	content: attr(\${1});
+snippet ct:cq
+	content: close-quote;
+snippet ct:c
+	content: counter(\${1});
+snippet ct:cs
+	content: counters(\${1});
+snippet ct:ncq
+	content: no-close-quote;
+snippet ct:noq
+	content: no-open-quote;
+snippet ct:n
+	content: normal;
+snippet ct:oq
+	content: open-quote;
+snippet coi
+	counter-increment: \${1};
+snippet cor
+	counter-reset: \${1};
+snippet cur
+	cursor: \${1};
+snippet cur:a
+	cursor: auto;
+snippet cur:c
+	cursor: crosshair;
+snippet cur:d
+	cursor: default;
+snippet cur:ha
+	cursor: hand;
+snippet cur:he
+	cursor: help;
+snippet cur:m
+	cursor: move;
+snippet cur:p
+	cursor: pointer;
+snippet cur:t
+	cursor: text;
+snippet d
+	display: \${1};
+snippet d:mib
+	display: -moz-inline-box;
+snippet d:mis
+	display: -moz-inline-stack;
+snippet d:b
+	display: block;
+snippet d:cp
+	display: compact;
+snippet d:ib
+	display: inline-block;
+snippet d:itb
+	display: inline-table;
+snippet d:i
+	display: inline;
+snippet d:li
+	display: list-item;
+snippet d:n
+	display: none;
+snippet d:ri
+	display: run-in;
+snippet d:tbcp
+	display: table-caption;
+snippet d:tbc
+	display: table-cell;
+snippet d:tbclg
+	display: table-column-group;
+snippet d:tbcl
+	display: table-column;
+snippet d:tbfg
+	display: table-footer-group;
+snippet d:tbhg
+	display: table-header-group;
+snippet d:tbrg
+	display: table-row-group;
+snippet d:tbr
+	display: table-row;
+snippet d:tb
+	display: table;
+snippet ec
+	empty-cells: \${1};
+snippet ec:h
+	empty-cells: hide;
+snippet ec:s
+	empty-cells: show;
+snippet exp
+	expression()
+snippet fl
+	float: \${1};
+snippet fl:l
+	float: left;
+snippet fl:n
+	float: none;
+snippet fl:r
+	float: right;
+snippet f+
+	font: \${1:1em} \${2:Arial},\${3:sans-serif};
+snippet fef
+	font-effect: \${1};
+snippet fef:eb
+	font-effect: emboss;
+snippet fef:eg
+	font-effect: engrave;
+snippet fef:n
+	font-effect: none;
+snippet fef:o
+	font-effect: outline;
+snippet femp
+	font-emphasize-position: \${1};
+snippet femp:a
+	font-emphasize-position: after;
+snippet femp:b
+	font-emphasize-position: before;
+snippet fems
+	font-emphasize-style: \${1};
+snippet fems:ac
+	font-emphasize-style: accent;
+snippet fems:c
+	font-emphasize-style: circle;
+snippet fems:ds
+	font-emphasize-style: disc;
+snippet fems:dt
+	font-emphasize-style: dot;
+snippet fems:n
+	font-emphasize-style: none;
+snippet fem
+	font-emphasize: \${1};
+snippet ff
+	font-family: \${1};
+snippet ff:c
+	font-family: \${1:'Monotype Corsiva','Comic Sans MS'},cursive;
+snippet ff:f
+	font-family: \${1:Capitals,Impact},fantasy;
+snippet ff:m
+	font-family: \${1:Monaco,'Courier New'},monospace;
+snippet ff:ss
+	font-family: \${1:Helvetica,Arial},sans-serif;
+snippet ff:s
+	font-family: \${1:Georgia,'Times New Roman'},serif;
+snippet fza
+	font-size-adjust: \${1};
+snippet fza:n
+	font-size-adjust: none;
+snippet fz
+	font-size: \${1};
+snippet fsm
+	font-smooth: \${1};
+snippet fsm:aw
+	font-smooth: always;
+snippet fsm:a
+	font-smooth: auto;
+snippet fsm:n
+	font-smooth: never;
+snippet fst
+	font-stretch: \${1};
+snippet fst:c
+	font-stretch: condensed;
+snippet fst:e
+	font-stretch: expanded;
+snippet fst:ec
+	font-stretch: extra-condensed;
+snippet fst:ee
+	font-stretch: extra-expanded;
+snippet fst:n
+	font-stretch: normal;
+snippet fst:sc
+	font-stretch: semi-condensed;
+snippet fst:se
+	font-stretch: semi-expanded;
+snippet fst:uc
+	font-stretch: ultra-condensed;
+snippet fst:ue
+	font-stretch: ultra-expanded;
+snippet fs
+	font-style: \${1};
+snippet fs:i
+	font-style: italic;
+snippet fs:n
+	font-style: normal;
+snippet fs:o
+	font-style: oblique;
+snippet fv
+	font-variant: \${1};
+snippet fv:n
+	font-variant: normal;
+snippet fv:sc
+	font-variant: small-caps;
+snippet fw
+	font-weight: \${1};
+snippet fw:b
+	font-weight: bold;
+snippet fw:br
+	font-weight: bolder;
+snippet fw:lr
+	font-weight: lighter;
+snippet fw:n
+	font-weight: normal;
+snippet f
+	font: \${1};
+snippet h
+	height: \${1};
+snippet h:a
+	height: auto;
+snippet l
+	left: \${1};
+snippet l:a
+	left: auto;
+snippet lts
+	letter-spacing: \${1};
+snippet lh
+	line-height: \${1};
+snippet lisi
+	list-style-image: url(\${1});
+snippet lisi:n
+	list-style-image: none;
+snippet lisp
+	list-style-position: \${1};
+snippet lisp:i
+	list-style-position: inside;
+snippet lisp:o
+	list-style-position: outside;
+snippet list
+	list-style-type: \${1};
+snippet list:c
+	list-style-type: circle;
+snippet list:dclz
+	list-style-type: decimal-leading-zero;
+snippet list:dc
+	list-style-type: decimal;
+snippet list:d
+	list-style-type: disc;
+snippet list:lr
+	list-style-type: lower-roman;
+snippet list:n
+	list-style-type: none;
+snippet list:s
+	list-style-type: square;
+snippet list:ur
+	list-style-type: upper-roman;
+snippet lis
+	list-style: \${1};
+snippet lis:n
+	list-style: none;
+snippet mb
+	margin-bottom: \${1};
+snippet mb:a
+	margin-bottom: auto;
+snippet ml
+	margin-left: \${1};
+snippet ml:a
+	margin-left: auto;
+snippet mr
+	margin-right: \${1};
+snippet mr:a
+	margin-right: auto;
+snippet mt
+	margin-top: \${1};
+snippet mt:a
+	margin-top: auto;
+snippet m
+	margin: \${1};
+snippet m:4
+	margin: \${1:0} \${2:0} \${3:0} \${4:0};
+snippet m:3
+	margin: \${1:0} \${2:0} \${3:0};
+snippet m:2
+	margin: \${1:0} \${2:0};
+snippet m:0
+	margin: 0;
+snippet m:a
+	margin: auto;
+snippet mah
+	max-height: \${1};
+snippet mah:n
+	max-height: none;
+snippet maw
+	max-width: \${1};
+snippet maw:n
+	max-width: none;
+snippet mih
+	min-height: \${1};
+snippet miw
+	min-width: \${1};
+snippet op
+	opacity: \${1};
+snippet op:ie
+	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=\${1:100});
+snippet op:ms
+	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=\${1:100})';
+snippet orp
+	orphans: \${1};
+snippet o+
+	outline: \${1:1px} \${2:solid} #\${3:000};
+snippet oc
+	outline-color: \${1:#000};
+snippet oc:i
+	outline-color: invert;
+snippet oo
+	outline-offset: \${1};
+snippet os
+	outline-style: \${1};
+snippet ow
+	outline-width: \${1};
+snippet o
+	outline: \${1};
+snippet o:n
+	outline: none;
+snippet ovs
+	overflow-style: \${1};
+snippet ovs:a
+	overflow-style: auto;
+snippet ovs:mq
+	overflow-style: marquee;
+snippet ovs:mv
+	overflow-style: move;
+snippet ovs:p
+	overflow-style: panner;
+snippet ovs:s
+	overflow-style: scrollbar;
+snippet ovx
+	overflow-x: \${1};
+snippet ovx:a
+	overflow-x: auto;
+snippet ovx:h
+	overflow-x: hidden;
+snippet ovx:s
+	overflow-x: scroll;
+snippet ovx:v
+	overflow-x: visible;
+snippet ovy
+	overflow-y: \${1};
+snippet ovy:a
+	overflow-y: auto;
+snippet ovy:h
+	overflow-y: hidden;
+snippet ovy:s
+	overflow-y: scroll;
+snippet ovy:v
+	overflow-y: visible;
+snippet ov
+	overflow: \${1};
+snippet ov:a
+	overflow: auto;
+snippet ov:h
+	overflow: hidden;
+snippet ov:s
+	overflow: scroll;
+snippet ov:v
+	overflow: visible;
+snippet pb
+	padding-bottom: \${1};
+snippet pl
+	padding-left: \${1};
+snippet pr
+	padding-right: \${1};
+snippet pt
+	padding-top: \${1};
+snippet p
+	padding: \${1};
+snippet p:4
+	padding: \${1:0} \${2:0} \${3:0} \${4:0};
+snippet p:3
+	padding: \${1:0} \${2:0} \${3:0};
+snippet p:2
+	padding: \${1:0} \${2:0};
+snippet p:0
+	padding: 0;
+snippet pgba
+	page-break-after: \${1};
+snippet pgba:aw
+	page-break-after: always;
+snippet pgba:a
+	page-break-after: auto;
+snippet pgba:l
+	page-break-after: left;
+snippet pgba:r
+	page-break-after: right;
+snippet pgbb
+	page-break-before: \${1};
+snippet pgbb:aw
+	page-break-before: always;
+snippet pgbb:a
+	page-break-before: auto;
+snippet pgbb:l
+	page-break-before: left;
+snippet pgbb:r
+	page-break-before: right;
+snippet pgbi
+	page-break-inside: \${1};
+snippet pgbi:a
+	page-break-inside: auto;
+snippet pgbi:av
+	page-break-inside: avoid;
+snippet pos
+	position: \${1};
+snippet pos:a
+	position: absolute;
+snippet pos:f
+	position: fixed;
+snippet pos:r
+	position: relative;
+snippet pos:s
+	position: static;
+snippet q
+	quotes: \${1};
+snippet q:en
+	quotes: '\\201C' '\\201D' '\\2018' '\\2019';
+snippet q:n
+	quotes: none;
+snippet q:ru
+	quotes: '\\00AB' '\\00BB' '\\201E' '\\201C';
+snippet rz
+	resize: \${1};
+snippet rz:b
+	resize: both;
+snippet rz:h
+	resize: horizontal;
+snippet rz:n
+	resize: none;
+snippet rz:v
+	resize: vertical;
+snippet r
+	right: \${1};
+snippet r:a
+	right: auto;
+snippet tbl
+	table-layout: \${1};
+snippet tbl:a
+	table-layout: auto;
+snippet tbl:f
+	table-layout: fixed;
+snippet tal
+	text-align-last: \${1};
+snippet tal:a
+	text-align-last: auto;
+snippet tal:c
+	text-align-last: center;
+snippet tal:l
+	text-align-last: left;
+snippet tal:r
+	text-align-last: right;
+snippet ta
+	text-align: \${1};
+snippet ta:c
+	text-align: center;
+snippet ta:l
+	text-align: left;
+snippet ta:r
+	text-align: right;
+snippet td
+	text-decoration: \${1};
+snippet td:l
+	text-decoration: line-through;
+snippet td:n
+	text-decoration: none;
+snippet td:o
+	text-decoration: overline;
+snippet td:u
+	text-decoration: underline;
+snippet te
+	text-emphasis: \${1};
+snippet te:ac
+	text-emphasis: accent;
+snippet te:a
+	text-emphasis: after;
+snippet te:b
+	text-emphasis: before;
+snippet te:c
+	text-emphasis: circle;
+snippet te:ds
+	text-emphasis: disc;
+snippet te:dt
+	text-emphasis: dot;
+snippet te:n
+	text-emphasis: none;
+snippet th
+	text-height: \${1};
+snippet th:a
+	text-height: auto;
+snippet th:f
+	text-height: font-size;
+snippet th:m
+	text-height: max-size;
+snippet th:t
+	text-height: text-size;
+snippet ti
+	text-indent: \${1};
+snippet ti:-
+	text-indent: -9999px;
+snippet tj
+	text-justify: \${1};
+snippet tj:a
+	text-justify: auto;
+snippet tj:d
+	text-justify: distribute;
+snippet tj:ic
+	text-justify: inter-cluster;
+snippet tj:ii
+	text-justify: inter-ideograph;
+snippet tj:iw
+	text-justify: inter-word;
+snippet tj:k
+	text-justify: kashida;
+snippet tj:t
+	text-justify: tibetan;
+snippet to+
+	text-outline: \${1:0} \${2:0} #\${3:000};
+snippet to
+	text-outline: \${1};
+snippet to:n
+	text-outline: none;
+snippet tr
+	text-replace: \${1};
+snippet tr:n
+	text-replace: none;
+snippet tsh+
+	text-shadow: \${1:0} \${2:0} \${3:0} #\${4:000};
+snippet tsh
+	text-shadow: \${1};
+snippet tsh:n
+	text-shadow: none;
+snippet tt
+	text-transform: \${1};
+snippet tt:c
+	text-transform: capitalize;
+snippet tt:l
+	text-transform: lowercase;
+snippet tt:n
+	text-transform: none;
+snippet tt:u
+	text-transform: uppercase;
+snippet tw
+	text-wrap: \${1};
+snippet tw:no
+	text-wrap: none;
+snippet tw:n
+	text-wrap: normal;
+snippet tw:s
+	text-wrap: suppress;
+snippet tw:u
+	text-wrap: unrestricted;
+snippet t
+	top: \${1};
+snippet t:a
+	top: auto;
+snippet va
+	vertical-align: \${1};
+snippet va:bl
+	vertical-align: baseline;
+snippet va:b
+	vertical-align: bottom;
+snippet va:m
+	vertical-align: middle;
+snippet va:sub
+	vertical-align: sub;
+snippet va:sup
+	vertical-align: super;
+snippet va:tb
+	vertical-align: text-bottom;
+snippet va:tt
+	vertical-align: text-top;
+snippet va:t
+	vertical-align: top;
+snippet v
+	visibility: \${1};
+snippet v:c
+	visibility: collapse;
+snippet v:h
+	visibility: hidden;
+snippet v:v
+	visibility: visible;
+snippet whsc
+	white-space-collapse: \${1};
+snippet whsc:ba
+	white-space-collapse: break-all;
+snippet whsc:bs
+	white-space-collapse: break-strict;
+snippet whsc:k
+	white-space-collapse: keep-all;
+snippet whsc:l
+	white-space-collapse: loose;
+snippet whsc:n
+	white-space-collapse: normal;
+snippet whs
+	white-space: \${1};
+snippet whs:n
+	white-space: normal;
+snippet whs:nw
+	white-space: nowrap;
+snippet whs:pl
+	white-space: pre-line;
+snippet whs:pw
+	white-space: pre-wrap;
+snippet whs:p
+	white-space: pre;
+snippet wid
+	widows: \${1};
+snippet w
+	width: \${1};
+snippet w:a
+	width: auto;
+snippet wob
+	word-break: \${1};
+snippet wob:ba
+	word-break: break-all;
+snippet wob:bs
+	word-break: break-strict;
+snippet wob:k
+	word-break: keep-all;
+snippet wob:l
+	word-break: loose;
+snippet wob:n
+	word-break: normal;
+snippet wos
+	word-spacing: \${1};
+snippet wow
+	word-wrap: \${1};
+snippet wow:no
+	word-wrap: none;
+snippet wow:n
+	word-wrap: normal;
+snippet wow:s
+	word-wrap: suppress;
+snippet wow:u
+	word-wrap: unrestricted;
+snippet z
+	z-index: \${1};
+snippet z:a
+	z-index: auto;
+snippet zoo
+	zoom: 1;
+`}),ace.define("ace/snippets/css",["require","exports","module","ace/snippets/css.snippets"],function(t,n,e){n.snippetText=t("./css.snippets"),n.scope="css"}),function(){ace.require(["ace/snippets/css"],function(t){p&&(p.exports=t)})}()})(o);var r=o.exports;const l=a(r),c=b({__proto__:null,default:l},[r]);export{c};

+ 1 - 0
frontend/dist/assets/curly-c85a6054.js

@@ -0,0 +1 @@
+import{g as u}from"./index-fe76da25.js";function a(e,c){for(var r=0;r<c.length;r++){const t=c[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(t,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,c){(function(){ace.require(["ace/snippets/curly"],function(r){e&&(e.exports=r)})})()})(s);var f=s.exports;const i=u(f),l=a({__proto__:null,default:i},[f]);export{l as c};

+ 1 - 0
frontend/dist/assets/d-e43d0873.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/d"],function(t){e&&(e.exports=t)})})()})(f);var a=f.exports;const p=c(a),d=i({__proto__:null,default:p},[a]);export{d};

+ 84 - 0
frontend/dist/assets/dart-e65307d5.js

@@ -0,0 +1,84 @@
+import{g as a}from"./index-fe76da25.js";function $(p,i){for(var n=0;n<i.length;n++){const t=i[n];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in p)){const r=Object.getOwnPropertyDescriptor(t,e);r&&Object.defineProperty(p,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(p,i){ace.define("ace/snippets/dart.snippets",["require","exports","module"],function(n,t,e){e.exports=`snippet lib
+	library \${1};
+	\${2}
+snippet im
+	import '\${1}';
+	\${2}
+snippet pa
+	part '\${1}';
+	\${2}
+snippet pao
+	part of \${1};
+	\${2}
+snippet main
+	void main() {
+	  \${1:/* code */}
+	}
+snippet st
+	static \${1}
+snippet fi
+	final \${1}
+snippet re
+	return \${1}
+snippet br
+	break;
+snippet th
+	throw \${1}
+snippet cl
+	class \${1:\`Filename("", "untitled")\`} \${2}
+snippet imp
+	implements \${1}
+snippet ext
+	extends \${1}
+snippet if
+	if (\${1:true}) {
+	  \${2}
+	}
+snippet ife
+	if (\${1:true}) {
+	  \${2}
+	} else {
+	  \${3}
+	}
+snippet el
+	else
+snippet sw
+	switch (\${1}) {
+	  \${2}
+	}
+snippet cs
+	case \${1}:
+	  \${2}
+snippet de
+	default:
+	  \${1}
+snippet for
+	for (var \${2:i} = 0, len = \${1:things}.length; $2 < len; \${3:++}$2) {
+	  \${4:$1[$2]}
+	}
+snippet fore
+	for (final \${2:item} in \${1:itemList}) {
+	  \${3:/* code */}
+	}
+snippet wh
+	while (\${1:/* condition */}) {
+	  \${2:/* code */}
+	}
+snippet dowh
+	do {
+	  \${2:/* code */}
+	} while (\${1:/* condition */});
+snippet as
+	assert(\${1:/* condition */});
+snippet try
+	try {
+	  \${2}
+	} catch (\${1:Exception e}) {
+	}
+snippet tryf
+	try {
+	  \${2}
+	} catch (\${1:Exception e}) {
+	} finally {
+	}
+`}),ace.define("ace/snippets/dart",["require","exports","module","ace/snippets/dart.snippets"],function(n,t,e){t.snippetText=n("./dart.snippets"),t.scope="dart"}),function(){ace.require(["ace/snippets/dart"],function(n){p&&(p.exports=n)})}()})(s);var o=s.exports;const c=a(o),d=$({__proto__:null,default:c},[o]);export{d};

+ 1 - 0
frontend/dist/assets/diff-a061ae6b.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function a(n,i){for(var t=0;t<i.length;t++){const e=i[t];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in n)){const p=Object.getOwnPropertyDescriptor(e,r);p&&Object.defineProperty(n,r,p.get?p:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var o={exports:{}};(function(n,i){ace.define("ace/snippets/diff.snippets",["require","exports","module"],function(t,e,r){r.exports='# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\nsnippet header DEP-3 style header\n	Description: ${1}\n	Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n	Bug: ${4:url in upstream bugtracker}\n	Forwarded: ${5:no|not-needed|url}\n	Author: ${6:`g:snips_author`}\n	Reviewed-by: ${7:name and email}\n	Last-Update: ${8:`strftime("%Y-%m-%d")`}\n	Applied-Upstream: ${9:upstream version|url|commit}\n\n'}),ace.define("ace/snippets/diff",["require","exports","module","ace/snippets/diff.snippets"],function(t,e,r){e.snippetText=t("./diff.snippets"),e.scope="diff"}),function(){ace.require(["ace/snippets/diff"],function(t){n&&(n.exports=t)})}()})(o);var s=o.exports;const d=f(s),c=a({__proto__:null,default:d},[s]);export{c as d};

+ 109 - 0
frontend/dist/assets/django-387e4c8b.js

@@ -0,0 +1,109 @@
+import{g as d}from"./index-fe76da25.js";function r(l,o){for(var t=0;t<o.length;t++){const e=o[t];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in l)){const i=Object.getOwnPropertyDescriptor(e,n);i&&Object.defineProperty(l,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(l,o){ace.define("ace/snippets/django.snippets",["require","exports","module"],function(t,e,n){n.exports=`# Model Fields
+
+# Note: Optional arguments are using defaults that match what Django will use
+# as a default, e.g. with max_length fields.  Doing this as a form of self
+# documentation and to make it easy to know whether you should override the
+# default or not.
+
+# Note: Optional arguments that are booleans will use the opposite since you
+# can either not specify them, or override them, e.g. auto_now_add=False.
+
+snippet auto
+	\${1:FIELDNAME} = models.AutoField(\${2})
+snippet bool
+	\${1:FIELDNAME} = models.BooleanField(\${2:default=True})
+snippet char
+	\${1:FIELDNAME} = models.CharField(max_length=\${2}\${3:, blank=True})
+snippet comma
+	\${1:FIELDNAME} = models.CommaSeparatedIntegerField(max_length=\${2}\${3:, blank=True})
+snippet date
+	\${1:FIELDNAME} = models.DateField(\${2:auto_now_add=True, auto_now=True}\${3:, blank=True, null=True})
+snippet datetime
+	\${1:FIELDNAME} = models.DateTimeField(\${2:auto_now_add=True, auto_now=True}\${3:, blank=True, null=True})
+snippet decimal
+	\${1:FIELDNAME} = models.DecimalField(max_digits=\${2}, decimal_places=\${3})
+snippet email
+	\${1:FIELDNAME} = models.EmailField(max_length=\${2:75}\${3:, blank=True})
+snippet file
+	\${1:FIELDNAME} = models.FileField(upload_to=\${2:path/for/upload}\${3:, max_length=100})
+snippet filepath
+	\${1:FIELDNAME} = models.FilePathField(path=\${2:"/abs/path/to/dir"}\${3:, max_length=100}\${4:, match="*.ext"}\${5:, recursive=True}\${6:, blank=True, })
+snippet float
+	\${1:FIELDNAME} = models.FloatField(\${2})
+snippet image
+	\${1:FIELDNAME} = models.ImageField(upload_to=\${2:path/for/upload}\${3:, height_field=height, width_field=width}\${4:, max_length=100})
+snippet int
+	\${1:FIELDNAME} = models.IntegerField(\${2})
+snippet ip
+	\${1:FIELDNAME} = models.IPAddressField(\${2})
+snippet nullbool
+	\${1:FIELDNAME} = models.NullBooleanField(\${2})
+snippet posint
+	\${1:FIELDNAME} = models.PositiveIntegerField(\${2})
+snippet possmallint
+	\${1:FIELDNAME} = models.PositiveSmallIntegerField(\${2})
+snippet slug
+	\${1:FIELDNAME} = models.SlugField(max_length=\${2:50}\${3:, blank=True})
+snippet smallint
+	\${1:FIELDNAME} = models.SmallIntegerField(\${2})
+snippet text
+	\${1:FIELDNAME} = models.TextField(\${2:blank=True})
+snippet time
+	\${1:FIELDNAME} = models.TimeField(\${2:auto_now_add=True, auto_now=True}\${3:, blank=True, null=True})
+snippet url
+	\${1:FIELDNAME} = models.URLField(\${2:verify_exists=False}\${3:, max_length=200}\${4:, blank=True})
+snippet xml
+	\${1:FIELDNAME} = models.XMLField(schema_path=\${2:None}\${3:, blank=True})
+# Relational Fields
+snippet fk
+	\${1:FIELDNAME} = models.ForeignKey(\${2:OtherModel}\${3:, related_name=''}\${4:, limit_choices_to=}\${5:, to_field=''})
+snippet m2m
+	\${1:FIELDNAME} = models.ManyToManyField(\${2:OtherModel}\${3:, related_name=''}\${4:, limit_choices_to=}\${5:, symmetrical=False}\${6:, through=''}\${7:, db_table=''})
+snippet o2o
+	\${1:FIELDNAME} = models.OneToOneField(\${2:OtherModel}\${3:, parent_link=True}\${4:, related_name=''}\${5:, limit_choices_to=}\${6:, to_field=''})
+
+# Code Skeletons
+
+snippet form
+	class \${1:FormName}(forms.Form):
+		"""\${2:docstring}"""
+		\${3}
+
+snippet model
+	class \${1:ModelName}(models.Model):
+		"""\${2:docstring}"""
+		\${3}
+		
+		class Meta:
+			\${4}
+		
+		def __unicode__(self):
+			\${5}
+		
+		def save(self, force_insert=False, force_update=False):
+			\${6}
+		
+		@models.permalink
+		def get_absolute_url(self):
+			return ('\${7:view_or_url_name}' \${8})
+
+snippet modeladmin
+	class \${1:ModelName}Admin(admin.ModelAdmin):
+		\${2}
+	
+	admin.site.register($1, $1Admin)
+	
+snippet tabularinline
+	class \${1:ModelName}Inline(admin.TabularInline):
+		model = $1
+
+snippet stackedinline
+	class \${1:ModelName}Inline(admin.StackedInline):
+		model = $1
+
+snippet r2r
+	return render_to_response('\${1:template.html}', {
+			\${2}
+		}\${3:, context_instance=RequestContext(request)}
+	)
+`}),ace.define("ace/snippets/django",["require","exports","module","ace/snippets/django.snippets"],function(t,e,n){e.snippetText=t("./django.snippets"),e.scope="django"}),function(){ace.require(["ace/snippets/django"],function(t){l&&(l.exports=t)})}()})(a);var s=a.exports;const p=d(s),$=r({__proto__:null,default:p},[s]);export{$ as d};

+ 1 - 0
frontend/dist/assets/dockerfile-05338f5c.js

@@ -0,0 +1 @@
+import{g as s}from"./index-fe76da25.js";function a(e,f){for(var r=0;r<f.length;r++){const t=f[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(t,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(e,f){(function(){ace.require(["ace/snippets/dockerfile"],function(r){e&&(e.exports=r)})})()})(c);var i=c.exports;const p=s(i),u=a({__proto__:null,default:p},[i]);export{u as d};

+ 1 - 0
frontend/dist/assets/dot-0809201e.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(t,n){for(var e=0;e<n.length;e++){const r=n[e];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(t,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(t,n){(function(){ace.require(["ace/snippets/dot"],function(e){t&&(t.exports=e)})})()})(f);var a=f.exports;const p=c(a),d=i({__proto__:null,default:p},[a]);export{d};

+ 20 - 0
frontend/dist/assets/drools-a8b4e7f7.js

@@ -0,0 +1,20 @@
+import{g as a}from"./index-fe76da25.js";function u(r,o){for(var t=0;t<o.length;t++){const e=o[t];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in r)){const s=Object.getOwnPropertyDescriptor(e,n);s&&Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var p={exports:{}};(function(r,o){ace.define("ace/snippets/drools.snippets",["require","exports","module"],function(t,e,n){n.exports=`
+snippet rule
+	rule "\${1?:rule_name}"
+	when
+		\${2:// when...} 
+	then
+		\${3:// then...}
+	end
+
+snippet query
+	query \${1?:query_name}
+		\${2:// find} 
+	end
+	
+snippet declare
+	declare \${1?:type_name}
+		\${2:// attributes} 
+	end
+
+`}),ace.define("ace/snippets/drools",["require","exports","module","ace/snippets/drools.snippets"],function(t,e,n){e.snippetText=t("./drools.snippets"),e.scope="drools"}),function(){ace.require(["ace/snippets/drools"],function(t){r&&(r.exports=t)})}()})(p);var i=p.exports;const c=a(i),l=u({__proto__:null,default:c},[i]);export{l as d};

+ 241 - 0
frontend/dist/assets/edifact-2acf4839.js

@@ -0,0 +1,241 @@
+import{g as $}from"./index-fe76da25.js";function o(p,i){for(var t=0;t<i.length;t++){const n=i[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in p)){const s=Object.getOwnPropertyDescriptor(n,e);s&&Object.defineProperty(p,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(p,i){ace.define("ace/snippets/edifact.snippets",["require","exports","module"],function(t,n,e){e.exports=`## Access Modifiers
+snippet u
+	UN
+snippet un
+	UNB
+snippet pr
+	private
+##
+## Annotations
+snippet before
+	@Before
+	static void \${1:intercept}(\${2:args}) { \${3} }
+snippet mm
+	@ManyToMany
+	\${1}
+snippet mo
+	@ManyToOne
+	\${1}
+snippet om
+	@OneToMany\${1:(cascade=CascadeType.ALL)}
+	\${2}
+snippet oo
+	@OneToOne
+	\${1}
+##
+## Basic Java packages and import
+snippet im
+	import
+snippet j.b
+	java.beans.
+snippet j.i
+	java.io.
+snippet j.m
+	java.math.
+snippet j.n
+	java.net.
+snippet j.u
+	java.util.
+##
+## Class
+snippet cl
+	class \${1:\`Filename("", "untitled")\`} \${2}
+snippet in
+	interface \${1:\`Filename("", "untitled")\`} \${2:extends Parent}\${3}
+snippet tc
+	public class \${1:\`Filename()\`} extends \${2:TestCase}
+##
+## Class Enhancements
+snippet ext
+	extends 
+snippet imp
+	implements
+##
+## Comments
+snippet /*
+	/*
+	 * \${1}
+	 */
+##
+## Constants
+snippet co
+	static public final \${1:String} \${2:var} = \${3};\${4}
+snippet cos
+	static public final String \${1:var} = "\${2}";\${3}
+##
+## Control Statements
+snippet case
+	case \${1}:
+		\${2}
+snippet def
+	default:
+		\${2}
+snippet el
+	else
+snippet elif
+	else if (\${1}) \${2}
+snippet if
+	if (\${1}) \${2}
+snippet sw
+	switch (\${1}) {
+		\${2}
+	}
+##
+## Create a Method
+snippet m
+	\${1:void} \${2:method}(\${3}) \${4:throws }\${5}
+##
+## Create a Variable
+snippet v
+	\${1:String} \${2:var}\${3: = null}\${4};\${5}
+##
+## Enhancements to Methods, variables, classes, etc.
+snippet ab
+	abstract
+snippet fi
+	final
+snippet st
+	static
+snippet sy
+	synchronized
+##
+## Error Methods
+snippet err
+	System.err.print("\${1:Message}");
+snippet errf
+	System.err.printf("\${1:Message}", \${2:exception});
+snippet errln
+	System.err.println("\${1:Message}");
+##
+## Exception Handling
+snippet as
+	assert \${1:test} : "\${2:Failure message}";\${3}
+snippet ca
+	catch(\${1:Exception} \${2:e}) \${3}
+snippet thr
+	throw
+snippet ths
+	throws
+snippet try
+	try {
+		\${3}
+	} catch(\${1:Exception} \${2:e}) {
+	}
+snippet tryf
+	try {
+		\${3}
+	} catch(\${1:Exception} \${2:e}) {
+	} finally {
+	}
+##
+## Find Methods
+snippet findall
+	List<\${1:listName}> \${2:items} = \${1}.findAll();\${3}
+snippet findbyid
+	\${1:var} \${2:item} = \${1}.findById(\${3});\${4}
+##
+## Javadocs
+snippet /**
+	/**
+	 * \${1}
+	 */
+snippet @au
+	@author \`system("grep \\\`id -un\\\` /etc/passwd | cut -d \\":\\" -f5 | cut -d \\",\\" -f1")\`
+snippet @br
+	@brief \${1:Description}
+snippet @fi
+	@file \${1:\`Filename()\`}.java
+snippet @pa
+	@param \${1:param}
+snippet @re
+	@return \${1:param}
+##
+## Logger Methods
+snippet debug
+	Logger.debug(\${1:param});\${2}
+snippet error
+	Logger.error(\${1:param});\${2}
+snippet info
+	Logger.info(\${1:param});\${2}
+snippet warn
+	Logger.warn(\${1:param});\${2}
+##
+## Loops
+snippet enfor
+	for (\${1} : \${2}) \${3}
+snippet for
+	for (\${1}; \${2}; \${3}) \${4}
+snippet wh
+	while (\${1}) \${2}
+##
+## Main method
+snippet main
+	public static void main (String[] args) {
+		\${1:/* code */}
+	}
+##
+## Print Methods
+snippet print
+	System.out.print("\${1:Message}");
+snippet printf
+	System.out.printf("\${1:Message}", \${2:args});
+snippet println
+	System.out.println(\${1});
+##
+## Render Methods
+snippet ren
+	render(\${1:param});\${2}
+snippet rena
+	renderArgs.put("\${1}", \${2});\${3}
+snippet renb
+	renderBinary(\${1:param});\${2}
+snippet renj
+	renderJSON(\${1:param});\${2}
+snippet renx
+	renderXml(\${1:param});\${2}
+##
+## Setter and Getter Methods
+snippet set
+	\${1:public} void set\${3:}(\${2:String} \${4:}){
+		this.$4 = $4;
+	}
+snippet get
+	\${1:public} \${2:String} get\${3:}(){
+		return this.\${4:};
+	}
+##
+## Terminate Methods or Loops
+snippet re
+	return
+snippet br
+	break;
+##
+## Test Methods
+snippet t
+	public void test\${1:Name}() throws Exception {
+		\${2}
+	}
+snippet test
+	@Test
+	public void test\${1:Name}() throws Exception {
+		\${2}
+	}
+##
+## Utils
+snippet Sc
+	Scanner
+##
+## Miscellaneous
+snippet action
+	public static void \${1:index}(\${2:args}) { \${3} }
+snippet rnf
+	notFound(\${1:param});\${2}
+snippet rnfin
+	notFoundIfNull(\${1:param});\${2}
+snippet rr
+	redirect(\${1:param});\${2}
+snippet ru
+	unauthorized(\${1:param});\${2}
+snippet unless
+	(unless=\${1:param});\${2}
+`}),ace.define("ace/snippets/edifact",["require","exports","module","ace/snippets/edifact.snippets"],function(t,n,e){n.snippetText=t("./edifact.snippets"),n.scope="edifact"}),function(){ace.require(["ace/snippets/edifact"],function(t){p&&(p.exports=t)})}()})(r);var a=r.exports;const c=$(a),l=o({__proto__:null,default:c},[a]);export{l as e};

+ 1 - 0
frontend/dist/assets/eiffel-0ca3c854.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,f){for(var t=0;t<f.length;t++){const r=f[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var i={exports:{}};(function(e,f){(function(){ace.require(["ace/snippets/eiffel"],function(t){e&&(e.exports=t)})})()})(i);var s=i.exports;const p=a(s),u=c({__proto__:null,default:p},[s]);export{u as e};

+ 1 - 0
frontend/dist/assets/ejs-c80fd70b.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,s){for(var t=0;t<s.length;t++){const r=s[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/ejs"],function(t){e&&(e.exports=t)})})()})(f);var a=f.exports;const p=c(a),g=i({__proto__:null,default:p},[a]);export{g as e};

+ 1 - 0
frontend/dist/assets/elixir-95ab601e.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,i){for(var r=0;r<i.length;r++){const t=i[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(t,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,i){(function(){ace.require(["ace/snippets/elixir"],function(r){e&&(e.exports=r)})})()})(s);var f=s.exports;const p=a(f),u=c({__proto__:null,default:p},[f]);export{u as e};

+ 1 - 0
frontend/dist/assets/elm-45b2c9e1.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/elm"],function(t){e&&(e.exports=t)})})()})(f);var a=f.exports;const p=c(a),u=i({__proto__:null,default:p},[a]);export{u as e};

+ 161 - 0
frontend/dist/assets/erlang-1cbe6f51.js

@@ -0,0 +1,161 @@
+import{g as p}from"./index-fe76da25.js";function c(r,o){for(var t=0;t<o.length;t++){const n=o[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in r)){const i=Object.getOwnPropertyDescriptor(n,e);i&&Object.defineProperty(r,e,i.get?i:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(r,o){ace.define("ace/snippets/erlang.snippets",["require","exports","module"],function(t,n,e){e.exports=`# module and export all
+snippet mod
+	-module(\${1:\`Filename('', 'my')\`}).
+	
+	-compile([export_all]).
+	
+	start() ->
+	    \${2}
+	
+	stop() ->
+	    ok.
+# define directive
+snippet def
+	-define(\${1:macro}, \${2:body}).\${3}
+# export directive
+snippet exp
+	-export([\${1:function}/\${2:arity}]).
+# include directive
+snippet inc
+	-include("\${1:file}").\${2}
+# behavior directive
+snippet beh
+	-behaviour(\${1:behaviour}).\${2}
+# if expression
+snippet if
+	if
+	    \${1:guard} ->
+	        \${2:body}
+	end
+# case expression
+snippet case
+	case \${1:expression} of
+	    \${2:pattern} ->
+	        \${3:body};
+	end
+# anonymous function
+snippet fun
+	fun (\${1:Parameters}) -> \${2:body} end\${3}
+# try...catch
+snippet try
+	try
+	    \${1}
+	catch
+	    \${2:_:_} -> \${3:got_some_exception}
+	end
+# record directive
+snippet rec
+	-record(\${1:record}, {
+	    \${2:field}=\${3:value}}).\${4}
+# todo comment
+snippet todo
+	%% TODO: \${1}
+## Snippets below (starting with '%') are in EDoc format.
+## See http://www.erlang.org/doc/apps/edoc/chapter.html#id56887 for more details
+# doc comment
+snippet %d
+	%% @doc \${1}
+# end of doc comment
+snippet %e
+	%% @end
+# specification comment
+snippet %s
+	%% @spec \${1}
+# private function marker
+snippet %p
+	%% @private
+# OTP application
+snippet application
+	-module(\${1:\`Filename('', 'my')\`}).
+
+	-behaviour(application).
+
+	-export([start/2, stop/1]).
+
+	start(_Type, _StartArgs) ->
+	    case \${2:root_supervisor}:start_link() of
+	        {ok, Pid} ->
+	            {ok, Pid};
+	        Other ->
+		          {error, Other}
+	    end.
+
+	stop(_State) ->
+	    ok.	
+# OTP supervisor
+snippet supervisor
+	-module(\${1:\`Filename('', 'my')\`}).
+
+	-behaviour(supervisor).
+
+	%% API
+	-export([start_link/0]).
+
+	%% Supervisor callbacks
+	-export([init/1]).
+
+	-define(SERVER, ?MODULE).
+
+	start_link() ->
+	    supervisor:start_link({local, ?SERVER}, ?MODULE, []).
+
+	init([]) ->
+	    Server = {\${2:my_server}, {$2, start_link, []},
+	      permanent, 2000, worker, [$2]},
+	    Children = [Server],
+	    RestartStrategy = {one_for_one, 0, 1},
+	    {ok, {RestartStrategy, Children}}.
+# OTP gen_server
+snippet gen_server
+	-module(\${1:\`Filename('', 'my')\`}).
+
+	-behaviour(gen_server).
+
+	%% API
+	-export([
+	         start_link/0
+	        ]).
+
+	%% gen_server callbacks
+	-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
+	         terminate/2, code_change/3]).
+
+	-define(SERVER, ?MODULE).
+
+	-record(state, {}).
+
+	%%%===================================================================
+	%%% API
+	%%%===================================================================
+
+	start_link() ->
+	    gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
+
+	%%%===================================================================
+	%%% gen_server callbacks
+	%%%===================================================================
+
+	init([]) ->
+	    {ok, #state{}}.
+
+	handle_call(_Request, _From, State) ->
+	    Reply = ok,
+	    {reply, Reply, State}.
+
+	handle_cast(_Msg, State) ->
+	    {noreply, State}.
+
+	handle_info(_Info, State) ->
+	    {noreply, State}.
+
+	terminate(_Reason, _State) ->
+	    ok.
+
+	code_change(_OldVsn, State, _Extra) ->
+	    {ok, State}.
+
+	%%%===================================================================
+	%%% Internal functions
+	%%%===================================================================
+
+`}),ace.define("ace/snippets/erlang",["require","exports","module","ace/snippets/erlang.snippets"],function(t,n,e){n.snippetText=t("./erlang.snippets"),n.scope="erlang"}),function(){ace.require(["ace/snippets/erlang"],function(t){r&&(r.exports=t)})}()})(a);var s=a.exports;const l=p(s),u=c({__proto__:null,default:l},[s]);export{u as e};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
frontend/dist/assets/ext-beautify-3316ac92.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-code_lens-7146a642.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-command_bar-5179b8c2.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-elastic_tabstops_lite-390aadf1.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
frontend/dist/assets/ext-emmet-be66e1b6.js


+ 1 - 0
frontend/dist/assets/ext-error_marker-de80b766.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(r,a){for(var e=0;e<a.length;e++){const t=a[e];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in r)){const n=Object.getOwnPropertyDescriptor(t,o);n&&Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(r,a){(function(){ace.require(["ace/ext/error_marker"],function(e){r&&(r.exports=e)})})()})(f);var s=f.exports;const p=c(s),x=i({__proto__:null,default:p},[s]);export{x as e};

+ 2 - 0
frontend/dist/assets/ext-hardwrap-4fe6a8e5.js

@@ -0,0 +1,2 @@
+import{g as k}from"./index-fe76da25.js";function z(p,M){for(var t=0;t<M.length;t++){const l=M[t];if(typeof l!="string"&&!Array.isArray(l)){for(const d in l)if(d!=="default"&&!(d in p)){const c=Object.getOwnPropertyDescriptor(l,d);c&&Object.defineProperty(p,d,c.get?c:{enumerable:!0,get:()=>l[d]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var m={exports:{}};(function(p,M){ace.define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"],function(t,l,d){var c=t("../range").Range;function S(n,e){for(var o=e.column||n.getOption("printMarginColumn"),R=e.allowMerge!=!1,r=Math.min(e.startRow,e.endRow),w=Math.max(e.startRow,e.endRow),v=n.session;r<=w;){var g=v.getLine(r);if(g.length>o){var u=j(g,o,5);if(u){var D=/^\s*/.exec(g)[0];v.replace(new c(r,u.start,r,u.end),`
+`+D)}w++}else if(R&&/\S/.test(g)&&r!=w){var x=v.getLine(r+1);if(x&&/\S/.test(x)){var h=g.replace(/\s+$/,""),O=x.replace(/^\s+/,""),E=h+" "+O,u=j(E,o,5);if(u&&u.start>h.length||E.length<o){var H=new c(r,h.length,r+1,x.length-O.length);v.replace(H," "),r--,w--}else h.length<g.length&&v.remove(new c(r,h.length,r,g.length))}}r++}function j($,s,C){if(!($.length<s)){var P=$.slice(0,s),W=$.slice(s),i=/^(?:(\s+)|(\S+)(\s+))/.exec(W),a=/(?:(\s+)|(\s+)(\S+))$/.exec(P),f=0,y=0;if(a&&!a[2]&&(f=s-a[1].length,y=s),i&&!i[2]&&(f||(f=s),y=s+i[1].length),f)return{start:f,end:y};if(a&&a[2]&&a.index>C)return{start:a.index,end:a.index+a[2].length};if(i&&i[2])return f=s+i[2].length,{start:f,end:f+i[3].length}}}}function b(n){if(n.command.name=="insertstring"&&/\S/.test(n.args)){var e=n.editor,o=e.selection.cursor;if(o.column<=e.renderer.$printMarginColumn)return;var R=e.session.$undoManager.$lastDelta;S(e,{startRow:o.row,endRow:o.row,allowMerge:!1}),R!=e.session.$undoManager.$lastDelta&&e.session.markUndoGroup()}}var A=t("../editor").Editor;t("../config").defineOptions(A.prototype,"editor",{hardWrap:{set:function(n){n?this.commands.on("afterExec",b):this.commands.off("afterExec",b)},value:!1}}),l.hardWrap=S}),function(){ace.require(["ace/ext/hardwrap"],function(t){p&&(p.exports=t)})}()})(m);var _=m.exports;const B=k(_),G=z({__proto__:null,default:B},[_]);export{G as e};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
frontend/dist/assets/ext-inline_autocomplete-d52f38d1.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 63 - 0
frontend/dist/assets/ext-keybinding_menu-86bcfaef.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
frontend/dist/assets/ext-language_tools-4c4b83f9.js


+ 1 - 0
frontend/dist/assets/ext-linking-a29f2534.js

@@ -0,0 +1 @@
+import{g as d}from"./index-fe76da25.js";function L(n,u){for(var t=0;t<u.length;t++){const e=u[t];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in n)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var k={exports:{}};(function(n,u){ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"],function(t,e,r){var a=t("../editor").Editor;t("../config").defineOptions(a.prototype,"editor",{enableLinking:{set:function(i){i?(this.on("click",g),this.on("mousemove",l)):(this.off("click",g),this.off("mousemove",l))},value:!1}}),e.previousLinkingHover=!1;function l(i){var o=i.editor,v=i.getAccelKey();if(v){var o=i.editor,s=i.getDocumentPosition(),c=o.session,f=c.getTokenAt(s.row,s.column);e.previousLinkingHover&&e.previousLinkingHover!=f&&o._emit("linkHoverOut"),o._emit("linkHover",{position:s,token:f}),e.previousLinkingHover=f}else e.previousLinkingHover&&(o._emit("linkHoverOut"),e.previousLinkingHover=!1)}function g(i){var o=i.getAccelKey(),v=i.getButton();if(v==0&&o){var s=i.editor,c=i.getDocumentPosition(),f=s.session,m=f.getTokenAt(c.row,c.column);s._emit("linkClick",{position:c,token:m})}}}),function(){ace.require(["ace/ext/linking"],function(t){n&&(n.exports=t)})}()})(k);var p=k.exports;const y=d(p),H=L({__proto__:null,default:y},[p]);export{H as e};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-modelist-e9d53ed6.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 63 - 0
frontend/dist/assets/ext-options-4f1ac3d7.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-prompt-d92afddd.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-rtl-b1ef0e34.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 161 - 0
frontend/dist/assets/ext-searchbox-5a0a653a.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 63 - 0
frontend/dist/assets/ext-settings_menu-6833ce4b.js


+ 1 - 0
frontend/dist/assets/ext-spellcheck-c11c7ee6.js

@@ -0,0 +1 @@
+import{g as y}from"./index-fe76da25.js";function E(i,p){for(var n=0;n<p.length;n++){const r=p[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in i)){const c=Object.getOwnPropertyDescriptor(r,s);c&&Object.defineProperty(i,s,c.get?c:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var h={exports:{}};(function(i,p){ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(n,r,s){var c=n("../lib/event");r.contextMenuHandler=function(f){var e=f.target,o=e.textInput.getElement();if(e.selection.isEmpty()){var d=e.getCursorPosition(),g=e.session.getWordRange(d.row,d.column),u=e.session.getTextRange(g);if(e.session.tokenRe.lastIndex=0,!!e.session.tokenRe.test(u)){var x="",l=u+" "+x;o.value=l,o.setSelectionRange(u.length,u.length+1),o.setSelectionRange(0,0),o.setSelectionRange(0,u.length);var v=!1;c.addListener(o,"keydown",function t(){c.removeListener(o,"keydown",t),v=!0}),e.textInput.setInputHandler(function(t){if(t==l)return"";if(t.lastIndexOf(l,0)===0)return t.slice(l.length);if(t.substr(o.selectionEnd)==l)return t.slice(0,-l.length);if(t.slice(-2)==x){var a=t.slice(0,-2);if(a.slice(-1)==" ")return v?a.substring(0,o.selectionEnd):(a=a.slice(0,-1),e.session.replace(g,a),"")}return t})}}};var k=n("../editor").Editor;n("../config").defineOptions(k.prototype,"editor",{spellcheck:{set:function(f){var e=this.textInput.getElement();e.spellcheck=!!f,f?this.on("nativecontextmenu",r.contextMenuHandler):this.removeListener("nativecontextmenu",r.contextMenuHandler)},value:!0}})}),function(){ace.require(["ace/ext/spellcheck"],function(n){i&&(i.exports=n)})}()})(h);var m=h.exports;const b=y(m),O=E({__proto__:null,default:b},[m]);export{O as e};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 39 - 0
frontend/dist/assets/ext-static_highlight-259fa63c.js


+ 1 - 0
frontend/dist/assets/ext-statusbar-d6919dd2.js

@@ -0,0 +1 @@
+import{g as S}from"./index-fe76da25.js";function v(r,l){for(var a=0;a<l.length;a++){const n=l[a];if(typeof n!="string"&&!Array.isArray(n)){for(const s in n)if(s!=="default"&&!(s in r)){const o=Object.getOwnPropertyDescriptor(n,s);o&&Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>n[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var m={exports:{}};(function(r,l){ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(a,n,s){var o=a("../lib/dom"),b=a("../lib/lang"),x=function(){function f(t,i){this.element=o.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",i.appendChild(this.element);var e=b.delayedCall(function(){this.updateStatus(t)}.bind(this)).schedule.bind(null,100);t.on("changeStatus",e),t.on("changeSelection",e),t.on("keyboardActivity",e)}return f.prototype.updateStatus=function(t){var i=[];function e(d,y){d&&i.push(d,y||"|")}e(t.keyBinding.getStatusText(t)),t.commands.recording&&e("REC");var u=t.selection,p=u.lead;if(!u.isEmpty()){var c=t.getSelectionRange();e("("+(c.end.row-c.start.row)+":"+(c.end.column-c.start.column)+")"," ")}e(p.row+":"+p.column," "),u.rangeCount&&e("["+u.rangeCount+"]"," "),i.pop(),this.element.textContent=i.join("")},f}();n.StatusBar=x}),function(){ace.require(["ace/ext/statusbar"],function(a){r&&(r.exports=a)})}()})(m);var g=m.exports;const h=S(g),j=v({__proto__:null,default:h},[g]);export{j as e};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-textarea-9b50de2b.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-themelist-8424eecf.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/ext-whitespace-b20fb25d.js


+ 1 - 0
frontend/dist/assets/forth-eb377826.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(t,f){for(var e=0;e<f.length;e++){const r=f[e];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(t,f){(function(){ace.require(["ace/snippets/forth"],function(e){t&&(t.exports=e)})})()})(s);var a=s.exports;const p=c(a),g=i({__proto__:null,default:p},[a]);export{g as f};

+ 1 - 0
frontend/dist/assets/fortran-366203ab.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(r,n){for(var t=0;t<n.length;t++){const e=n[t];if(typeof e!="string"&&!Array.isArray(e)){for(const o in e)if(o!=="default"&&!(o in r)){const f=Object.getOwnPropertyDescriptor(e,o);f&&Object.defineProperty(r,o,f.get?f:{enumerable:!0,get:()=>e[o]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(r,n){(function(){ace.require(["ace/snippets/fortran"],function(t){r&&(r.exports=t)})})()})(a);var s=a.exports;const p=c(s),g=i({__proto__:null,default:p},[s]);export{g as f};

+ 1 - 0
frontend/dist/assets/fsharp-b6af93af.js

@@ -0,0 +1 @@
+import{g as p}from"./index-fe76da25.js";function c(e,s){for(var r=0;r<s.length;r++){const t=s[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const f=Object.getOwnPropertyDescriptor(t,o);f&&Object.defineProperty(e,o,f.get?f:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var n={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/fsharp"],function(r){e&&(e.exports=r)})})()})(n);var a=n.exports;const i=p(a),g=c({__proto__:null,default:i},[a]);export{g as f};

+ 10 - 0
frontend/dist/assets/fsl-d6bc7509.js

@@ -0,0 +1,10 @@
+import{g as a}from"./index-fe76da25.js";function f(s,r){for(var t=0;t<r.length;t++){const e=r[t];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in s)){const o=Object.getOwnPropertyDescriptor(e,n);o&&Object.defineProperty(s,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var i={exports:{}};(function(s,r){ace.define("ace/snippets/fsl.snippets",["require","exports","module"],function(t,e,n){n.exports=`snippet header
+	machine_name     : "";
+	machine_author   : "";
+	machine_license  : MIT;
+	machine_comment  : "";
+	machine_language : en;
+	machine_version  : 1.0.0;
+	fsl_version      : 1.0.0;
+	start_states     : [];
+`}),ace.define("ace/snippets/fsl",["require","exports","module","ace/snippets/fsl.snippets"],function(t,e,n){e.snippetText=t("./fsl.snippets"),e.scope="fsl"}),function(){ace.require(["ace/snippets/fsl"],function(t){s&&(s.exports=t)})}()})(i);var p=i.exports;const c=a(p),u=f({__proto__:null,default:c},[p]);export{u as f};

+ 1 - 0
frontend/dist/assets/ftl-059b5e6c.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(t,f){for(var e=0;e<f.length;e++){const r=f[e];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(t,f){(function(){ace.require(["ace/snippets/ftl"],function(e){t&&(t.exports=e)})})()})(s);var a=s.exports;const p=c(a),u=i({__proto__:null,default:p},[a]);export{u as f};

+ 1 - 0
frontend/dist/assets/gcode-d8f0c3dd.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const c=Object.getOwnPropertyDescriptor(r,o);c&&Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/gcode"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=a(f),u=i({__proto__:null,default:p},[f]);export{u as g};

+ 1 - 0
frontend/dist/assets/gherkin-df16baa5.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,n){for(var r=0;r<n.length;r++){const t=n[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(t,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/gherkin"],function(r){e&&(e.exports=r)})})()})(s);var f=s.exports;const p=a(f),u=c({__proto__:null,default:p},[f]);export{u as g};

+ 1 - 0
frontend/dist/assets/gitignore-80c71bbf.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function a(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(r,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/gitignore"],function(t){e&&(e.exports=t)})})()})(g);var s=g.exports;const c=f(s),u=a({__proto__:null,default:c},[s]);export{u as g};

+ 1 - 0
frontend/dist/assets/glsl-d0213cec.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,s){for(var t=0;t<s.length;t++){const r=s[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var l={exports:{}};(function(e,s){(function(){ace.require(["ace/snippets/glsl"],function(t){e&&(e.exports=t)})})()})(l);var f=l.exports;const i=a(f),g=c({__proto__:null,default:i},[f]);export{g};

+ 1705 - 0
frontend/dist/assets/gobstones-9f470c90.js

@@ -0,0 +1,1705 @@
+import{g as o}from"./index-fe76da25.js";function F(p,e){for(var n=0;n<e.length;n++){const _=e[n];if(typeof _!="string"&&!Array.isArray(_)){for(const T in _)if(T!=="default"&&!(T in p)){const t=Object.getOwnPropertyDescriptor(_,T);t&&Object.defineProperty(p,T,t.get?t:{enumerable:!0,get:()=>_[T]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var K={exports:{}};(function(p,e){ace.define("ace/snippets/gobstones.snippets",["require","exports","module"],function(n,_,T){T.exports=`# scope: gobstones
+
+# program
+snippet program
+	program {
+		\${1:// cuerpo...}
+	}
+
+# interactive program
+snippet interactive program
+	interactive program {
+		\${1:INIT} -> { \${2:// cuerpo...} }
+		\${3:TIMEOUT(\${4:5000}) -> { \${5:// cuerpo...} }
+		\${6:K_ENTER} -> { \${7:// cuerpo...} }
+		_ -> {}
+	}
+
+# procedure
+snippet procedure
+	procedure \${1:Nombre}(\${2:parametros}) {
+		\${3:// cuerpo...}
+	}
+
+# function
+snippet function
+	function \${1:nombre}(\${2:parametros}) {
+		return (\${3:expresión..})
+	}
+
+# return
+snippet return
+	return (\${1:expresión...})
+
+# type
+snippet type
+	type \${1:Nombre}
+
+# is variant
+snippet is variant
+	is variant {
+		case \${1:NombreDelValor1} {}
+		case \${2:NombreDelValor2} {}
+		case \${3:NombreDelValor3} {}
+		case \${4:NombreDelValor4} {}
+	}
+
+# is record
+snippet is record
+	is record {
+		field \${1:campo1} // \${2:Tipo}
+		field \${3:campo2} // \${4:Tipo}
+		field \${5:campo3} // \${6:Tipo}
+		field \${7:campo4} // \${8:Tipo}
+	}
+
+# type _ is variant
+snippet type _ is variant
+	type \${1:Nombre} is variant {
+		case \${2:NombreDelValor1} {}
+		case \${3:NombreDelValor2} {}
+		case \${4:NombreDelValor3} {}
+		case \${5:NombreDelValor4} {}
+	}
+
+# type _ is record
+snippet type _ is record
+	type \${1:Nombre} is record {
+		field \${2:campo1} // \${3:Tipo}
+		field \${4:campo2} // \${5:Tipo}
+		field \${6:campo3} // \${7:Tipo}
+		field \${8:campo4} // \${9:Tipo}
+	}
+
+# repeat
+snippet repeat
+	repeat \${1:cantidad} {
+		\${2:// cuerpo...}
+	}
+
+# foreach
+snippet foreach
+	foreach \${1:índice} in \${2:lista} {
+		\${3:// cuerpo...}
+	}
+
+# while
+snippet while
+	while (\${1?:condición}) {
+		\${2:// cuerpo...}
+	}
+
+# if
+snippet if
+	if (\${1?:condición}) {
+		\${2:// cuerpo...}
+	}
+
+# elseif
+snippet elseif
+	elseif (\${1?:condición}) {
+		\${2:// cuerpo...}
+	}
+
+# else
+snippet else
+	else {
+		\${1:// cuerpo...}
+	}
+
+# if (con else)
+snippet if (con else)
+	if (\${1:condición}) {
+		\${2:// cuerpo...}
+	} else {
+		\${3:// cuerpo....}
+	}
+
+# if (con elseif)
+snippet if (con elseif)
+	if (\${1:condición}) {
+		\${2:// cuerpo...}
+	} elseif (\${3:condición}) {
+		\${4:// cuerpo...}
+	}
+
+# if (con elseif y else)
+snippet if (con elseif y else)
+	if (\${1:condición}) {
+		\${2:// cuerpo...}
+	} elseif (\${3:condición}) {
+		\${4:// cuerpo...}
+	} else {
+		\${5:// cuerpo....}
+	}
+
+# if (con 3 elseif)
+snippet if (con 3 elseif)
+	if (\${1:condición}) {
+		\${2:// cuerpo...}
+	} elseif (\${3:condición}) {
+		\${4:// cuerpo...}
+	} elseif (\${5:condición}) {
+		\${6:// cuerpo...}
+	} elseif (\${7:condición}) {
+		\${8:// cuerpo...}
+	}
+
+# choose (2 valores)
+snippet choose (2 valores)
+	choose
+		\${1:Valor1} when (\${2:condición})
+		\${3:Valor2} otherwise
+
+# choose (2 valores y boom)
+snippet choose (2 valores y boom)
+	choose
+		\${1:Valor1} when (\${2:condición})
+		\${3:Valor2} when (\${4:condición})
+		\${5:Valor3} when (\${6:condición})
+		\${7:Valor4} when (\${8:condición})
+		boom("\${9:No es un valor válido}") otherwise
+
+# matching (4 valores)
+snippet matching (4 valores)
+	matching (\${1:variable}) select
+		\${2:Valor1} on \${3:opción1}
+		\${4:Valor2} on \${5:opción2}
+		\${6:Valor3} on \${7:opción3}
+		\${8:Valor4} on \${9:opción4}
+		boom("\${10:No es un valor válido}") otherwise
+
+# select (4 casos)
+snippet select (4 casos)
+	select
+		\${1:Valor1} on (\${2:opción1})
+		\${3:Valor2} on (\${4:opción2})
+		\${5:Valor3} on (\${6:opción3})
+		\${7:Valor4} on (\${8:opción4})
+		boom("\${9:No es un valor válido}") otherwise
+
+# switch
+snippet switch
+	switch (\${1:variable}) {
+		\${2:Valor1} -> {\${3:// cuerpo...}}
+		\${4:Valor2} -> {\${5:// cuerpo...}}
+		\${6:Valor3} -> {\${7:// cuerpo...}}
+		\${8:Valor4} -> {\${9:// cuerpo...}}
+		_ -> {\${10:// cuerpo...}}
+	}
+
+# Poner
+snippet Poner
+	Poner(\${1:color})
+
+# Sacar
+snippet Sacar
+	Sacar(\${1:color})
+
+# Mover
+snippet Mover
+	Mover(\${1:dirección})
+
+# IrAlBorde
+snippet IrAlBorde
+	IrAlBorde(\${1:dirección})
+
+# VaciarTablero
+snippet VaciarTablero
+	VaciarTablero()
+
+# BOOM
+snippet BOOM
+	BOOM("\${1:Mensaje de error}")
+
+# hayBolitas
+snippet hayBolitas
+	hayBolitas(\${1:color})
+
+# nroBolitas
+snippet nroBolitas
+	nroBolitas(\${1:color})
+
+# puedeMover
+snippet puedeMover
+	puedeMover(\${1:dirección})
+
+# siguiente
+snippet siguiente
+	siguiente(\${1:color|dirección})
+
+# previo
+snippet previo
+	previo(\${1:color|dirección})
+
+# opuesto
+snippet opuesto
+	opuesto(\${1:dirección})
+
+# minDir
+snippet minDir
+	minDir()
+
+# maxDir
+snippet maxDir
+	maxDir()
+
+# minColor
+snippet minColor
+	minDir()
+
+# maxColor
+snippet maxColor
+	maxDir()
+
+# minBool
+snippet minBool
+	minBool()
+
+# maxBool
+snippet maxBool
+	maxBool()
+
+# primero
+snippet primero
+	primero(\${1:lista})
+
+# sinElPrimero
+snippet sinElPrimero
+	sinElPrimero(\${1:lista})
+
+# esVacía
+snippet esVacía
+	esVacía(\${1:lista})
+
+# boom
+snippet boom
+	boom("\${1:Mensaje de error}")
+
+# Azul
+snippet Azul
+	Azul
+
+# Negro
+snippet Negro
+	Negro
+
+# Rojo
+snippet Rojo
+	Rojo
+
+# Verde
+snippet Verde
+	Verde
+
+# Norte
+snippet Norte
+	Norte
+
+# Este
+snippet Este
+	Este
+
+# Sur
+snippet Sur
+	Sur
+
+# Oeste
+snippet Oeste
+	Oeste
+
+# True
+snippet True
+	True
+
+# False
+snippet False
+	False
+
+# INIT
+snippet INIT
+	INIT -> {$1:// cuerpo...}
+
+# TIMEOUT
+snippet TIMEOUT
+	TIMEOUT(\${1:5000}) -> {$2:// cuerpo...}
+
+# K_A
+snippet K_A
+	K_A -> { \${1://cuerpo...} }
+# K_CTRL_A
+snippet K_CTRL_A
+	K_CTRL_A -> { \${1://cuerpo...} }
+# K_ALT_A
+snippet K_ALT_A
+	K_ALT_A -> { \${1://cuerpo...} }
+# K_SHIFT_A
+snippet K_SHIFT_A
+	K_SHIFT_A -> { \${1://cuerpo...} }
+# K_CTRL_ALT_A
+snippet K_CTRL_ALT_A
+	K_CTRL_ALT_A -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_A
+snippet K_CTRL_SHIFT_A
+	K_CTRL_SHIFT_A -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_A
+snippet K_CTRL_ALT_SHIFT_A
+	K_CTRL_ALT_SHIFT_A -> { \${1://cuerpo...} }
+
+# K_B
+snippet K_B
+	K_B -> { \${1://cuerpo...} }
+# K_CTRL_B
+snippet K_CTRL_B
+	K_CTRL_B -> { \${1://cuerpo...} }
+# K_ALT_B
+snippet K_ALT_B
+	K_ALT_B -> { \${1://cuerpo...} }
+# K_SHIFT_B
+snippet K_SHIFT_B
+	K_SHIFT_B -> { \${1://cuerpo...} }
+# K_CTRL_ALT_B
+snippet K_CTRL_ALT_B
+	K_CTRL_ALT_B -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_B
+snippet K_CTRL_SHIFT_B
+	K_CTRL_SHIFT_B -> { \${1://cuerpo...} }
+# K_ALT_SHIFT_C
+snippet K_ALT_SHIFT_C
+	K_ALT_SHIFT_C -> { \${1://cuerpo...} }
+# K_CTRL_BLT_SHIFT_B
+snippet K_CTRL_BLT_SHIFT_B
+	K_CTRL_ALT_SHIFT_B -> { \${1://cuerpo...} }
+
+# K_C
+snippet K_C
+	K_C -> { \${1://cuerpo...} }
+# K_CTRL_C
+snippet K_CTRL_C
+	K_CTRL_C -> { \${1://cuerpo...} }
+# K_ALT_C
+snippet K_ALT_C
+	K_ALT_C -> { \${1://cuerpo...} }
+# K_SHIFT_C
+snippet K_SHIFT_C
+	K_SHIFT_C -> { \${1://cuerpo...} }
+# K_CTRL_ALT_C
+snippet K_CTRL_ALT_C
+	K_CTRL_ALT_C -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_C
+snippet K_CTRL_SHIFT_C
+	K_CTRL_SHIFT_C -> { \${1://cuerpo...} }
+# K_ALT_SHIFT_C
+snippet K_ALT_SHIFT_C
+	K_ALT_SHIFT_C -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_C
+snippet K_CTRL_ALT_SHIFT_C
+	K_CTRL_ALT_SHIFT_C -> { \${1://cuerpo...} }
+
+# K_D
+snippet K_D
+	K_D -> { \${1://cuerpo...} }
+# K_CTRL_D
+snippet K_CTRL_D
+	K_CTRL_D -> { \${1://cuerpo...} }
+# K_ALT_D
+snippet K_ALT_D
+	K_DLT_D -> { \${1://cuerpo...} }
+# K_SHIFT_D
+snippet K_SHIFT_D
+	K_SHIFT_D -> { \${1://cuerpo...} }
+# K_CTRL_ALT_D
+snippet K_CTRL_ALT_D
+	K_CTRL_DLT_D -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_D
+snippet K_CTRL_SHIFT_D
+	K_CTRL_SHIFT_D -> { \${1://cuerpo...} }
+# K_ALT_SHIFT_D
+snippet K_ALT_SHIFT_D
+	K_ALT_SHIFT_D -> { \${1://cuerpo...} }
+# K_CTRL_DLT_SHIFT_D
+snippet K_CTRL_DLT_SHIFT_D
+	K_CTRL_ALT_SHIFT_D -> { \${1://cuerpo...} }
+
+# K_E
+snippet K_E
+	K_E -> { \${1://cuerpo...} }
+# K_CTRL_E
+snippet K_CTRL_E
+	K_CTRL_E -> { \${1://cuerpo...} }
+# K_ALT_E
+snippet K_ALT_E
+	K_ALT_E -> { \${1://cuerpo...} }
+# K_SHIFT_E
+snippet K_SHIFT_E
+	K_SHIFT_E -> { \${1://cuerpo...} }
+# K_CTRL_ALT_E
+snippet K_CTRL_ALT_E
+	K_CTRL_ALT_E -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_E
+snippet K_CTRL_SHIFT_E
+	K_CTRL_SHIFT_E -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_E
+snippet K_CTRL_ALT_SHIFT_E
+	K_CTRL_ALT_SHIFT_E -> { \${1://cuerpo...} }
+
+# K_F
+snippet K_F
+	K_F -> { \${1://cuerpo...} }
+# K_CTRL_F
+snippet K_CTRL_F
+	K_CTRL_F -> { \${1://cuerpo...} }
+# K_ALT_F
+snippet K_ALT_F
+	K_ALT_F -> { \${1://cuerpo...} }
+# K_SHIFT_F
+snippet K_SHIFT_F
+	K_SHIFT_F -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F
+snippet K_CTRL_ALT_F
+	K_CTRL_ALT_F -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F
+snippet K_CTRL_SHIFT_F
+	K_CTRL_SHIFT_F -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F
+snippet K_CTRL_ALT_SHIFT_F
+	K_CTRL_ALT_SHIFT_F -> { \${1://cuerpo...} }
+
+# K_G
+snippet K_G
+	K_G -> { \${1://cuerpo...} }
+# K_CTRL_G
+snippet K_CTRL_G
+	K_CTRL_G -> { \${1://cuerpo...} }
+# K_ALT_G
+snippet K_ALT_G
+	K_ALT_G -> { \${1://cuerpo...} }
+# K_SHIFT_G
+snippet K_SHIFT_G
+	K_SHIFT_G -> { \${1://cuerpo...} }
+# K_CTRL_ALT_G
+snippet K_CTRL_ALT_G
+	K_CTRL_ALT_G -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_G
+snippet K_CTRL_SHIFT_G
+	K_CTRL_SHIFT_G -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_G
+snippet K_CTRL_ALT_SHIFT_G
+	K_CTRL_ALT_SHIFT_G -> { \${1://cuerpo...} }
+
+# K_H
+snippet K_H
+	K_H -> { \${1://cuerpo...} }
+# K_CTRL_H
+snippet K_CTRL_H
+	K_CTRL_H -> { \${1://cuerpo...} }
+# K_ALT_H
+snippet K_ALT_H
+	K_ALT_H -> { \${1://cuerpo...} }
+# K_SHIFT_H
+snippet K_SHIFT_H
+	K_SHIFT_H -> { \${1://cuerpo...} }
+# K_CTRL_ALT_H
+snippet K_CTRL_ALT_H
+	K_CTRL_ALT_H -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_H
+snippet K_CTRL_SHIFT_H
+	K_CTRL_SHIFT_H -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_H
+snippet K_CTRL_ALT_SHIFT_H
+	K_CTRL_ALT_SHIFT_H -> { \${1://cuerpo...} }
+
+# K_I
+snippet K_I
+	K_I -> { \${1://cuerpo...} }
+# K_CTRL_I
+snippet K_CTRL_I
+	K_CTRL_I -> { \${1://cuerpo...} }
+# K_ALT_I
+snippet K_ALT_I
+	K_ALT_I -> { \${1://cuerpo...} }
+# K_SHIFT_I
+snippet K_SHIFT_I
+	K_SHIFT_I -> { \${1://cuerpo...} }
+# K_CTRL_ALT_I
+snippet K_CTRL_ALT_I
+	K_CTRL_ALT_I -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_I
+snippet K_CTRL_SHIFT_I
+	K_CTRL_SHIFT_I -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_I
+snippet K_CTRL_ALT_SHIFT_I
+	K_CTRL_ALT_SHIFT_I -> { \${1://cuerpo...} }
+
+# K_J
+snippet K_J
+	K_J -> { \${1://cuerpo...} }
+# K_CTRL_J
+snippet K_CTRL_J
+	K_CTRL_J -> { \${1://cuerpo...} }
+# K_ALT_J
+snippet K_ALT_J
+	K_ALT_J -> { \${1://cuerpo...} }
+# K_SHIFT_J
+snippet K_SHIFT_J
+	K_SHIFT_J -> { \${1://cuerpo...} }
+# K_CTRL_ALT_J
+snippet K_CTRL_ALT_J
+	K_CTRL_ALT_J -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_J
+snippet K_CTRL_SHIFT_J
+	K_CTRL_SHIFT_J -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_J
+snippet K_CTRL_ALT_SHIFT_J
+	K_CTRL_ALT_SHIFT_J -> { \${1://cuerpo...} }
+
+# K_K
+snippet K_K
+	K_K -> { \${1://cuerpo...} }
+# K_CTRL_K
+snippet K_CTRL_K
+	K_CTRL_K -> { \${1://cuerpo...} }
+# K_ALT_K
+snippet K_ALT_K
+	K_ALT_K -> { \${1://cuerpo...} }
+# K_SHIFT_K
+snippet K_SHIFT_K
+	K_SHIFT_K -> { \${1://cuerpo...} }
+# K_CTRL_ALT_K
+snippet K_CTRL_ALT_K
+	K_CTRL_ALT_K -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_K
+snippet K_CTRL_SHIFT_K
+	K_CTRL_SHIFT_K -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_K
+snippet K_CTRL_ALT_SHIFT_K
+	K_CTRL_ALT_SHIFT_K -> { \${1://cuerpo...} }
+
+# K_L
+snippet K_L
+	K_L -> { \${1://cuerpo...} }
+# K_CTRL_L
+snippet K_CTRL_L
+	K_CTRL_L -> { \${1://cuerpo...} }
+# K_ALT_L
+snippet K_ALT_L
+	K_ALT_L -> { \${1://cuerpo...} }
+# K_SHIFT_L
+snippet K_SHIFT_L
+	K_SHIFT_L -> { \${1://cuerpo...} }
+# K_CTRL_ALT_L
+snippet K_CTRL_ALT_L
+	K_CTRL_ALT_L -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_L
+snippet K_CTRL_SHIFT_L
+	K_CTRL_SHIFT_L -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_L
+snippet K_CTRL_ALT_SHIFT_L
+	K_CTRL_ALT_SHIFT_L -> { \${1://cuerpo...} }
+
+# K_M
+snippet K_M
+	K_M -> { \${1://cuerpo...} }
+# K_CTRL_M
+snippet K_CTRL_M
+	K_CTRL_M -> { \${1://cuerpo...} }
+# K_ALT_M
+snippet K_ALT_M
+	K_ALT_M -> { \${1://cuerpo...} }
+# K_SHIFT_M
+snippet K_SHIFT_M
+	K_SHIFT_M -> { \${1://cuerpo...} }
+# K_CTRL_ALT_M
+snippet K_CTRL_ALT_M
+	K_CTRL_ALT_M -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_M
+snippet K_CTRL_SHIFT_M
+	K_CTRL_SHIFT_M -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_M
+snippet K_CTRL_ALT_SHIFT_M
+	K_CTRL_ALT_SHIFT_M -> { \${1://cuerpo...} }
+
+# K_N
+snippet K_N
+	K_N -> { \${1://cuerpo...} }
+# K_CTRL_N
+snippet K_CTRL_N
+	K_CTRL_N -> { \${1://cuerpo...} }
+# K_ALT_N
+snippet K_ALT_N
+	K_ALT_N -> { \${1://cuerpo...} }
+# K_SHIFT_N
+snippet K_SHIFT_N
+	K_SHIFT_N -> { \${1://cuerpo...} }
+# K_CTRL_ALT_N
+snippet K_CTRL_ALT_N
+	K_CTRL_ALT_N -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_N
+snippet K_CTRL_SHIFT_N
+	K_CTRL_SHIFT_N -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_N
+snippet K_CTRL_ALT_SHIFT_N
+	K_CTRL_ALT_SHIFT_N -> { \${1://cuerpo...} }
+
+# K_Ñ
+snippet K_Ñ
+	K_Ñ -> { \${1://cuerpo...} }
+# K_CTRL_Ñ
+snippet K_CTRL_Ñ
+	K_CTRL_Ñ -> { \${1://cuerpo...} }
+# K_ALT_Ñ
+snippet K_ALT_Ñ
+	K_ALT_Ñ -> { \${1://cuerpo...} }
+# K_SHIFT_Ñ
+snippet K_SHIFT_Ñ
+	K_SHIFT_Ñ -> { \${1://cuerpo...} }
+# K_CTRL_ALT_Ñ
+snippet K_CTRL_ALT_Ñ
+	K_CTRL_ALT_Ñ -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_Ñ
+snippet K_CTRL_SHIFT_Ñ
+	K_CTRL_SHIFT_Ñ -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_Ñ
+snippet K_CTRL_ALT_SHIFT_Ñ
+	K_CTRL_ALT_SHIFT_Ñ -> { \${1://cuerpo...} }
+
+# K_O
+snippet K_O
+	K_O -> { \${1://cuerpo...} }
+# K_CTRL_O
+snippet K_CTRL_O
+	K_CTRL_O -> { \${1://cuerpo...} }
+# K_ALT_O
+snippet K_ALT_O
+	K_ALT_O -> { \${1://cuerpo...} }
+# K_SHIFT_O
+snippet K_SHIFT_O
+	K_SHIFT_O -> { \${1://cuerpo...} }
+# K_CTRL_ALT_O
+snippet K_CTRL_ALT_O
+	K_CTRL_ALT_O -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_O
+snippet K_CTRL_SHIFT_O
+	K_CTRL_SHIFT_O -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_O
+snippet K_CTRL_ALT_SHIFT_O
+	K_CTRL_ALT_SHIFT_O -> { \${1://cuerpo...} }
+
+# K_P
+snippet K_P
+	K_P -> { \${1://cuerpo...} }
+# K_CTRL_P
+snippet K_CTRL_P
+	K_CTRL_P -> { \${1://cuerpo...} }
+# K_ALT_P
+snippet K_ALT_P
+	K_ALT_P -> { \${1://cuerpo...} }
+# K_SHIFT_P
+snippet K_SHIFT_P
+	K_SHIFT_P -> { \${1://cuerpo...} }
+# K_CTRL_ALT_P
+snippet K_CTRL_ALT_P
+	K_CTRL_ALT_P -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_P
+snippet K_CTRL_SHIFT_P
+	K_CTRL_SHIFT_P -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_P
+snippet K_CTRL_ALT_SHIFT_P
+	K_CTRL_ALT_SHIFT_P -> { \${1://cuerpo...} }
+
+# K_Q
+snippet K_Q
+	K_Q -> { \${1://cuerpo...} }
+# K_CTRL_Q
+snippet K_CTRL_Q
+	K_CTRL_Q -> { \${1://cuerpo...} }
+# K_ALT_Q
+snippet K_ALT_Q
+	K_ALT_Q -> { \${1://cuerpo...} }
+# K_SHIFT_Q
+snippet K_SHIFT_Q
+	K_SHIFT_Q -> { \${1://cuerpo...} }
+# K_CTRL_ALT_Q
+snippet K_CTRL_ALT_Q
+	K_CTRL_ALT_Q -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_Q
+snippet K_CTRL_SHIFT_Q
+	K_CTRL_SHIFT_Q -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_Q
+snippet K_CTRL_ALT_SHIFT_Q
+	K_CTRL_ALT_SHIFT_Q -> { \${1://cuerpo...} }
+
+# K_R
+snippet K_R
+	K_R -> { \${1://cuerpo...} }
+# K_CTRL_R
+snippet K_CTRL_R
+	K_CTRL_R -> { \${1://cuerpo...} }
+# K_ALT_R
+snippet K_ALT_R
+	K_ALT_R -> { \${1://cuerpo...} }
+# K_SHIFT_R
+snippet K_SHIFT_R
+	K_SHIFT_R -> { \${1://cuerpo...} }
+# K_CTRL_ALT_R
+snippet K_CTRL_ALT_R
+	K_CTRL_ALT_R -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_R
+snippet K_CTRL_SHIFT_R
+	K_CTRL_SHIFT_R -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_R
+snippet K_CTRL_ALT_SHIFT_R
+	K_CTRL_ALT_SHIFT_R -> { \${1://cuerpo...} }
+
+# K_S
+snippet K_S
+	K_S -> { \${1://cuerpo...} }
+# K_CTRL_S
+snippet K_CTRL_S
+	K_CTRL_S -> { \${1://cuerpo...} }
+# K_ALT_S
+snippet K_ALT_S
+	K_ALT_S -> { \${1://cuerpo...} }
+# K_SHIFT_S
+snippet K_SHIFT_S
+	K_SHIFT_S -> { \${1://cuerpo...} }
+# K_CTRL_ALT_S
+snippet K_CTRL_ALT_S
+	K_CTRL_ALT_S -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_S
+snippet K_CTRL_SHIFT_S
+	K_CTRL_SHIFT_S -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_S
+snippet K_CTRL_ALT_SHIFT_S
+	K_CTRL_ALT_SHIFT_S -> { \${1://cuerpo...} }
+
+# K_T
+snippet K_T
+	K_T -> { \${1://cuerpo...} }
+# K_CTRL_T
+snippet K_CTRL_T
+	K_CTRL_T -> { \${1://cuerpo...} }
+# K_ALT_T
+snippet K_ALT_T
+	K_ALT_T -> { \${1://cuerpo...} }
+# K_SHIFT_T
+snippet K_SHIFT_T
+	K_SHIFT_T -> { \${1://cuerpo...} }
+# K_CTRL_ALT_T
+snippet K_CTRL_ALT_T
+	K_CTRL_ALT_T -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_T
+snippet K_CTRL_SHIFT_T
+	K_CTRL_SHIFT_T -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_T
+snippet K_CTRL_ALT_SHIFT_T
+	K_CTRL_ALT_SHIFT_T -> { \${1://cuerpo...} }
+
+# K_U
+snippet K_U
+	K_U -> { \${1://cuerpo...} }
+# K_CTRL_U
+snippet K_CTRL_U
+	K_CTRL_U -> { \${1://cuerpo...} }
+# K_ALT_U
+snippet K_ALT_U
+	K_ALT_U -> { \${1://cuerpo...} }
+# K_SHIFT_U
+snippet K_SHIFT_U
+	K_SHIFT_U -> { \${1://cuerpo...} }
+# K_CTRL_ALT_U
+snippet K_CTRL_ALT_U
+	K_CTRL_ALT_U -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_U
+snippet K_CTRL_SHIFT_U
+	K_CTRL_SHIFT_U -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_U
+snippet K_CTRL_ALT_SHIFT_U
+	K_CTRL_ALT_SHIFT_U -> { \${1://cuerpo...} }
+
+# K_V
+snippet K_V
+	K_V -> { \${1://cuerpo...} }
+# K_CTRL_V
+snippet K_CTRL_V
+	K_CTRL_V -> { \${1://cuerpo...} }
+# K_ALT_V
+snippet K_ALT_V
+	K_ALT_V -> { \${1://cuerpo...} }
+# K_SHIFT_V
+snippet K_SHIFT_V
+	K_SHIFT_V -> { \${1://cuerpo...} }
+# K_CTRL_ALT_V
+snippet K_CTRL_ALT_V
+	K_CTRL_ALT_V -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_V
+snippet K_CTRL_SHIFT_V
+	K_CTRL_SHIFT_V -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_V
+snippet K_CTRL_ALT_SHIFT_V
+	K_CTRL_ALT_SHIFT_V -> { \${1://cuerpo...} }
+
+# K_W
+snippet K_W
+	K_W -> { \${1://cuerpo...} }
+# K_CTRL_W
+snippet K_CTRL_W
+	K_CTRL_W -> { \${1://cuerpo...} }
+# K_ALT_W
+snippet K_ALT_W
+	K_ALT_W -> { \${1://cuerpo...} }
+# K_SHIFT_W
+snippet K_SHIFT_W
+	K_SHIFT_W -> { \${1://cuerpo...} }
+# K_CTRL_ALT_W
+snippet K_CTRL_ALT_W
+	K_CTRL_ALT_W -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_W
+snippet K_CTRL_SHIFT_W
+	K_CTRL_SHIFT_W -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_W
+snippet K_CTRL_ALT_SHIFT_W
+	K_CTRL_ALT_SHIFT_W -> { \${1://cuerpo...} }
+
+# K_X
+snippet K_X
+	K_X -> { \${1://cuerpo...} }
+# K_CTRL_X
+snippet K_CTRL_X
+	K_CTRL_X -> { \${1://cuerpo...} }
+# K_ALT_X
+snippet K_ALT_X
+	K_ALT_X -> { \${1://cuerpo...} }
+# K_SHIFT_X
+snippet K_SHIFT_X
+	K_SHIFT_X -> { \${1://cuerpo...} }
+# K_CTRL_ALT_X
+snippet K_CTRL_ALT_X
+	K_CTRL_ALT_X -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_X
+snippet K_CTRL_SHIFT_X
+	K_CTRL_SHIFT_X -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_X
+snippet K_CTRL_ALT_SHIFT_X
+	K_CTRL_ALT_SHIFT_X -> { \${1://cuerpo...} }
+
+# K_Y
+snippet K_Y
+	K_Y -> { \${1://cuerpo...} }
+# K_CTRL_Y
+snippet K_CTRL_Y
+	K_CTRL_Y -> { \${1://cuerpo...} }
+# K_ALT_Y
+snippet K_ALT_Y
+	K_ALT_Y -> { \${1://cuerpo...} }
+# K_SHIFT_Y
+snippet K_SHIFT_Y
+	K_SHIFT_Y -> { \${1://cuerpo...} }
+# K_CTRL_ALT_Y
+snippet K_CTRL_ALT_Y
+	K_CTRL_ALT_Y -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_Y
+snippet K_CTRL_SHIFT_Y
+	K_CTRL_SHIFT_Y -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_Y
+snippet K_CTRL_ALT_SHIFT_Y
+	K_CTRL_ALT_SHIFT_Y -> { \${1://cuerpo...} }
+
+# K_Z
+snippet K_Z
+	K_Z -> { \${1://cuerpo...} }
+# K_CTRL_Z
+snippet K_CTRL_Z
+	K_CTRL_Z -> { \${1://cuerpo...} }
+# K_ALT_Z
+snippet K_ALT_Z
+	K_ALT_Z -> { \${1://cuerpo...} }
+# K_SHIFT_Z
+snippet K_SHIFT_Z
+	K_SHIFT_Z -> { \${1://cuerpo...} }
+# K_CTRL_ALT_Z
+snippet K_CTRL_ALT_Z
+	K_CTRL_ALT_Z -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_Z
+snippet K_CTRL_SHIFT_Z
+	K_CTRL_SHIFT_Z -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_Z
+snippet K_CTRL_ALT_SHIFT_Z
+	K_CTRL_ALT_SHIFT_Z -> { \${1://cuerpo...} }
+
+# K_0
+snippet K_0
+	K_0 -> { \${1://cuerpo...} }
+# K_CTRL_0
+snippet K_CTRL_0
+	K_CTRL_0 -> { \${1://cuerpo...} }
+# K_ALT_0
+snippet K_ALT_0
+	K_ALT_0 -> { \${1://cuerpo...} }
+# K_SHIFT_0
+snippet K_SHIFT_0
+	K_SHIFT_0 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_0
+snippet K_CTRL_ALT_0
+	K_CTRL_ALT_0 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_0
+snippet K_CTRL_SHIFT_0
+	K_CTRL_SHIFT_0 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_0
+snippet K_CTRL_ALT_SHIFT_0
+	K_CTRL_ALT_SHIFT_0 -> { \${1://cuerpo...} }
+
+# K_1
+snippet K_1
+	K_1 -> { \${1://cuerpo...} }
+# K_CTRL_1
+snippet K_CTRL_1
+	K_CTRL_1 -> { \${1://cuerpo...} }
+# K_ALT_1
+snippet K_ALT_1
+	K_ALT_1 -> { \${1://cuerpo...} }
+# K_SHIFT_1
+snippet K_SHIFT_1
+	K_SHIFT_1 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_1
+snippet K_CTRL_ALT_1
+	K_CTRL_ALT_1 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_1
+snippet K_CTRL_SHIFT_1
+	K_CTRL_SHIFT_1 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_1
+snippet K_CTRL_ALT_SHIFT_1
+	K_CTRL_ALT_SHIFT_1 -> { \${1://cuerpo...} }
+
+# K_2
+snippet K_2
+	K_2 -> { \${1://cuerpo...} }
+# K_CTRL_2
+snippet K_CTRL_2
+	K_CTRL_2 -> { \${1://cuerpo...} }
+# K_ALT_2
+snippet K_ALT_2
+	K_ALT_2 -> { \${1://cuerpo...} }
+# K_SHIFT_2
+snippet K_SHIFT_2
+	K_SHIFT_2 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_2
+snippet K_CTRL_ALT_2
+	K_CTRL_ALT_2 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_2
+snippet K_CTRL_SHIFT_2
+	K_CTRL_SHIFT_2 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_2
+snippet K_CTRL_ALT_SHIFT_2
+	K_CTRL_ALT_SHIFT_2 -> { \${1://cuerpo...} }
+
+# K_3
+snippet K_3
+	K_3 -> { \${1://cuerpo...} }
+# K_CTRL_3
+snippet K_CTRL_3
+	K_CTRL_3 -> { \${1://cuerpo...} }
+# K_ALT_3
+snippet K_ALT_3
+	K_ALT_3 -> { \${1://cuerpo...} }
+# K_SHIFT_3
+snippet K_SHIFT_3
+	K_SHIFT_3 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_3
+snippet K_CTRL_ALT_3
+	K_CTRL_ALT_3 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_3
+snippet K_CTRL_SHIFT_3
+	K_CTRL_SHIFT_3 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_3
+snippet K_CTRL_ALT_SHIFT_3
+	K_CTRL_ALT_SHIFT_3 -> { \${1://cuerpo...} }
+
+# K_4
+snippet K_4
+	K_4 -> { \${1://cuerpo...} }
+# K_CTRL_4
+snippet K_CTRL_4
+	K_CTRL_4 -> { \${1://cuerpo...} }
+# K_ALT_4
+snippet K_ALT_4
+	K_ALT_4 -> { \${1://cuerpo...} }
+# K_SHIFT_4
+snippet K_SHIFT_4
+	K_SHIFT_4 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_4
+snippet K_CTRL_ALT_4
+	K_CTRL_ALT_4 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_4
+snippet K_CTRL_SHIFT_4
+	K_CTRL_SHIFT_4 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_4
+snippet K_CTRL_ALT_SHIFT_4
+	K_CTRL_ALT_SHIFT_4 -> { \${1://cuerpo...} }
+
+# K_5
+snippet K_5
+	K_5 -> { \${1://cuerpo...} }
+# K_CTRL_5
+snippet K_CTRL_5
+	K_CTRL_5 -> { \${1://cuerpo...} }
+# K_ALT_5
+snippet K_ALT_5
+	K_ALT_5 -> { \${1://cuerpo...} }
+# K_SHIFT_5
+snippet K_SHIFT_5
+	K_SHIFT_5 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_5
+snippet K_CTRL_ALT_5
+	K_CTRL_ALT_5 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_5
+snippet K_CTRL_SHIFT_5
+	K_CTRL_SHIFT_5 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_5
+snippet K_CTRL_ALT_SHIFT_5
+	K_CTRL_ALT_SHIFT_5 -> { \${1://cuerpo...} }
+
+# K_6
+snippet K_6
+	K_6 -> { \${1://cuerpo...} }
+# K_CTRL_6
+snippet K_CTRL_6
+	K_CTRL_6 -> { \${1://cuerpo...} }
+# K_ALT_6
+snippet K_ALT_6
+	K_ALT_6 -> { \${1://cuerpo...} }
+# K_SHIFT_6
+snippet K_SHIFT_6
+	K_SHIFT_6 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_6
+snippet K_CTRL_ALT_6
+	K_CTRL_ALT_6 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_6
+snippet K_CTRL_SHIFT_6
+	K_CTRL_SHIFT_6 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_6
+snippet K_CTRL_ALT_SHIFT_6
+	K_CTRL_ALT_SHIFT_6 -> { \${1://cuerpo...} }
+
+# K_7
+snippet K_7
+	K_7 -> { \${1://cuerpo...} }
+# K_CTRL_7
+snippet K_CTRL_7
+	K_CTRL_7 -> { \${1://cuerpo...} }
+# K_ALT_7
+snippet K_ALT_7
+	K_ALT_7 -> { \${1://cuerpo...} }
+# K_SHIFT_7
+snippet K_SHIFT_7
+	K_SHIFT_7 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_7
+snippet K_CTRL_ALT_7
+	K_CTRL_ALT_7 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_7
+snippet K_CTRL_SHIFT_7
+	K_CTRL_SHIFT_7 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_7
+snippet K_CTRL_ALT_SHIFT_7
+	K_CTRL_ALT_SHIFT_7 -> { \${1://cuerpo...} }
+
+# K_8
+snippet K_8
+	K_8 -> { \${1://cuerpo...} }
+# K_CTRL_8
+snippet K_CTRL_8
+	K_CTRL_8 -> { \${1://cuerpo...} }
+# K_ALT_8
+snippet K_ALT_8
+	K_ALT_8 -> { \${1://cuerpo...} }
+# K_SHIFT_8
+snippet K_SHIFT_8
+	K_SHIFT_8 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_8
+snippet K_CTRL_ALT_8
+	K_CTRL_ALT_8 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_8
+snippet K_CTRL_SHIFT_8
+	K_CTRL_SHIFT_8 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_8
+snippet K_CTRL_ALT_SHIFT_8
+	K_CTRL_ALT_SHIFT_8 -> { \${1://cuerpo...} }
+
+# K_9
+snippet K_9
+	K_9 -> { \${1://cuerpo...} }
+# K_CTRL_9
+snippet K_CTRL_9
+	K_CTRL_9 -> { \${1://cuerpo...} }
+# K_ALT_9
+snippet K_ALT_9
+	K_ALT_9 -> { \${1://cuerpo...} }
+# K_SHIFT_9
+snippet K_SHIFT_9
+	K_SHIFT_9 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_9
+snippet K_CTRL_ALT_9
+	K_CTRL_ALT_9 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_9
+snippet K_CTRL_SHIFT_9
+	K_CTRL_SHIFT_9 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_9
+snippet K_CTRL_ALT_SHIFT_9
+	K_CTRL_ALT_SHIFT_9 -> { \${1://cuerpo...} }
+
+# K_F1
+snippet K_F1
+	K_F1 -> { \${1://cuerpo...} }
+# K_CTRL_F1
+snippet K_CTRL_F1
+	K_CTRL_F1 -> { \${1://cuerpo...} }
+# K_ALT_F1
+snippet K_ALT_F1
+	K_ALT_F1 -> { \${1://cuerpo...} }
+# K_SHIFT_F1
+snippet K_SHIFT_F1
+	K_SHIFT_F1 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F1
+snippet K_CTRL_ALT_F1
+	K_CTRL_ALT_F1 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F1
+snippet K_CTRL_SHIFT_F1
+	K_CTRL_SHIFT_F1 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F1
+snippet K_CTRL_ALT_SHIFT_F1
+	K_CTRL_ALT_SHIFT_F1 -> { \${1://cuerpo...} }
+
+# K_F2
+snippet K_F2
+	K_F2 -> { \${1://cuerpo...} }
+# K_CTRL_F2
+snippet K_CTRL_F2
+	K_CTRL_F2 -> { \${1://cuerpo...} }
+# K_ALT_F2
+snippet K_ALT_F2
+	K_ALT_F2 -> { \${1://cuerpo...} }
+# K_SHIFT_F2
+snippet K_SHIFT_F2
+	K_SHIFT_F2 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F2
+snippet K_CTRL_ALT_F2
+	K_CTRL_ALT_F2 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F2
+snippet K_CTRL_SHIFT_F2
+	K_CTRL_SHIFT_F2 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F2
+snippet K_CTRL_ALT_SHIFT_F2
+	K_CTRL_ALT_SHIFT_F2 -> { \${1://cuerpo...} }
+
+# K_F3
+snippet K_F3
+	K_F3 -> { \${1://cuerpo...} }
+# K_CTRL_F3
+snippet K_CTRL_F3
+	K_CTRL_F3 -> { \${1://cuerpo...} }
+# K_ALT_F3
+snippet K_ALT_F3
+	K_ALT_F3 -> { \${1://cuerpo...} }
+# K_SHIFT_F3
+snippet K_SHIFT_F3
+	K_SHIFT_F3 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F3
+snippet K_CTRL_ALT_F3
+	K_CTRL_ALT_F3 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F3
+snippet K_CTRL_SHIFT_F3
+	K_CTRL_SHIFT_F3 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F3
+snippet K_CTRL_ALT_SHIFT_F3
+	K_CTRL_ALT_SHIFT_F3 -> { \${1://cuerpo...} }
+
+# K_A
+snippet K_A
+	K_A -> { \${1://cuerpo...} }
+# K_CTRL_A
+snippet K_CTRL_A
+	K_CTRL_A -> { \${1://cuerpo...} }
+# K_ALT_A
+snippet K_ALT_A
+	K_ALT_A -> { \${1://cuerpo...} }
+# K_SHIFT_A
+snippet K_SHIFT_A
+	K_SHIFT_A -> { \${1://cuerpo...} }
+# K_CTRL_ALT_A
+snippet K_CTRL_ALT_A
+	K_CTRL_ALT_A -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_A
+snippet K_CTRL_SHIFT_A
+	K_CTRL_SHIFT_A -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_A
+snippet K_CTRL_ALT_SHIFT_A
+	K_CTRL_ALT_SHIFT_A -> { \${1://cuerpo...} }
+
+# K_F5
+snippet K_F5
+	K_F5 -> { \${1://cuerpo...} }
+# K_CTRL_F5
+snippet K_CTRL_F5
+	K_CTRL_F5 -> { \${1://cuerpo...} }
+# K_ALT_F5
+snippet K_ALT_F5
+	K_ALT_F5 -> { \${1://cuerpo...} }
+# K_SHIFT_F5
+snippet K_SHIFT_F5
+	K_SHIFT_F5 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F5
+snippet K_CTRL_ALT_F5
+	K_CTRL_ALT_F5 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F5
+snippet K_CTRL_SHIFT_F5
+	K_CTRL_SHIFT_F5 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F5
+snippet K_CTRL_ALT_SHIFT_F5
+	K_CTRL_ALT_SHIFT_F5 -> { \${1://cuerpo...} }
+
+# K_F6
+snippet K_F6
+	K_F6 -> { \${1://cuerpo...} }
+# K_CTRL_F6
+snippet K_CTRL_F6
+	K_CTRL_F6 -> { \${1://cuerpo...} }
+# K_ALT_F6
+snippet K_ALT_F6
+	K_ALT_F6 -> { \${1://cuerpo...} }
+# K_SHIFT_F6
+snippet K_SHIFT_F6
+	K_SHIFT_F6 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F6
+snippet K_CTRL_ALT_F6
+	K_CTRL_ALT_F6 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F6
+snippet K_CTRL_SHIFT_F6
+	K_CTRL_SHIFT_F6 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F6
+snippet K_CTRL_ALT_SHIFT_F6
+	K_CTRL_ALT_SHIFT_F6 -> { \${1://cuerpo...} }
+
+# K_F7
+snippet K_F7
+	K_F7 -> { \${1://cuerpo...} }
+# K_CTRL_F7
+snippet K_CTRL_F7
+	K_CTRL_F7 -> { \${1://cuerpo...} }
+# K_ALT_F7
+snippet K_ALT_F7
+	K_ALT_F7 -> { \${1://cuerpo...} }
+# K_SHIFT_F7
+snippet K_SHIFT_F7
+	K_SHIFT_F7 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F7
+snippet K_CTRL_ALT_F7
+	K_CTRL_ALT_F7 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F7
+snippet K_CTRL_SHIFT_F7
+	K_CTRL_SHIFT_F7 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F7
+snippet K_CTRL_ALT_SHIFT_F7
+	K_CTRL_ALT_SHIFT_F7 -> { \${1://cuerpo...} }
+
+# K_F8
+snippet K_F8
+	K_F8 -> { \${1://cuerpo...} }
+# K_CTRL_F8
+snippet K_CTRL_F8
+	K_CTRL_F8 -> { \${1://cuerpo...} }
+# K_ALT_F8
+snippet K_ALT_F8
+	K_ALT_F8 -> { \${1://cuerpo...} }
+# K_SHIFT_F8
+snippet K_SHIFT_F8
+	K_SHIFT_F8 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F8
+snippet K_CTRL_ALT_F8
+	K_CTRL_ALT_F8 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F8
+snippet K_CTRL_SHIFT_F8
+	K_CTRL_SHIFT_F8 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F8
+snippet K_CTRL_ALT_SHIFT_F8
+	K_CTRL_ALT_SHIFT_F8 -> { \${1://cuerpo...} }
+
+# K_F9
+snippet K_F9
+	K_F9 -> { \${1://cuerpo...} }
+# K_CTRL_F9
+snippet K_CTRL_F9
+	K_CTRL_F9 -> { \${1://cuerpo...} }
+# K_ALT_F9
+snippet K_ALT_F9
+	K_ALT_F9 -> { \${1://cuerpo...} }
+# K_SHIFT_F9
+snippet K_SHIFT_F9
+	K_SHIFT_F9 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F9
+snippet K_CTRL_ALT_F9
+	K_CTRL_ALT_F9 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F9
+snippet K_CTRL_SHIFT_F9
+	K_CTRL_SHIFT_F9 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F9
+snippet K_CTRL_ALT_SHIFT_F9
+	K_CTRL_ALT_SHIFT_F9 -> { \${1://cuerpo...} }
+
+# K_F10
+snippet K_F10
+	K_F10 -> { \${1://cuerpo...} }
+# K_CTRL_F10
+snippet K_CTRL_F10
+	K_CTRL_F10 -> { \${1://cuerpo...} }
+# K_ALT_F10
+snippet K_ALT_F10
+	K_ALT_F10 -> { \${1://cuerpo...} }
+# K_SHIFT_F10
+snippet K_SHIFT_F10
+	K_SHIFT_F10 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F10
+snippet K_CTRL_ALT_F10
+	K_CTRL_ALT_F10 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F10
+snippet K_CTRL_SHIFT_F10
+	K_CTRL_SHIFT_F10 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F10
+snippet K_CTRL_ALT_SHIFT_F10
+	K_CTRL_ALT_SHIFT_F10 -> { \${1://cuerpo...} }
+
+# K_F11
+snippet K_F11
+	K_F11 -> { \${1://cuerpo...} }
+# K_CTRL_F11
+snippet K_CTRL_F11
+	K_CTRL_F11 -> { \${1://cuerpo...} }
+# K_ALT_F11
+snippet K_ALT_F11
+	K_ALT_F11 -> { \${1://cuerpo...} }
+# K_SHIFT_F11
+snippet K_SHIFT_F11
+	K_SHIFT_F11 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F11
+snippet K_CTRL_ALT_F11
+	K_CTRL_ALT_F11 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F11
+snippet K_CTRL_SHIFT_F11
+	K_CTRL_SHIFT_F11 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F11
+snippet K_CTRL_ALT_SHIFT_F11
+	K_CTRL_ALT_SHIFT_F11 -> { \${1://cuerpo...} }
+
+# K_F12
+snippet K_F12
+	K_F12 -> { \${1://cuerpo...} }
+# K_CTRL_F12
+snippet K_CTRL_F12
+	K_CTRL_F12 -> { \${1://cuerpo...} }
+# K_ALT_F12
+snippet K_ALT_F12
+	K_ALT_F12 -> { \${1://cuerpo...} }
+# K_SHIFT_F12
+snippet K_SHIFT_F12
+	K_SHIFT_F12 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_F12
+snippet K_CTRL_ALT_F12
+	K_CTRL_ALT_F12 -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_F12
+snippet K_CTRL_SHIFT_F12
+	K_CTRL_SHIFT_F12 -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_F12
+snippet K_CTRL_ALT_SHIFT_F12
+	K_CTRL_ALT_SHIFT_F12 -> { \${1://cuerpo...} }
+
+# K_RETURN
+snippet K_RETURN
+	K_RETURN -> { \${1://cuerpo...} }
+# K_CTRL_RETURN
+snippet K_CTRL_RETURN
+	K_CTRL_RETURN -> { \${1://cuerpo...} }
+# K_ALT_RETURN
+snippet K_ALT_RETURN
+	K_ALT_RETURN -> { \${1://cuerpo...} }
+# K_SHIFT_RETURN
+snippet K_SHIFT_RETURN
+	K_SHIFT_RETURN -> { \${1://cuerpo...} }
+# K_CTRL_ALT_RETURN
+snippet K_CTRL_ALT_RETURN
+	K_CTRL_ALT_RETURN -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_RETURN
+snippet K_CTRL_SHIFT_RETURN
+	K_CTRL_SHIFT_RETURN -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_RETURN
+snippet K_CTRL_ALT_SHIFT_RETURN
+	K_CTRL_ALT_SHIFT_RETURN -> { \${1://cuerpo...} }
+
+# K_SPACE
+snippet K_SPACE
+	K_SPACE -> { \${1://cuerpo...} }
+# K_CTRL_SPACE
+snippet K_CTRL_SPACE
+	K_CTRL_SPACE -> { \${1://cuerpo...} }
+# K_ALT_SPACE
+snippet K_ALT_SPACE
+	K_ALT_SPACE -> { \${1://cuerpo...} }
+# K_SHIFT_SPACE
+snippet K_SHIFT_SPACE
+	K_SHIFT_SPACE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SPACE
+snippet K_CTRL_ALT_SPACE
+	K_CTRL_ALT_SPACE -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_SPACE
+snippet K_CTRL_SHIFT_SPACE
+	K_CTRL_SHIFT_SPACE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_SPACE
+snippet K_CTRL_ALT_SHIFT_SPACE
+	K_CTRL_ALT_SHIFT_SPACE -> { \${1://cuerpo...} }
+
+# K_ESCAPE
+snippet K_ESCAPE
+	K_ESCAPE -> { \${1://cuerpo...} }
+# K_CTRL_ESCAPE
+snippet K_CTRL_ESCAPE
+	K_CTRL_ESCAPE -> { \${1://cuerpo...} }
+# K_ALT_ESCAPE
+snippet K_ALT_ESCAPE
+	K_ALT_ESCAPE -> { \${1://cuerpo...} }
+# K_SHIFT_ESCAPE
+snippet K_SHIFT_ESCAPE
+	K_SHIFT_ESCAPE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_ESCAPE
+snippet K_CTRL_ALT_ESCAPE
+	K_CTRL_ALT_ESCAPE -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_ESCAPE
+snippet K_CTRL_SHIFT_ESCAPE
+	K_CTRL_SHIFT_ESCAPE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_ESCAPE
+snippet K_CTRL_ALT_SHIFT_ESCAPE
+	K_CTRL_ALT_SHIFT_ESCAPE -> { \${1://cuerpo...} }
+
+# K_BACKSPACE
+snippet K_BACKSPACE
+	K_BACKSPACE -> { \${1://cuerpo...} }
+# K_CTRL_BACKSPACE
+snippet K_CTRL_BACKSPACE
+	K_CTRL_BACKSPACE -> { \${1://cuerpo...} }
+# K_ALT_BACKSPACE
+snippet K_ALT_BACKSPACE
+	K_ALT_BACKSPACE -> { \${1://cuerpo...} }
+# K_SHIFT_BACKSPACE
+snippet K_SHIFT_BACKSPACE
+	K_SHIFT_BACKSPACE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_BACKSPACE
+snippet K_CTRL_ALT_BACKSPACE
+	K_CTRL_ALT_BACKSPACE -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_BACKSPACE
+snippet K_CTRL_SHIFT_BACKSPACE
+	K_CTRL_SHIFT_BACKSPACE -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_BACKSPACE
+snippet K_CTRL_ALT_SHIFT_BACKSPACE
+	K_CTRL_ALT_SHIFT_BACKSPACE -> { \${1://cuerpo...} }
+
+# K_TAB
+snippet K_TAB
+	K_TAB -> { \${1://cuerpo...} }
+# K_CTRL_TAB
+snippet K_CTRL_TAB
+	K_CTRL_TAB -> { \${1://cuerpo...} }
+# K_ALT_TAB
+snippet K_ALT_TAB
+	K_ALT_TAB -> { \${1://cuerpo...} }
+# K_SHIFT_TAB
+snippet K_SHIFT_TAB
+	K_SHIFT_TAB -> { \${1://cuerpo...} }
+# K_CTRL_ALT_TAB
+snippet K_CTRL_ALT_TAB
+	K_CTRL_ALT_TAB -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_TAB
+snippet K_CTRL_SHIFT_TAB
+	K_CTRL_SHIFT_TAB -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_TAB
+snippet K_CTRL_ALT_SHIFT_TAB
+	K_CTRL_ALT_SHIFT_TAB -> { \${1://cuerpo...} }
+
+# K_UP
+snippet K_UP
+	K_UP -> { \${1://cuerpo...} }
+# K_CTRL_UP
+snippet K_CTRL_UP
+	K_CTRL_UP -> { \${1://cuerpo...} }
+# K_ALT_UP
+snippet K_ALT_UP
+	K_ALT_UP -> { \${1://cuerpo...} }
+# K_SHIFT_UP
+snippet K_SHIFT_UP
+	K_SHIFT_UP -> { \${1://cuerpo...} }
+# K_CTRL_ALT_UP
+snippet K_CTRL_ALT_UP
+	K_CTRL_ALT_UP -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_UP
+snippet K_CTRL_SHIFT_UP
+	K_CTRL_SHIFT_UP -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_UP
+snippet K_CTRL_ALT_SHIFT_UP
+	K_CTRL_ALT_SHIFT_UP -> { \${1://cuerpo...} }
+
+# K_DOWN
+snippet K_DOWN
+	K_DOWN -> { \${1://cuerpo...} }
+# K_CTRL_DOWN
+snippet K_CTRL_DOWN
+	K_CTRL_DOWN -> { \${1://cuerpo...} }
+# K_ALT_DOWN
+snippet K_ALT_DOWN
+	K_ALT_DOWN -> { \${1://cuerpo...} }
+# K_SHIFT_DOWN
+snippet K_SHIFT_DOWN
+	K_SHIFT_DOWN -> { \${1://cuerpo...} }
+# K_CTRL_ALT_DOWN
+snippet K_CTRL_ALT_DOWN
+	K_CTRL_ALT_DOWN -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_DOWN
+snippet K_CTRL_SHIFT_DOWN
+	K_CTRL_SHIFT_DOWN -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_DOWN
+snippet K_CTRL_ALT_SHIFT_DOWN
+	K_CTRL_ALT_SHIFT_DOWN -> { \${1://cuerpo...} }
+
+# K_LEFT
+snippet K_LEFT
+	K_LEFT -> { \${1://cuerpo...} }
+# K_CTRL_LEFT
+snippet K_CTRL_LEFT
+	K_CTRL_LEFT -> { \${1://cuerpo...} }
+# K_ALT_LEFT
+snippet K_ALT_LEFT
+	K_ALT_LEFT -> { \${1://cuerpo...} }
+# K_SHIFT_LEFT
+snippet K_SHIFT_LEFT
+	K_SHIFT_LEFT -> { \${1://cuerpo...} }
+# K_CTRL_ALT_LEFT
+snippet K_CTRL_ALT_LEFT
+	K_CTRL_ALT_LEFT -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_LEFT
+snippet K_CTRL_SHIFT_LEFT
+	K_CTRL_SHIFT_LEFT -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_LEFT
+snippet K_CTRL_ALT_SHIFT_LEFT
+	K_CTRL_ALT_SHIFT_LEFT -> { \${1://cuerpo...} }
+
+# K_RIGHT
+snippet K_RIGHT
+	K_RIGHT -> { \${1://cuerpo...} }
+# K_CTRL_RIGHT
+snippet K_CTRL_RIGHT
+	K_CTRL_RIGHT -> { \${1://cuerpo...} }
+# K_ALT_RIGHT
+snippet K_ALT_RIGHT
+	K_ALT_RIGHT -> { \${1://cuerpo...} }
+# K_SHIFT_RIGHT
+snippet K_SHIFT_RIGHT
+	K_SHIFT_RIGHT -> { \${1://cuerpo...} }
+# K_CTRL_ALT_RIGHT
+snippet K_CTRL_ALT_RIGHT
+	K_CTRL_ALT_RIGHT -> { \${1://cuerpo...} }
+# K_CTRL_SHIFT_RIGHT
+snippet K_CTRL_SHIFT_RIGHT
+	K_CTRL_SHIFT_RIGHT -> { \${1://cuerpo...} }
+# K_CTRL_ALT_SHIFT_RIGHT
+snippet K_CTRL_ALT_SHIFT_RIGHT
+	K_CTRL_ALT_SHIFT_RIGHT -> { \${1://cuerpo...} }
+
+# recorrido (simple)
+snippet recorrido (simple)
+	\${1:// Ir al inicio}
+	while (not \${2:// es último elemento}) {
+		\${3:// Procesar el elemento}
+		\${4:// Ir al próximo elemento}
+	}
+	\${5:// Finalizar}
+
+# recorrido (de acumulación)
+snippet recorrido (de acumulación)
+	\${1:// Ir al inicio}
+	\${2:cantidadVistos} := \${3:// contar elementos en lugar actual}
+	while (not \${4:// es último elemento}) {
+		\${4:// Ir al próximo elemento}
+		\${2:cantidadVistos} := \${2:cantidadVistos} + \${3:// contar elementos en lugar actual}
+	}
+	return (\${2:cantidadVistos})
+
+# recorrido (de búsqueda)
+snippet recorrido (de búsqueda)
+	\${1:// Ir al inicio}
+	while (not \${2:// encontré lo que buscaba}) {
+		\${3:// Ir al próximo elemento}
+	}
+	return (\${2:// encontré lo que buscaba })
+
+# recorrido (de búsqueda con borde)
+snippet recorrido (de búsqueda con borde)
+	\${1:// Ir al inicio}
+	while (not \${2:// encontré lo que buscaba} && not \${3:// es último elemento}) {
+		\${4:// Ir al próximo elemento}
+	}
+	return (\${2:// encontré lo que buscaba })
+
+# recorrido (de tipos enumerativos)
+snippet recorrido (de tipos enumerativos)
+	\${1:elementoActual} := \${2:minElemento()}
+	while (\${1:elementoActual} /= \${3:maxElemento()}) {
+		\${4:// Procesar con elemento actual}
+		\${1:elementoActual} := siguiente(\${1:elementoActual})
+	}
+	\${4:// Procesar con elemento actual}
+
+# recorrido (de búsqueda sobre lista)
+snippet recorrido (de búsqueda sobre lista)
+	\${1:listaRecorrida} := \${2:lista}
+	while (primero(\${1:listaRecorrida}) /= \${3://elemento buscado}) {
+		\${1:elementoActual} := sinElPrimero(\${1:elementoActual})
+	}
+	return (primero(\${1:listaRecorrida}))
+
+# recorrido (de búsqueda sobre lista con borde)
+snippet recorrido (de búsqueda sobre lista con borde)
+	\${1:listaRecorrida} := \${2:lista}
+	while (not esVacía(\${1:listaRecorrida}) && primero(\${1:listaRecorrida}) /= \${3://elemento buscado}) {
+		\${1:elementoActual} := sinElPrimero(\${1:elementoActual})
+	}
+	return (not esVacía(\${1:listaRecorrida}))
+
+# docs (procedimiento)
+snippet docs (procedimiento)
+	/*
+		@PROPÓSITO: \${1:...}
+		@PRECONDICIÓN: \${2:...}
+	*/
+
+# docs (procedimiento con parámetros)
+snippet docs (procedimiento con parámetros)
+	/*
+		@PROPÓSITO: \${1:...}
+		@PRECONDICIÓN: \${2:...}
+		@PARÁMETROS:
+				* \${3:nombreDelParámetro} : \${4:Tipo} - \${5:descripción}
+	*/
+
+# docs (función)
+snippet docs (función)
+	/*
+		@PROPÓSITO: \${1:...}
+		@PRECONDICIÓN: \${2:...}
+		@TIPO: \${3:...}
+	*/
+
+# docs (función con parámetros)
+snippet docs (función con parámetros)
+	/*
+		@PROPÓSITO: \${1:...}
+		@PRECONDICIÓN: \${2:...}
+		@PARÁMETROS:
+				* \${3:nombreDelParámetro} : \${4:Tipo} - \${5:descripción}
+		@TIPO: \${6:...}
+	*/
+`}),ace.define("ace/snippets/gobstones",["require","exports","module","ace/snippets/gobstones.snippets"],function(n,_,T){_.snippetText=n("./gobstones.snippets"),_.scope="gobstones"}),function(){ace.require(["ace/snippets/gobstones"],function(n){p&&(p.exports=n)})}()})(K);var L=K.exports;const C=o(L),i=F({__proto__:null,default:C},[L]);export{i as g};

+ 1 - 0
frontend/dist/assets/golang-74ef8841.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function c(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/golang"],function(t){e&&(e.exports=t)})})()})(g);var s=g.exports;const i=f(s),l=c({__proto__:null,default:i},[s]);export{l as g};

+ 33 - 0
frontend/dist/assets/graphqlschema-07a4eb5d.js

@@ -0,0 +1,33 @@
+import{g as o}from"./index-fe76da25.js";function c(p,r){for(var n=0;n<r.length;n++){const e=r[n];if(typeof e!="string"&&!Array.isArray(e)){for(const t in e)if(t!=="default"&&!(t in p)){const i=Object.getOwnPropertyDescriptor(e,t);i&&Object.defineProperty(p,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(p,r){ace.define("ace/snippets/graphqlschema.snippets",["require","exports","module"],function(n,e,t){t.exports=`# Type Snippet
+trigger type
+snippet type
+	type \${1:type_name} {
+		\${2:type_siblings}
+	}
+
+# Input Snippet
+trigger input
+snippet input
+	input \${1:input_name} {
+		\${2:input_siblings}
+	}
+
+# Interface Snippet
+trigger interface
+snippet interface
+	interface \${1:interface_name} {
+		\${2:interface_siblings}
+	}
+
+# Interface Snippet
+trigger union
+snippet union
+	union \${1:union_name} = \${2:type} | \${3: type}
+
+# Enum Snippet
+trigger enum
+snippet enum
+	enum \${1:enum_name} {
+		\${2:enum_siblings}
+	}
+`}),ace.define("ace/snippets/graphqlschema",["require","exports","module","ace/snippets/graphqlschema.snippets"],function(n,e,t){e.snippetText=n("./graphqlschema.snippets"),e.scope="graphqlschema"}),function(){ace.require(["ace/snippets/graphqlschema"],function(n){p&&(p.exports=n)})}()})(s);var a=s.exports;const u=o(a),f=c({__proto__:null,default:u},[a]);export{f as g};

+ 1 - 0
frontend/dist/assets/groovy-cea4d628.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var r=0;r<n.length;r++){const t=n[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(t,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/groovy"],function(r){e&&(e.exports=r)})})()})(f);var a=f.exports;const p=c(a),u=i({__proto__:null,default:p},[a]);export{u as g};

+ 21 - 0
frontend/dist/assets/haml-456523a9.js

@@ -0,0 +1,21 @@
+import{g as o}from"./index-fe76da25.js";function l(n,p){for(var e=0;e<p.length;e++){const t=p[e];if(typeof t!="string"&&!Array.isArray(t)){for(const r in t)if(r!=="default"&&!(r in n)){const a=Object.getOwnPropertyDescriptor(t,r);a&&Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>t[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var i={exports:{}};(function(n,p){ace.define("ace/snippets/haml.snippets",["require","exports","module"],function(e,t,r){r.exports=`snippet t
+	%table
+		%tr
+			%th
+				\${1:headers}
+		%tr
+			%td
+				\${2:headers}
+snippet ul
+	%ul
+		%li
+			\${1:item}
+		%li
+snippet =rp
+	= render :partial => '\${1:partial}'
+snippet =rpl
+	= render :partial => '\${1:partial}', :locals => {}
+snippet =rpc
+	= render :partial => '\${1:partial}', :collection => @$1
+
+`}),ace.define("ace/snippets/haml",["require","exports","module","ace/snippets/haml.snippets"],function(e,t,r){t.snippetText=e("./haml.snippets"),t.scope="haml"}),function(){ace.require(["ace/snippets/haml"],function(e){n&&(n.exports=e)})}()})(i);var s=i.exports;const c=o(s),f=l({__proto__:null,default:c},[s]);export{f as h};

+ 1 - 0
frontend/dist/assets/handlebars-3c8bdd03.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var r=0;r<n.length;r++){const t=n[r];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(t,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/handlebars"],function(r){e&&(e.exports=r)})})()})(s);var f=s.exports;const p=c(f),u=i({__proto__:null,default:p},[f]);export{u as h};

+ 83 - 0
frontend/dist/assets/haskell-40d3049f.js

@@ -0,0 +1,83 @@
+import{g as r}from"./index-fe76da25.js";function o(p,i){for(var t=0;t<i.length;t++){const n=i[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in p)){const s=Object.getOwnPropertyDescriptor(n,e);s&&Object.defineProperty(p,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(p,i){ace.define("ace/snippets/haskell.snippets",["require","exports","module"],function(t,n,e){e.exports=`snippet lang
+	{-# LANGUAGE \${1:OverloadedStrings} #-}
+snippet info
+	-- |
+	-- Module      :  \${1:Module.Namespace}
+	-- Copyright   :  \${2:Author} \${3:2011-2012}
+	-- License     :  \${4:BSD3}
+	--
+	-- Maintainer  :  \${5:email@something.com}
+	-- Stability   :  \${6:experimental}
+	-- Portability :  \${7:unknown}
+	--
+	-- \${8:Description}
+	--
+snippet import
+	import           \${1:Data.Text}
+snippet import2
+	import           \${1:Data.Text} (\${2:head})
+snippet importq
+	import qualified \${1:Data.Text} as \${2:T}
+snippet inst
+	instance \${1:Monoid} \${2:Type} where
+		\${3}
+snippet type
+	type \${1:Type} = \${2:Type}
+snippet data
+	data \${1:Type} = \${2:$1} \${3:Int}
+snippet newtype
+	newtype \${1:Type} = \${2:$1} \${3:Int}
+snippet class
+	class \${1:Class} a where
+		\${2}
+snippet module
+	module \`substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')\` (
+	)	where
+	\`expand('%') =~ 'Main' ? "\\n\\nmain = do\\n  print \\"hello world\\"" : ""\`
+
+snippet const
+	\${1:name} :: \${2:a}
+	$1 = \${3:undefined}
+snippet fn
+	\${1:fn} :: \${2:a} -> \${3:a}
+	$1 \${4} = \${5:undefined}
+snippet fn2
+	\${1:fn} :: \${2:a} -> \${3:a} -> \${4:a}
+	$1 \${5} = \${6:undefined}
+snippet ap
+	\${1:map} \${2:fn} \${3:list}
+snippet do
+	do
+		
+snippet λ
+	\\\${1:x} -> \${2}
+snippet \\
+	\\\${1:x} -> \${2}
+snippet <-
+	\${1:a} <- \${2:m a}
+snippet ←
+	\${1:a} <- \${2:m a}
+snippet ->
+	\${1:m a} -> \${2:a}
+snippet →
+	\${1:m a} -> \${2:a}
+snippet tup
+	(\${1:a}, \${2:b})
+snippet tup2
+	(\${1:a}, \${2:b}, \${3:c})
+snippet tup3
+	(\${1:a}, \${2:b}, \${3:c}, \${4:d})
+snippet rec
+	\${1:Record} { \${2:recFieldA} = \${3:undefined}
+				, \${4:recFieldB} = \${5:undefined}
+				}
+snippet case
+	case \${1:something} of
+		\${2} -> \${3}
+snippet let
+	let \${1} = \${2}
+	in \${3}
+snippet where
+	where
+		\${1:fn} = \${2:undefined}
+`}),ace.define("ace/snippets/haskell",["require","exports","module","ace/snippets/haskell.snippets"],function(t,n,e){n.snippetText=t("./haskell.snippets"),n.scope="haskell"}),function(){ace.require(["ace/snippets/haskell"],function(t){p&&(p.exports=t)})}()})(a);var $=a.exports;const l=r($),d=o({__proto__:null,default:l},[$]);export{d as h};

+ 1 - 0
frontend/dist/assets/haskell_cabal-ada558c8.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function f(e,o){for(var t=0;t<o.length;t++){const r=o[t];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in e)){const s=Object.getOwnPropertyDescriptor(r,a);s&&Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var l={exports:{}};(function(e,o){(function(){ace.require(["ace/snippets/haskell_cabal"],function(t){e&&(e.exports=t)})})()})(l);var n=l.exports;const i=c(n),u=f({__proto__:null,default:i},[n]);export{u as h};

+ 1 - 0
frontend/dist/assets/haxe-efb234a9.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/haxe"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=c(f),x=i({__proto__:null,default:p},[f]);export{x as h};

+ 1 - 0
frontend/dist/assets/hjson-91de515f.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/hjson"],function(t){e&&(e.exports=t)})})()})(f);var a=f.exports;const p=c(a),g=i({__proto__:null,default:p},[a]);export{g as h};

+ 854 - 0
frontend/dist/assets/html-a1ac0007.js

@@ -0,0 +1,854 @@
+import{g as l}from"./index-fe76da25.js";function r(p,i){for(var n=0;n<i.length;n++){const t=i[n];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in p)){const s=Object.getOwnPropertyDescriptor(t,e);s&&Object.defineProperty(p,e,s.get?s:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var $={exports:{}};(function(p,i){ace.define("ace/snippets/html.snippets",["require","exports","module"],function(n,t,e){e.exports=`# Some useful Unicode entities
+# Non-Breaking Space
+snippet nbs
+	&nbsp;
+# ←
+snippet left
+	&#x2190;
+# →
+snippet right
+	&#x2192;
+# ↑
+snippet up
+	&#x2191;
+# ↓
+snippet down
+	&#x2193;
+# ↩
+snippet return
+	&#x21A9;
+# ⇤
+snippet backtab
+	&#x21E4;
+# ⇥
+snippet tab
+	&#x21E5;
+# ⇧
+snippet shift
+	&#x21E7;
+# ⌃
+snippet ctrl
+	&#x2303;
+# ⌅
+snippet enter
+	&#x2305;
+# ⌘
+snippet cmd
+	&#x2318;
+# ⌥
+snippet option
+	&#x2325;
+# ⌦
+snippet delete
+	&#x2326;
+# ⌫
+snippet backspace
+	&#x232B;
+# ⎋
+snippet esc
+	&#x238B;
+# Generic Doctype
+snippet doctype HTML 4.01 Strict
+	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+	"http://www.w3.org/TR/html4/strict.dtd">
+snippet doctype HTML 4.01 Transitional
+	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+snippet doctype HTML 5
+	<!DOCTYPE HTML>
+snippet doctype XHTML 1.0 Frameset
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+snippet doctype XHTML 1.0 Strict
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+snippet doctype XHTML 1.0 Transitional
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+snippet doctype XHTML 1.1
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+# HTML Doctype 4.01 Strict
+snippet docts
+	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+	"http://www.w3.org/TR/html4/strict.dtd">
+# HTML Doctype 4.01 Transitional
+snippet doct
+	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+# HTML Doctype 5
+snippet doct5
+	<!DOCTYPE html>
+# XHTML Doctype 1.0 Frameset
+snippet docxf
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+# XHTML Doctype 1.0 Strict
+snippet docxs
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+# XHTML Doctype 1.0 Transitional
+snippet docxt
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+# XHTML Doctype 1.1
+snippet docx
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+# html5shiv
+snippet html5shiv
+	<!--[if lte IE 8]>
+		<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"><\/script>
+	<![endif]-->
+snippet html5printshiv
+	<!--[if lte IE 8]>
+		<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"><\/script>
+	<![endif]-->
+# Attributes
+snippet attr
+	\${1:attribute}="\${2:property}"
+snippet attr+
+	\${1:attribute}="\${2:property}" attr+\${3}
+snippet .
+	class="\${1}"\${2}
+snippet #
+	id="\${1}"\${2}
+snippet alt
+	alt="\${1}"\${2}
+snippet charset
+	charset="\${1:utf-8}"\${2}
+snippet data
+	data-\${1}="\${2:$1}"\${3}
+snippet for
+	for="\${1}"\${2}
+snippet height
+	height="\${1}"\${2}
+snippet href
+	href="\${1:#}"\${2}
+snippet lang
+	lang="\${1:en}"\${2}
+snippet media
+	media="\${1}"\${2}
+snippet name
+	name="\${1}"\${2}
+snippet rel
+	rel="\${1}"\${2}
+snippet scope
+	scope="\${1:row}"\${2}
+snippet src
+	src="\${1}"\${2}
+snippet title=
+	title="\${1}"\${2}
+snippet type
+	type="\${1}"\${2}
+snippet value
+	value="\${1}"\${2}
+snippet width
+	width="\${1}"\${2}
+# Elements
+snippet a
+	<a href="\${1:#}">\${2:$1}</a>
+snippet a.
+	<a class="\${1}" href="\${2:#}">\${3:$1}</a>
+snippet a#
+	<a id="\${1}" href="\${2:#}">\${3:$1}</a>
+snippet a:ext
+	<a href="http://\${1:example.com}">\${2:$1}</a>
+snippet a:mail
+	<a href="mailto:\${1:joe@example.com}?subject=\${2:feedback}">\${3:email me}</a>
+snippet abbr
+	<abbr title="\${1}">\${2}</abbr>
+snippet address
+	<address>
+		\${1}
+	</address>
+snippet area
+	<area shape="\${1:rect}" coords="\${2}" href="\${3}" alt="\${4}" />
+snippet area+
+	<area shape="\${1:rect}" coords="\${2}" href="\${3}" alt="\${4}" />
+	area+\${5}
+snippet area:c
+	<area shape="circle" coords="\${1}" href="\${2}" alt="\${3}" />
+snippet area:d
+	<area shape="default" coords="\${1}" href="\${2}" alt="\${3}" />
+snippet area:p
+	<area shape="poly" coords="\${1}" href="\${2}" alt="\${3}" />
+snippet area:r
+	<area shape="rect" coords="\${1}" href="\${2}" alt="\${3}" />
+snippet article
+	<article>
+		\${1}
+	</article>
+snippet article.
+	<article class="\${1}">
+		\${2}
+	</article>
+snippet article#
+	<article id="\${1}">
+		\${2}
+	</article>
+snippet aside
+	<aside>
+		\${1}
+	</aside>
+snippet aside.
+	<aside class="\${1}">
+		\${2}
+	</aside>
+snippet aside#
+	<aside id="\${1}">
+		\${2}
+	</aside>
+snippet audio
+	<audio src="\${1}>\${2}</audio>
+snippet b
+	<b>\${1}</b>
+snippet base
+	<base href="\${1}" target="\${2}" />
+snippet bdi
+	<bdi>\${1}</bdo>
+snippet bdo
+	<bdo dir="\${1}">\${2}</bdo>
+snippet bdo:l
+	<bdo dir="ltr">\${1}</bdo>
+snippet bdo:r
+	<bdo dir="rtl">\${1}</bdo>
+snippet blockquote
+	<blockquote>
+		\${1}
+	</blockquote>
+snippet body
+	<body>
+		\${1}
+	</body>
+snippet br
+	<br />\${1}
+snippet button
+	<button type="\${1:submit}">\${2}</button>
+snippet button.
+	<button class="\${1:button}" type="\${2:submit}">\${3}</button>
+snippet button#
+	<button id="\${1}" type="\${2:submit}">\${3}</button>
+snippet button:s
+	<button type="submit">\${1}</button>
+snippet button:r
+	<button type="reset">\${1}</button>
+snippet canvas
+	<canvas id="\${1:canvas}"></canvas>
+snippet caption
+	<caption>\${1}</caption>
+snippet cite
+	<cite>\${1}</cite>
+snippet code
+	<code>\${1}</code>
+snippet col
+	<col />\${1}
+snippet col+
+	<col />
+	col+\${1}
+snippet colgroup
+	<colgroup>
+		\${1}
+	</colgroup>
+snippet colgroup+
+	<colgroup>
+		<col />
+		col+\${1}
+	</colgroup>
+snippet command
+	<command type="command" label="\${1}" icon="\${2}" />
+snippet command:c
+	<command type="checkbox" label="\${1}" icon="\${2}" />
+snippet command:r
+	<command type="radio" radiogroup="\${1}" label="\${2}" icon="\${3}" />
+snippet datagrid
+	<datagrid>
+		\${1}
+	</datagrid>
+snippet datalist
+	<datalist>
+		\${1}
+	</datalist>
+snippet datatemplate
+	<datatemplate>
+		\${1}
+	</datatemplate>
+snippet dd
+	<dd>\${1}</dd>
+snippet dd.
+	<dd class="\${1}">\${2}</dd>
+snippet dd#
+	<dd id="\${1}">\${2}</dd>
+snippet del
+	<del>\${1}</del>
+snippet details
+	<details>\${1}</details>
+snippet dfn
+	<dfn>\${1}</dfn>
+snippet dialog
+	<dialog>
+		\${1}
+	</dialog>
+snippet div
+	<div>
+		\${1}
+	</div>
+snippet div.
+	<div class="\${1}">
+		\${2}
+	</div>
+snippet div#
+	<div id="\${1}">
+		\${2}
+	</div>
+snippet dl
+	<dl>
+		\${1}
+	</dl>
+snippet dl.
+	<dl class="\${1}">
+		\${2}
+	</dl>
+snippet dl#
+	<dl id="\${1}">
+		\${2}
+	</dl>
+snippet dl+
+	<dl>
+		<dt>\${1}</dt>
+		<dd>\${2}</dd>
+		dt+\${3}
+	</dl>
+snippet dt
+	<dt>\${1}</dt>
+snippet dt.
+	<dt class="\${1}">\${2}</dt>
+snippet dt#
+	<dt id="\${1}">\${2}</dt>
+snippet dt+
+	<dt>\${1}</dt>
+	<dd>\${2}</dd>
+	dt+\${3}
+snippet em
+	<em>\${1}</em>
+snippet embed
+	<embed src=\${1} type="\${2} />
+snippet fieldset
+	<fieldset>
+		\${1}
+	</fieldset>
+snippet fieldset.
+	<fieldset class="\${1}">
+		\${2}
+	</fieldset>
+snippet fieldset#
+	<fieldset id="\${1}">
+		\${2}
+	</fieldset>
+snippet fieldset+
+	<fieldset>
+		<legend><span>\${1}</span></legend>
+		\${2}
+	</fieldset>
+	fieldset+\${3}
+snippet figcaption
+	<figcaption>\${1}</figcaption>
+snippet figure
+	<figure>\${1}</figure>
+snippet footer
+	<footer>
+		\${1}
+	</footer>
+snippet footer.
+	<footer class="\${1}">
+		\${2}
+	</footer>
+snippet footer#
+	<footer id="\${1}">
+		\${2}
+	</footer>
+snippet form
+	<form action="\${1}" method="\${2:get}" accept-charset="utf-8">
+		\${3}
+	</form>
+snippet form.
+	<form class="\${1}" action="\${2}" method="\${3:get}" accept-charset="utf-8">
+		\${4}
+	</form>
+snippet form#
+	<form id="\${1}" action="\${2}" method="\${3:get}" accept-charset="utf-8">
+		\${4}
+	</form>
+snippet h1
+	<h1>\${1}</h1>
+snippet h1.
+	<h1 class="\${1}">\${2}</h1>
+snippet h1#
+	<h1 id="\${1}">\${2}</h1>
+snippet h2
+	<h2>\${1}</h2>
+snippet h2.
+	<h2 class="\${1}">\${2}</h2>
+snippet h2#
+	<h2 id="\${1}">\${2}</h2>
+snippet h3
+	<h3>\${1}</h3>
+snippet h3.
+	<h3 class="\${1}">\${2}</h3>
+snippet h3#
+	<h3 id="\${1}">\${2}</h3>
+snippet h4
+	<h4>\${1}</h4>
+snippet h4.
+	<h4 class="\${1}">\${2}</h4>
+snippet h4#
+	<h4 id="\${1}">\${2}</h4>
+snippet h5
+	<h5>\${1}</h5>
+snippet h5.
+	<h5 class="\${1}">\${2}</h5>
+snippet h5#
+	<h5 id="\${1}">\${2}</h5>
+snippet h6
+	<h6>\${1}</h6>
+snippet h6.
+	<h6 class="\${1}">\${2}</h6>
+snippet h6#
+	<h6 id="\${1}">\${2}</h6>
+snippet head
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+
+		<title>\${1:\`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')\`}</title>
+		\${2}
+	</head>
+snippet header
+	<header>
+		\${1}
+	</header>
+snippet header.
+	<header class="\${1}">
+		\${2}
+	</header>
+snippet header#
+	<header id="\${1}">
+		\${2}
+	</header>
+snippet hgroup
+	<hgroup>
+		\${1}
+	</hgroup>
+snippet hgroup.
+	<hgroup class="\${1}>
+		\${2}
+	</hgroup>
+snippet hr
+	<hr />\${1}
+snippet html
+	<html>
+	\${1}
+	</html>
+snippet xhtml
+	<html xmlns="http://www.w3.org/1999/xhtml">
+	\${1}
+	</html>
+snippet html5
+	<!DOCTYPE html>
+	<html>
+		<head>
+			<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+			<title>\${1:\`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')\`}</title>
+			\${2:meta}
+		</head>
+		<body>
+			\${3:body}
+		</body>
+	</html>
+snippet xhtml5
+	<!DOCTYPE html>
+	<html xmlns="http://www.w3.org/1999/xhtml">
+		<head>
+			<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
+			<title>\${1:\`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')\`}</title>
+			\${2:meta}
+		</head>
+		<body>
+			\${3:body}
+		</body>
+	</html>
+snippet i
+	<i>\${1}</i>
+snippet iframe
+	<iframe src="\${1}" frameborder="0"></iframe>\${2}
+snippet iframe.
+	<iframe class="\${1}" src="\${2}" frameborder="0"></iframe>\${3}
+snippet iframe#
+	<iframe id="\${1}" src="\${2}" frameborder="0"></iframe>\${3}
+snippet img
+	<img src="\${1}" alt="\${2}" />\${3}
+snippet img.
+	<img class="\${1}" src="\${2}" alt="\${3}" />\${4}
+snippet img#
+	<img id="\${1}" src="\${2}" alt="\${3}" />\${4}
+snippet input
+	<input type="\${1:text/submit/hidden/button/image}" name="\${2}" id="\${3:$2}" value="\${4}" />\${5}
+snippet input.
+	<input class="\${1}" type="\${2:text/submit/hidden/button/image}" name="\${3}" id="\${4:$3}" value="\${5}" />\${6}
+snippet input:text
+	<input type="text" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:submit
+	<input type="submit" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:hidden
+	<input type="hidden" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:button
+	<input type="button" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:image
+	<input type="image" name="\${1}" id="\${2:$1}" src="\${3}" alt="\${4}" />\${5}
+snippet input:checkbox
+	<input type="checkbox" name="\${1}" id="\${2:$1}" />\${3}
+snippet input:radio
+	<input type="radio" name="\${1}" id="\${2:$1}" />\${3}
+snippet input:color
+	<input type="color" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:date
+	<input type="date" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:datetime
+	<input type="datetime" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:datetime-local
+	<input type="datetime-local" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:email
+	<input type="email" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:file
+	<input type="file" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:month
+	<input type="month" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:number
+	<input type="number" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:password
+	<input type="password" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:range
+	<input type="range" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:reset
+	<input type="reset" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:search
+	<input type="search" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:time
+	<input type="time" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:url
+	<input type="url" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet input:week
+	<input type="week" name="\${1}" id="\${2:$1}" value="\${3}" />\${4}
+snippet ins
+	<ins>\${1}</ins>
+snippet kbd
+	<kbd>\${1}</kbd>
+snippet keygen
+	<keygen>\${1}</keygen>
+snippet label
+	<label for="\${2:$1}">\${1}</label>
+snippet label:i
+	<label for="\${2:$1}">\${1}</label>
+	<input type="\${3:text/submit/hidden/button}" name="\${4:$2}" id="\${5:$2}" value="\${6}" />\${7}
+snippet label:s
+	<label for="\${2:$1}">\${1}</label>
+	<select name="\${3:$2}" id="\${4:$2}">
+		<option value="\${5}">\${6:$5}</option>
+	</select>
+snippet legend
+	<legend>\${1}</legend>
+snippet legend+
+	<legend><span>\${1}</span></legend>
+snippet li
+	<li>\${1}</li>
+snippet li.
+	<li class="\${1}">\${2}</li>
+snippet li+
+	<li>\${1}</li>
+	li+\${2}
+snippet lia
+	<li><a href="\${2:#}">\${1}</a></li>
+snippet lia+
+	<li><a href="\${2:#}">\${1}</a></li>
+	lia+\${3}
+snippet link
+	<link rel="\${1}" href="\${2}" title="\${3}" type="\${4}" />\${5}
+snippet link:atom
+	<link rel="alternate" href="\${1:atom.xml}" title="Atom" type="application/atom+xml" />\${2}
+snippet link:css
+	<link rel="stylesheet" href="\${2:style.css}" type="text/css" media="\${3:all}" />\${4}
+snippet link:favicon
+	<link rel="shortcut icon" href="\${1:favicon.ico}" type="image/x-icon" />\${2}
+snippet link:rss
+	<link rel="alternate" href="\${1:rss.xml}" title="RSS" type="application/atom+xml" />\${2}
+snippet link:touch
+	<link rel="apple-touch-icon" href="\${1:favicon.png}" />\${2}
+snippet map
+	<map name="\${1}">
+		\${2}
+	</map>
+snippet map.
+	<map class="\${1}" name="\${2}">
+		\${3}
+	</map>
+snippet map#
+	<map name="\${1}" id="\${2:$1}>
+		\${3}
+	</map>
+snippet map+
+	<map name="\${1}">
+		<area shape="\${2}" coords="\${3}" href="\${4}" alt="\${5}" />\${6}
+	</map>\${7}
+snippet mark
+	<mark>\${1}</mark>
+snippet menu
+	<menu>
+		\${1}
+	</menu>
+snippet menu:c
+	<menu type="context">
+		\${1}
+	</menu>
+snippet menu:t
+	<menu type="toolbar">
+		\${1}
+	</menu>
+snippet meta
+	<meta http-equiv="\${1}" content="\${2}" />\${3}
+snippet meta:compat
+	<meta http-equiv="X-UA-Compatible" content="IE=\${1:7,8,edge}" />\${3}
+snippet meta:refresh
+	<meta http-equiv="refresh" content="text/html;charset=UTF-8" />\${3}
+snippet meta:utf
+	<meta http-equiv="content-type" content="text/html;charset=UTF-8" />\${3}
+snippet meter
+	<meter>\${1}</meter>
+snippet nav
+	<nav>
+		\${1}
+	</nav>
+snippet nav.
+	<nav class="\${1}">
+		\${2}
+	</nav>
+snippet nav#
+	<nav id="\${1}">
+		\${2}
+	</nav>
+snippet noscript
+	<noscript>
+		\${1}
+	</noscript>
+snippet object
+	<object data="\${1}" type="\${2}">
+		\${3}
+	</object>\${4}
+# Embed QT Movie
+snippet movie
+	<object width="$2" height="$3" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
+	 codebase="http://www.apple.com/qtactivex/qtplugin.cab">
+		<param name="src" value="$1" />
+		<param name="controller" value="$4" />
+		<param name="autoplay" value="$5" />
+		<embed src="\${1:movie.mov}"
+			width="\${2:320}" height="\${3:240}"
+			controller="\${4:true}" autoplay="\${5:true}"
+			scale="tofit" cache="true"
+			pluginspage="http://www.apple.com/quicktime/download/" />
+	</object>\${6}
+snippet ol
+	<ol>
+		\${1}
+	</ol>
+snippet ol.
+	<ol class="\${1}>
+		\${2}
+	</ol>
+snippet ol#
+	<ol id="\${1}>
+		\${2}
+	</ol>
+snippet ol+
+	<ol>
+		<li>\${1}</li>
+		li+\${2}
+	</ol>
+snippet opt
+	<option value="\${1}">\${2:$1}</option>
+snippet opt+
+	<option value="\${1}">\${2:$1}</option>
+	opt+\${3}
+snippet optt
+	<option>\${1}</option>
+snippet optgroup
+	<optgroup>
+		<option value="\${1}">\${2:$1}</option>
+		opt+\${3}
+	</optgroup>
+snippet output
+	<output>\${1}</output>
+snippet p
+	<p>\${1}</p>
+snippet param
+	<param name="\${1}" value="\${2}" />\${3}
+snippet pre
+	<pre>
+		\${1}
+	</pre>
+snippet progress
+	<progress>\${1}</progress>
+snippet q
+	<q>\${1}</q>
+snippet rp
+	<rp>\${1}</rp>
+snippet rt
+	<rt>\${1}</rt>
+snippet ruby
+	<ruby>
+		<rp><rt>\${1}</rt></rp>
+	</ruby>
+snippet s
+	<s>\${1}</s>
+snippet samp
+	<samp>
+		\${1}
+	</samp>
+snippet script
+	<script type="text/javascript" charset="utf-8">
+		\${1}
+	<\/script>
+snippet scriptsrc
+	<script src="\${1}.js" type="text/javascript" charset="utf-8"><\/script>
+snippet newscript
+	<script type="application/javascript" charset="utf-8">
+		\${1}
+	<\/script>
+snippet newscriptsrc
+	<script src="\${1}.js" type="application/javascript" charset="utf-8"><\/script>
+snippet section
+	<section>
+		\${1}
+	</section>
+snippet section.
+	<section class="\${1}">
+		\${2}
+	</section>
+snippet section#
+	<section id="\${1}">
+		\${2}
+	</section>
+snippet select
+	<select name="\${1}" id="\${2:$1}">
+		\${3}
+	</select>
+snippet select.
+	<select name="\${1}" id="\${2:$1}" class="\${3}>
+		\${4}
+	</select>
+snippet select+
+	<select name="\${1}" id="\${2:$1}">
+		<option value="\${3}">\${4:$3}</option>
+		opt+\${5}
+	</select>
+snippet small
+	<small>\${1}</small>
+snippet source
+	<source src="\${1}" type="\${2}" media="\${3}" />
+snippet span
+	<span>\${1}</span>
+snippet strong
+	<strong>\${1}</strong>
+snippet style
+	<style type="text/css" media="\${1:all}">
+		\${2}
+	</style>
+snippet sub
+	<sub>\${1}</sub>
+snippet summary
+	<summary>
+		\${1}
+	</summary>
+snippet sup
+	<sup>\${1}</sup>
+snippet table
+	<table border="\${1:0}">
+		\${2}
+	</table>
+snippet table.
+	<table class="\${1}" border="\${2:0}">
+		\${3}
+	</table>
+snippet table#
+	<table id="\${1}" border="\${2:0}">
+		\${3}
+	</table>
+snippet tbody
+	<tbody>
+		\${1}
+	</tbody>
+snippet td
+	<td>\${1}</td>
+snippet td.
+	<td class="\${1}">\${2}</td>
+snippet td#
+	<td id="\${1}">\${2}</td>
+snippet td+
+	<td>\${1}</td>
+	td+\${2}
+snippet textarea
+	<textarea name="\${1}" id=\${2:$1} rows="\${3:8}" cols="\${4:40}">\${5}</textarea>\${6}
+snippet tfoot
+	<tfoot>
+		\${1}
+	</tfoot>
+snippet th
+	<th>\${1}</th>
+snippet th.
+	<th class="\${1}">\${2}</th>
+snippet th#
+	<th id="\${1}">\${2}</th>
+snippet th+
+	<th>\${1}</th>
+	th+\${2}
+snippet thead
+	<thead>
+		\${1}
+	</thead>
+snippet time
+	<time datetime="\${1}" pubdate="\${2:$1}>\${3:$1}</time>
+snippet title
+	<title>\${1:\`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')\`}</title>
+snippet tr
+	<tr>
+		\${1}
+	</tr>
+snippet tr+
+	<tr>
+		<td>\${1}</td>
+		td+\${2}
+	</tr>
+snippet track
+	<track src="\${1}" srclang="\${2}" label="\${3}" default="\${4:default}>\${5}</track>\${6}
+snippet ul
+	<ul>
+		\${1}
+	</ul>
+snippet ul.
+	<ul class="\${1}">
+		\${2}
+	</ul>
+snippet ul#
+	<ul id="\${1}">
+		\${2}
+	</ul>
+snippet ul+
+	<ul>
+		<li>\${1}</li>
+		li+\${2}
+	</ul>
+snippet var
+	<var>\${1}</var>
+snippet video
+	<video src="\${1}" height="\${2}" width="\${3}" preload="\${5:none}" autoplay="\${6:autoplay}">\${7}</video>\${8}
+snippet wbr
+	<wbr />\${1}
+`}),ace.define("ace/snippets/html",["require","exports","module","ace/snippets/html.snippets"],function(n,t,e){t.snippetText=n("./html.snippets"),t.scope="html"}),function(){ace.require(["ace/snippets/html"],function(n){p&&(p.exports=n)})}()})($);var a=$.exports;const o=l(a),c=r({__proto__:null,default:o},[a]);export{c as h};

+ 1 - 0
frontend/dist/assets/html_elixir-8d43fb8a.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function a(e,i){for(var t=0;t<i.length;t++){const r=i[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,i){(function(){ace.require(["ace/snippets/html_elixir"],function(t){e&&(e.exports=t)})})()})(s);var l=s.exports;const c=f(l),u=a({__proto__:null,default:c},[l]);export{u as h};

+ 1 - 0
frontend/dist/assets/html_ruby-dae1a01b.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(t,n){for(var e=0;e<n.length;e++){const r=n[e];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(t,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(t,n){(function(){ace.require(["ace/snippets/html_ruby"],function(e){t&&(t.exports=e)})})()})(f);var u=f.exports;const i=a(u),l=c({__proto__:null,default:i},[u]);export{l as h};

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 8
frontend/dist/assets/index-1fb20f5f.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/index-49502c45.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
frontend/dist/assets/index-ad9b6d43.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 8 - 0
frontend/dist/assets/index-fe76da25.js


+ 1 - 0
frontend/dist/assets/ini-7420df00.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,i){for(var t=0;t<i.length;t++){const r=i[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const n=Object.getOwnPropertyDescriptor(r,o);n&&Object.defineProperty(e,o,n.get?n:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,i){(function(){ace.require(["ace/snippets/ini"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=a(f),g=c({__proto__:null,default:p},[f]);export{g as i};

+ 7 - 0
frontend/dist/assets/io-537089be.js

@@ -0,0 +1,7 @@
+import{g as s}from"./index-fe76da25.js";function p(t,r){for(var o=0;o<r.length;o++){const e=r[o];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in t)){const i=Object.getOwnPropertyDescriptor(e,n);i&&Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(t,r){ace.define("ace/snippets/io",["require","exports","module"],function(o,e,n){e.snippets=[{content:"assertEquals(${1:expected}, ${2:expr})",name:"assertEquals",scope:"io",tabTrigger:"ae"},{content:"${1:${2:newValue} := ${3:Object} }clone do(\n	$0\n)",name:"clone do",scope:"io",tabTrigger:"cdo"},{content:'docSlot("${1:slotName}", "${2:documentation}")',name:"docSlot",scope:"io",tabTrigger:"ds"},{content:"(${1:header,}\n	${2:body}\n)$0",keyEquivalent:"@(",name:"Indented Bracketed Line",scope:"io",tabTrigger:"("},{content:`
+	$0
+`,keyEquivalent:"\r",name:"Special: Return Inside Empty Parenthesis",scope:"io meta.empty-parenthesis.io, io meta.comma-parenthesis.io"},{content:"${1:methodName} := method(${2:args,}\n	$0\n)",name:"method",scope:"io",tabTrigger:"m"},{content:'newSlot("${1:slotName}", ${2:defaultValue}, "${3:docString}")$0',name:"newSlot",scope:"io",tabTrigger:"ns"},{content:`\${1:name} := Object clone do(
+	$0
+)`,name:"Object clone do",scope:"io",tabTrigger:"ocdo"},{content:`test\${1:SomeFeature} := method(
+	$0
+)`,name:"testMethod",scope:"io",tabTrigger:"ts"},{content:"${1:Something}Test := ${2:UnitTest} clone do(\n	$0\n)",name:"UnitTest",scope:"io",tabTrigger:"ut"}],e.scope="io"}),function(){ace.require(["ace/snippets/io"],function(o){t&&(t.exports=o)})}()})(a);var c=a.exports;const m=s(c),g=p({__proto__:null,default:m},[c]);export{g as i};

+ 1 - 0
frontend/dist/assets/ion-9039ac30.js

@@ -0,0 +1 @@
+import{g as a}from"./index-fe76da25.js";function c(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(r,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/ion"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=a(f),g=c({__proto__:null,default:p},[f]);export{g as i};

+ 1 - 0
frontend/dist/assets/jack-95445f6e.js

@@ -0,0 +1 @@
+import{g as f}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/jack"],function(t){e&&(e.exports=t)})})()})(c);var s=c.exports;const p=f(s),j=i({__proto__:null,default:p},[s]);export{j};

+ 1 - 0
frontend/dist/assets/jade-3b8a369c.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/jade"],function(t){e&&(e.exports=t)})})()})(s);var f=s.exports;const p=c(f),j=i({__proto__:null,default:p},[f]);export{j};

+ 241 - 0
frontend/dist/assets/java-e0460539.js

@@ -0,0 +1,241 @@
+import{g as $}from"./index-fe76da25.js";function o(p,s){for(var t=0;t<s.length;t++){const n=s[t];if(typeof n!="string"&&!Array.isArray(n)){for(const e in n)if(e!=="default"&&!(e in p)){const i=Object.getOwnPropertyDescriptor(n,e);i&&Object.defineProperty(p,e,i.get?i:{enumerable:!0,get:()=>n[e]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var r={exports:{}};(function(p,s){ace.define("ace/snippets/java.snippets",["require","exports","module"],function(t,n,e){e.exports=`## Access Modifiers
+snippet po
+	protected
+snippet pu
+	public
+snippet pr
+	private
+##
+## Annotations
+snippet before
+	@Before
+	static void \${1:intercept}(\${2:args}) { \${3} }
+snippet mm
+	@ManyToMany
+	\${1}
+snippet mo
+	@ManyToOne
+	\${1}
+snippet om
+	@OneToMany\${1:(cascade=CascadeType.ALL)}
+	\${2}
+snippet oo
+	@OneToOne
+	\${1}
+##
+## Basic Java packages and import
+snippet im
+	import
+snippet j.b
+	java.beans.
+snippet j.i
+	java.io.
+snippet j.m
+	java.math.
+snippet j.n
+	java.net.
+snippet j.u
+	java.util.
+##
+## Class
+snippet cl
+	class \${1:\`Filename("", "untitled")\`} \${2}
+snippet in
+	interface \${1:\`Filename("", "untitled")\`} \${2:extends Parent}\${3}
+snippet tc
+	public class \${1:\`Filename()\`} extends \${2:TestCase}
+##
+## Class Enhancements
+snippet ext
+	extends 
+snippet imp
+	implements
+##
+## Comments
+snippet /*
+	/*
+	 * \${1}
+	 */
+##
+## Constants
+snippet co
+	static public final \${1:String} \${2:var} = \${3};\${4}
+snippet cos
+	static public final String \${1:var} = "\${2}";\${3}
+##
+## Control Statements
+snippet case
+	case \${1}:
+		\${2}
+snippet def
+	default:
+		\${2}
+snippet el
+	else
+snippet elif
+	else if (\${1}) \${2}
+snippet if
+	if (\${1}) \${2}
+snippet sw
+	switch (\${1}) {
+		\${2}
+	}
+##
+## Create a Method
+snippet m
+	\${1:void} \${2:method}(\${3}) \${4:throws }\${5}
+##
+## Create a Variable
+snippet v
+	\${1:String} \${2:var}\${3: = null}\${4};\${5}
+##
+## Enhancements to Methods, variables, classes, etc.
+snippet ab
+	abstract
+snippet fi
+	final
+snippet st
+	static
+snippet sy
+	synchronized
+##
+## Error Methods
+snippet err
+	System.err.print("\${1:Message}");
+snippet errf
+	System.err.printf("\${1:Message}", \${2:exception});
+snippet errln
+	System.err.println("\${1:Message}");
+##
+## Exception Handling
+snippet as
+	assert \${1:test} : "\${2:Failure message}";\${3}
+snippet ca
+	catch(\${1:Exception} \${2:e}) \${3}
+snippet thr
+	throw
+snippet ths
+	throws
+snippet try
+	try {
+		\${3}
+	} catch(\${1:Exception} \${2:e}) {
+	}
+snippet tryf
+	try {
+		\${3}
+	} catch(\${1:Exception} \${2:e}) {
+	} finally {
+	}
+##
+## Find Methods
+snippet findall
+	List<\${1:listName}> \${2:items} = \${1}.findAll();\${3}
+snippet findbyid
+	\${1:var} \${2:item} = \${1}.findById(\${3});\${4}
+##
+## Javadocs
+snippet /**
+	/**
+	 * \${1}
+	 */
+snippet @au
+	@author \`system("grep \\\`id -un\\\` /etc/passwd | cut -d \\":\\" -f5 | cut -d \\",\\" -f1")\`
+snippet @br
+	@brief \${1:Description}
+snippet @fi
+	@file \${1:\`Filename()\`}.java
+snippet @pa
+	@param \${1:param}
+snippet @re
+	@return \${1:param}
+##
+## Logger Methods
+snippet debug
+	Logger.debug(\${1:param});\${2}
+snippet error
+	Logger.error(\${1:param});\${2}
+snippet info
+	Logger.info(\${1:param});\${2}
+snippet warn
+	Logger.warn(\${1:param});\${2}
+##
+## Loops
+snippet enfor
+	for (\${1} : \${2}) \${3}
+snippet for
+	for (\${1}; \${2}; \${3}) \${4}
+snippet wh
+	while (\${1}) \${2}
+##
+## Main method
+snippet main
+	public static void main (String[] args) {
+		\${1:/* code */}
+	}
+##
+## Print Methods
+snippet print
+	System.out.print("\${1:Message}");
+snippet printf
+	System.out.printf("\${1:Message}", \${2:args});
+snippet println
+	System.out.println(\${1});
+##
+## Render Methods
+snippet ren
+	render(\${1:param});\${2}
+snippet rena
+	renderArgs.put("\${1}", \${2});\${3}
+snippet renb
+	renderBinary(\${1:param});\${2}
+snippet renj
+	renderJSON(\${1:param});\${2}
+snippet renx
+	renderXml(\${1:param});\${2}
+##
+## Setter and Getter Methods
+snippet set
+	\${1:public} void set\${3:}(\${2:String} \${4:}){
+		this.$4 = $4;
+	}
+snippet get
+	\${1:public} \${2:String} get\${3:}(){
+		return this.\${4:};
+	}
+##
+## Terminate Methods or Loops
+snippet re
+	return
+snippet br
+	break;
+##
+## Test Methods
+snippet t
+	public void test\${1:Name}() throws Exception {
+		\${2}
+	}
+snippet test
+	@Test
+	public void test\${1:Name}() throws Exception {
+		\${2}
+	}
+##
+## Utils
+snippet Sc
+	Scanner
+##
+## Miscellaneous
+snippet action
+	public static void \${1:index}(\${2:args}) { \${3} }
+snippet rnf
+	notFound(\${1:param});\${2}
+snippet rnfin
+	notFoundIfNull(\${1:param});\${2}
+snippet rr
+	redirect(\${1:param});\${2}
+snippet ru
+	unauthorized(\${1:param});\${2}
+snippet unless
+	(unless=\${1:param});\${2}
+`}),ace.define("ace/snippets/java",["require","exports","module","ace/snippets/java.snippets"],function(t,n,e){n.snippetText=t("./java.snippets"),n.scope="java"}),function(){ace.require(["ace/snippets/java"],function(t){p&&(p.exports=t)})}()})(r);var a=r.exports;const c=$(a),d=o({__proto__:null,default:c},[a]);export{d as j};

+ 196 - 0
frontend/dist/assets/javascript-4ed1cfb3.js

@@ -0,0 +1,196 @@
+import{g as $}from"./index-fe76da25.js";function c(i,r){for(var n=0;n<r.length;n++){const t=r[n];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in i)){const s=Object.getOwnPropertyDescriptor(t,e);s&&Object.defineProperty(i,e,s.get?s:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var o={exports:{}};(function(i,r){ace.define("ace/snippets/javascript.snippets",["require","exports","module"],function(n,t,e){e.exports=`# Prototype
+snippet proto
+	\${1:class_name}.prototype.\${2:method_name} = function(\${3:first_argument}) {
+		\${4:// body...}
+	};
+# Function
+snippet fun
+	function \${1?:function_name}(\${2:argument}) {
+		\${3:// body...}
+	}
+# Anonymous Function
+regex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/
+snippet f
+	function\${M1?: \${1:functionName}}($2) {
+		\${0:$TM_SELECTED_TEXT}
+	}\${M2?;}\${M3?,}\${M4?)}
+# Immediate function
+trigger \\(?f\\(
+endTrigger \\)?
+snippet f(
+	(function(\${1}) {
+		\${0:\${TM_SELECTED_TEXT:/* code */}}
+	}(\${1}));
+# if
+snippet if
+	if (\${1:true}) {
+		\${0}
+	}
+# if ... else
+snippet ife
+	if (\${1:true}) {
+		\${2}
+	} else {
+		\${0}
+	}
+# tertiary conditional
+snippet ter
+	\${1:/* condition */} ? \${2:a} : \${3:b}
+# switch
+snippet switch
+	switch (\${1:expression}) {
+		case '\${3:case}':
+			\${4:// code}
+			break;
+		\${5}
+		default:
+			\${2:// code}
+	}
+# case
+snippet case
+	case '\${1:case}':
+		\${2:// code}
+		break;
+	\${3}
+
+# while (...) {...}
+snippet wh
+	while (\${1:/* condition */}) {
+		\${0:/* code */}
+	}
+# try
+snippet try
+	try {
+		\${0:/* code */}
+	} catch (e) {}
+# do...while
+snippet do
+	do {
+		\${2:/* code */}
+	} while (\${1:/* condition */});
+# Object Method
+snippet :f
+regex /([,{[])|^\\s*/:f/
+	\${1:method_name}: function(\${2:attribute}) {
+		\${0}
+	}\${3:,}
+# setTimeout function
+snippet setTimeout
+regex /\\b/st|timeout|setTimeo?u?t?/
+	setTimeout(function() {\${3:$TM_SELECTED_TEXT}}, \${1:10});
+# Get Elements
+snippet gett
+	getElementsBy\${1:TagName}('\${2}')\${3}
+# Get Element
+snippet get
+	getElementBy\${1:Id}('\${2}')\${3}
+# console.log (Firebug)
+snippet cl
+	console.log(\${1});
+# return
+snippet ret
+	return \${1:result}
+# for (property in object ) { ... }
+snippet fori
+	for (var \${1:prop} in \${2:Things}) {
+		\${0:$2[$1]}
+	}
+# hasOwnProperty
+snippet has
+	hasOwnProperty(\${1})
+# docstring
+snippet /**
+	/**
+	 * \${1:description}
+	 *
+	 */
+snippet @par
+regex /^\\s*\\*\\s*/@(para?m?)?/
+	@param {\${1:type}} \${2:name} \${3:description}
+snippet @ret
+	@return {\${1:type}} \${2:description}
+# JSON.parse
+snippet jsonp
+	JSON.parse(\${1:jstr});
+# JSON.stringify
+snippet jsons
+	JSON.stringify(\${1:object});
+# self-defining function
+snippet sdf
+	var \${1:function_name} = function(\${2:argument}) {
+		\${3:// initial code ...}
+
+		$1 = function($2) {
+			\${4:// main code}
+		};
+	}
+# singleton
+snippet sing
+	function \${1:Singleton} (\${2:argument}) {
+		// the cached instance
+		var instance;
+
+		// rewrite the constructor
+		$1 = function $1($2) {
+			return instance;
+		};
+		
+		// carry over the prototype properties
+		$1.prototype = this;
+
+		// the instance
+		instance = new $1();
+
+		// reset the constructor pointer
+		instance.constructor = $1;
+
+		\${3:// code ...}
+
+		return instance;
+	}
+# class
+snippet class
+regex /^\\s*/clas{0,2}/
+	var \${1:class} = function(\${20}) {
+		$40$0
+	};
+	
+	(function() {
+		\${60:this.prop = ""}
+	}).call(\${1:class}.prototype);
+	
+	exports.\${1:class} = \${1:class};
+# 
+snippet for-
+	for (var \${1:i} = \${2:Things}.length; \${1:i}--; ) {
+		\${0:\${2:Things}[\${1:i}];}
+	}
+# for (...) {...}
+snippet for
+	for (var \${1:i} = 0; $1 < \${2:Things}.length; $1++) {
+		\${3:$2[$1]}$0
+	}
+# for (...) {...} (Improved Native For-Loop)
+snippet forr
+	for (var \${1:i} = \${2:Things}.length - 1; $1 >= 0; $1--) {
+		\${3:$2[$1]}$0
+	}
+
+
+#modules
+snippet def
+	define(function(require, exports, module) {
+	"use strict";
+	var \${1/.*\\///} = require("\${1}");
+	
+	$TM_SELECTED_TEXT
+	});
+snippet req
+guard ^\\s*
+	var \${1/.*\\///} = require("\${1}");
+	$0
+snippet requ
+guard ^\\s*
+	var \${1/.*\\/(.)/\\u$1/} = require("\${1}").\${1/.*\\/(.)/\\u$1/};
+	$0
+`}),ace.define("ace/snippets/javascript",["require","exports","module","ace/snippets/javascript.snippets"],function(n,t,e){t.snippetText=n("./javascript.snippets"),t.scope="javascript"}),function(){ace.require(["ace/snippets/javascript"],function(n){i&&(i.exports=n)})}()})(o);var p=o.exports;const a=$(p),f=c({__proto__:null,default:a},[p]);export{f as j};

+ 1 - 0
frontend/dist/assets/jexl-e98249d5.js

@@ -0,0 +1 @@
+import{g as c}from"./index-fe76da25.js";function i(e,n){for(var t=0;t<n.length;t++){const r=n[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(e,n){(function(){ace.require(["ace/snippets/jexl"],function(t){e&&(e.exports=t)})})()})(f);var a=f.exports;const p=c(a),u=i({__proto__:null,default:p},[a]);export{u as j};

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác