From 3157027c062433ab9c35459cbebc3af19a610019 Mon Sep 17 00:00:00 2001
From: Zhaoqun Bian
Date: Wed, 22 May 2019 23:03:56 -0400
Subject: [PATCH 1/5] Fix issue
---
editor/third/livewriting.js | 1916 ++++++++++++++++++++++++++++++++++-
utils/base.js | 3 +-
2 files changed, 1917 insertions(+), 2 deletions(-)
mode change 120000 => 100644 editor/third/livewriting.js
diff --git a/editor/third/livewriting.js b/editor/third/livewriting.js
deleted file mode 120000
index e74ae40..0000000
--- a/editor/third/livewriting.js
+++ /dev/null
@@ -1 +0,0 @@
-../../node_modules/livewriting/index.js
\ No newline at end of file
diff --git a/editor/third/livewriting.js b/editor/third/livewriting.js
new file mode 100644
index 0000000..b5e341c
--- /dev/null
+++ b/editor/third/livewriting.js
@@ -0,0 +1,1915 @@
+/*
+(c) Copyright 2014-2015 Sang Won Lee sangwonlee717@gmail.com
+All rights reserved.
+*/
+
+/*jslint browser: true*/
+/*global $, jQuery, alert*/
+/*global define */
+var DEBUG = false;
+/* ****
+live writing requires jQuery and jQuery-ui
+*/
+if(typeof require != "undefined"){
+ try {
+ jQuery = require('jquery');
+ require('jquery-ui');
+ }
+ catch (e) {
+ if (DEBUG) console.error("require error. ")
+ }
+}
+
+if ( typeof jQuery == "undefined"){
+ if(DEBUG)console.error("Live Writing API requires jQuery.")
+}
+else{
+ if(DEBUG)console.log("jQuery detected live writing running ");
+
+ var livewriting = (function ($) {
+ "use strict";
+
+ var INSTANTPLAYBACK = false,
+ SLIDER_UPDATE_INTERVAL = 100,
+ INACTIVE_SKIP_THRESHOLD = 2000,
+ SKIP_RESUME_WARMUP_TIME = 1000,
+ randomcolor = [ "#c0c0f0", "#f0c0c0", "#c0f0c0", "#f090f0", "#90f0f0", "#f0f090"],
+ lw_histogram_bin_number = 480,
+ canvas_histogram_width = 480,
+ canvas_histogram_height = 50,
+ keyup_debug_color_index=0,
+ keydown_debug_color_index=0,
+ keypress_debug_color_index=0,
+ mouseup_debug_color_index=0,
+ double_click_debug_color_index=0,
+ nonTypingKey={// this keycode is from http://css-tricks.com/snippets/javascript/javascript-keycodes/
+ BACKSPACE:8,
+ TAB:9,
+ ENTER:13,
+ SHIFT:16,
+ CTRL:17,
+ ALT:18,
+ PAUSE_BREAK:19,
+ CAPS_LOCK:20,
+ ESCAPE: 27,
+ SPACE: 32,
+ PAGE_UP: 33,
+ PAGE_DOWN: 34,
+ END: 35,
+ HOME: 36,
+ LEFT_ARROW: 37,
+ UP_ARROW: 38,
+ RIGHT_ARROW: 39,
+ DOWN_ARROW: 40,
+ INSERT: 45,
+ DELETE: 46},
+ getUrlVars = function(){
+ var vars = [], hash;
+ var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+ for(var i = 0; i < hashes.length; i++)
+ {
+ hash = hashes[i].split('=');
+ vars.push(hash[0]);
+ vars[hash[0]] = hash[1];
+ }
+ return vars;
+ },
+ setCursorPosition = function(input, selectionStart, selectionEnd) {
+ if (input.setSelectionRange) {
+ input.focus();
+ input.setSelectionRange(selectionStart, selectionEnd);
+ }
+ else if (input.createTextRange) {
+ var range = input.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', selectionEnd);
+ range.moveStart('character', selectionStart);
+ range.select();
+ }
+ },
+ getUrlVar = function(name){
+ return getUrlVars()[name];
+ },
+ getChar = function (event) {
+ if (event.which == null) {
+ return String.fromCharCode(event.keyCode) // IE
+ } else if (event.which!=0 && event.charCode!=0) {
+ return String.fromCharCode(event.which) // the rest
+ } else {
+ return null // special key
+ }
+ },
+ getCursorTextAreaPosition = function () {
+ var el = this,
+ pos = {};
+ if (typeof el.selectionStart == "number" &&
+ typeof el.selectionEnd == "number") {
+ pos[0] = el.selectionStart;
+ pos[1] = el.selectionEnd;
+ } else if ('selection' in document) {
+ // have not checked in IE browsers
+ el.focus();
+ var Sel = document.selection.createRange(),
+ SelLength = document.selection.createRange().text.length;
+ Sel.moveStart('character', -el.value.length);
+ pos[0] = Sel.text.length - SelLength;
+ pos[1] = Sel.text.length - SelLength;
+ }
+ return pos;
+ },
+ isCaretMovingKey = function(keycode){
+ return (keycode == nonTypingKey["LEFT_ARROW"]
+ ||keycode==nonTypingKey["RIGHT_ARROW"]
+ ||keycode==nonTypingKey["UP_ARROW"]
+ ||keycode==nonTypingKey["DOWN_ARROW"]
+ ||keycode==nonTypingKey["HOME"]
+ ||keycode==nonTypingKey["END"]
+ ||keycode==nonTypingKey["PAGE_UP"]
+ ||keycode==nonTypingKey["PAGE_DOWN"]);
+ },
+ keyUpTextareaFunc= function (ev) {
+ /*
+ record keyCode, timestamp, cursor caret position.
+ */
+ //ev.trigger();
+ var timestamp = (new Date()).getTime() - this.lw_startTime,
+ keycode = getChar(ev),
+ index = this.lw_liveWritingJsonData.length;
+
+
+ if (keycode==nonTypingKey["BACKSPACE"]|| keycode==nonTypingKey["DELETE"]){
+
+ var prevKeyDown = index-1;
+ if (this.lw_liveWritingJsonData[prevKeyDown]["p"] == "keydown" && this.lw_liveWritingJsonData[prevKeyDown]["k"] == keycode){
+ this.lw_liveWritingJsonData[prevKeyDown]["s"] = ev.srcElement.selectionStart; // this is needed for double click selection which eat-up extra space.
+ this.lw_liveWritingJsonData[prevKeyDown]["keyup_fixed"] = true
+ }
+ this.lw_liveWritingJsonData[index-1]["s"] = ev.srcElement.selectionStart; // this is needed for double click selection which eat-up extra space.
+ }
+
+ if(DEBUG){
+ $("#keyup_debug").html(keycode);
+ $("#start_up_debug").html(ev.srcElement.selectionStart);
+ $("#end_up_debug").html(ev.srcElement.selectionEnd);
+
+ keyup_debug_color_index++;
+ keyup_debug_color_index%=randomcolor.length;
+ $("#keyup_debug").css("background-color", randomcolor[keyup_debug_color_index]);
+ }
+ },
+ dblclickTextareaFunc = function(ev){
+ var timestamp = (new Date()).getTime() - this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ keycode = (ev.keyCode ? ev.keyCode : ev.which),
+ index = this.lw_liveWritingJsonData.length;
+
+ if(DEBUG){
+ $("#double_click_debug").html(keycode);
+ $("#start_double_click_debug").html(pos[0]);
+ $("#end_double_click_debug").html(pos[1]);
+
+ double_click_debug_color_index++;
+ double_click_debug_color_index%=randomcolor.length;
+ $("#double_click_debug").css("background-color", randomcolor[double_click_debug_color_index]);
+ }
+ },
+ keyDownTextareaFunc= function (ev) {
+ /*
+ record keyCode, timestamp, cursor caret position.
+ */
+ // ev.preventDefault();
+ var timestamp = (new Date()).getTime() - this.lw_startTime,
+ it = this,
+ keycode = (ev.keyCode ? ev.keyCode : ev.which),
+ index = this.lw_liveWritingJsonData.length,
+ siStart = 0,
+ siEnd=0;
+ it.lw_keyDownState = true;
+
+ if (typeof(ev.srcElement.selectionStart) != "undefined" && typeof(ev.srcElement.selectionEnd) != "undefined" ){
+ siStart = ev.srcElement.selectionStart;
+ siEnd = ev.srcElement.selectionEnd;
+ }
+ else{
+ pos = this.lw_getCursorTextAreaPosition();
+ siStart = pos[0];
+ siEnd = pos[1]
+ }
+
+ if (ev.metaKey === true || ev.ctrlKey === true) {
+ if (keycode === 89) {
+ //fire your custom redo logic
+ this.lw_REDO_TRIGGER = true;
+ }
+ else if (keycode === 90) {
+ //special case (CTRL-SHIFT-Z) does a redo (on a mac for example)
+ if (ev.shiftKey === true) {
+ //fire your custom redo logic
+ this.lw_REDO_TRIGGER = true;
+ }
+ else {
+ //fire your custom undo logic
+ this.lw_UNDO_TRIGGER = true;
+ }
+ }
+ else if (keycode ===65) { // this is select All command.
+ this.lw_liveWritingJsonData[index] = {"p":"keydown", "t":timestamp, "k":nonTypingKey["UP_ARROW"], "s":0, "e":this.value.length };
+ }
+ if(DEBUG) console.log ("undo:" + this.lw_UNDO_TRIGGER + ", redo:" + this.lw_REDO_TRIGGER);
+ this.lw_mostRecentValue = this.value;
+ return;
+ }
+ it.lw_prevSelectionStart = siStart;
+ it.lw_prevSelectionEnd = siEnd;
+
+ if (keycode==nonTypingKey["BACKSPACE"]|| keycode==nonTypingKey["DELETE"]){
+ this.lw_liveWritingJsonData[index] = {"p":"keydown", "t":timestamp, "k":keycode, "s":siStart, "e":siEnd };
+ if(DEBUG)console.log("key down:" + JSON.stringify(this.lw_liveWritingJsonData[index]) ) ;
+ }
+ else if (isCaretMovingKey(keycode)){ // for caret moving key, we want to know the position of the cursor after the event occurs.
+ var that=this;
+ setTimeout(function(){// this is because cursor position is not yet updated.
+ var pos_temp = that.lw_getCursorTextAreaPosition();
+ that.lw_liveWritingJsonData[index] = {"p":"keydown", "t":timestamp, "k":keycode, "s":pos_temp[0], "e":pos_temp[1] };
+ if(DEBUG)console.log("key down:" + JSON.stringify(that.lw_liveWritingJsonData[index]) ) ;
+
+ },0);
+ }
+ else{
+ if(DEBUG)console.log("key down: (not logged) - (" + ev.srcElement.selectionStart + "," + ev.srcElement.selectionEnd + ")") ;
+ }
+ if(DEBUG)console.log("key down:" + keycode );
+ if(DEBUG){
+ $("#keydown_debug").html(keycode);
+ $("#start_down_debug").html(siStart);
+ $("#end_down_debug").html(siEnd);
+
+ keydown_debug_color_index++;
+ keydown_debug_color_index%=randomcolor.length;
+ $("#keydown_debug").css("background-color", randomcolor[keydown_debug_color_index]);
+ }
+
+ },
+ keyPressTextareaFunc= function (ev) {
+ /*
+ record keyCode, timestamp, cursor caret position.
+ */
+
+ var timestamp = (new Date()).getTime() - this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ charCode = String.fromCharCode(ev.charCode),
+ keycode = (ev.keyCode ? ev.keyCode : ev.which),
+ index = this.lw_liveWritingJsonData.length;
+ if(keycode == 13) charCode = "\n";
+ if (ev.metaKey === true || ev.ctrlKey === true)
+ // undo/redo/select all are taken care of at keyDownTextareaFunc
+ return
+ // I am not sure why carrige return would not work for string concatenation.
+ // for example "1" + "\r" + "2" gives me "12" instead of "1\r2"
+ this.lw_liveWritingJsonData[index] = {"p":"keypress", "t":timestamp, "k":keycode, "c":charCode, "s":pos[0], "e":pos[1] };
+ if(DEBUG)console.log("key pressed :" + JSON.stringify(this.lw_liveWritingJsonData[index]) );
+ if(DEBUG){
+ $("#keypress_debug").html(keycode + "," + charCode);
+ $("#start_press_debug").html(pos[0]);
+ $("#end_press_debug").html(pos[1]);
+ keypress_debug_color_index++;
+ keypress_debug_color_index%=randomcolor.length;
+ $("#keypress_debug").css("background-color", randomcolor[keypress_debug_color_index]);; }
+ },
+ mouseUpTextareaFunc = function (ev) {
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ index = this.lw_liveWritingJsonData.length,
+ str = this.value.substr(pos[0], pos[1] - pos[0]);
+ this.lw_liveWritingJsonData[index] = {"p":"mouseUp", "t":timestamp, "s":pos[0], "e":pos[1]};
+ if(DEBUG)console.log("mouseup: " + JSON.stringify(this.lw_liveWritingJsonData[index]));
+
+ if(DEBUG){
+ $("#mouseup_debug").html(str);
+ $("#start_mouseup_debug").html(pos[0]);
+ $("#end_mouseup_debug").html(pos[1]);
+ mouseup_debug_color_index++;
+ mouseup_debug_color_index%=randomcolor.length;
+ $("#mouseup_debug").css("background-color", randomcolor[mouseup_debug_color_index]);; }
+ },
+ scrollTextareaFunc = function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ index = this.lw_liveWritingJsonData.length;
+
+ if(DEBUG)console.log("scroll event :" + this.scrollTop + " time:" + timestamp);
+ this.lw_liveWritingJsonData[index] = {"p":"scroll", "t":timestamp, "h":this.scrollTop, "s":0, "e":0};
+ },
+ dropStartTextareaFunc= function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ index = this.lw_liveWritingJsonData.length,
+ str = this.value.substr(pos[0], pos[1] - pos[0]);
+ if(DEBUG)console.log("dragstart event (" + this.lw_dragAndDrop + "):" + str + " (" + pos[0] + ":" + pos[1] + ")" + " time:" + timestamp);
+ this.lw_dragAndDrop = !this.lw_dragAndDrop;
+ this.lw_dragStartPos = pos[0];
+ this.lw_dragEndPos = pos[1];
+
+ },
+ dropEndTextareaFunc = function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ index = this.lw_liveWritingJsonData.length,
+ str = this.value.substr(pos[0], pos[1] - pos[0]);
+ if(DEBUG)console.log("dragEnd event (" + this.lw_dragAndDrop + "):" + str + " (" + pos[0] + ":" + pos[1] + ")" + " time:" + timestamp);
+ this.lw_dragAndDrop = !this.lw_dragAndDrop;
+ this.lw_liveWritingJsonData[index] = {"p":"draganddrop", "t":timestamp, "r":str, "s":pos[0], "e":pos[1], "ds":this.lw_dragStartPos , "de":this.lw_dragEndPos };
+ },
+ dropTextareaFunc= function(ev){
+ ev.preventDefault(); // disable drop from outside the textarea
+ alert("LiveWritingAPI: Drag and drop in the textarea is disabled by the livewriting api.")
+ },
+ cutTextareaFunc= function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ index = this.lw_liveWritingJsonData.length,
+ str = this.value.substr(pos[0], pos[1] - pos[0]);
+ this.lw_liveWritingJsonData[index] = {"p":"cut", "t":timestamp, "r":str, "s":pos[0], "e":pos[1] };
+ this.lw_CUT_TRIGGER = true;
+ if(DEBUG)this.lw_liveWritingJsonData[index]["v"] = this.value;
+ if(DEBUG)console.log("cut event :" + str + " (" + pos[0] + ":" + pos[1] + ")" + " time:" + timestamp);
+ },
+ pasteTextareaFunc = function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ pos = this.lw_getCursorTextAreaPosition(),
+ index = this.lw_liveWritingJsonData.length,
+ str = ev.clipboardData.getData('text/plain');
+ this.lw_liveWritingJsonData[index] = {"p":"paste", "t":timestamp, "r":str, "s":pos[0], "e":pos[1] };
+ this.lw_PASTE_TRIGGER = true;
+ if(DEBUG)this.lw_liveWritingJsonData[index]["v"] = this.value;
+ if(DEBUG)console.log("paste event :" + ev.clipboardData.getData('text/plain') + " (" + pos[0] + ":" + pos[1] + ")" + " time:" + timestamp);
+ }
+ ,
+ userinputTextareaFunc = function(userinput_number,options){
+ var it = this; // this should be editor
+ var timestamp = (new Date()).getTime()-it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"i", "t":timestamp, "n": userinput_number, "d":options};
+ },
+ inputTextareaFunc = function(ev){
+ var timestamp = (new Date()).getTime()- this.lw_startTime,
+ index = this.lw_liveWritingJsonData.length,
+ siStart = 0,
+ siEnd = 0;
+
+ if(DEBUG) console.log("inputTextareaFunc : s - " + ev.srcElement.selectionStart + " e - " + ev.srcElement.selectionEnd);
+
+ if (typeof(ev.srcElement.selectionStart) != "undefined" && typeof(ev.srcElement.selectionEnd) != "undefined" ){
+ siStart = ev.srcElement.selectionStart;
+ siEnd = ev.srcElement.selectionEnd;
+ }
+ else{
+ pos = this.lw_getCursorTextAreaPosition();
+ siStart = pos[0];
+ siEnd = pos[1]
+ }
+ var currentValue = this.value;
+
+ // this logic is based on the assumption that the undo/redo event is either addition or deletion.
+ // if there is a compositie undo/redo event that contains both deletion and additoin, this will not work.
+
+ if (this.lw_UNDO_TRIGGER || this.lw_REDO_TRIGGER || this.lw_keyDownState == false){
+ if (DEBUG&& !this.lw_keyDownState) console.log("lw_keyDownState is false.");
+ var startIndex = 0,
+ endIndex = 1;
+ if(DEBUG) console.log("loop start");
+ while( typeof(currentValue[startIndex]) != "undfined" && currentValue[startIndex] == this.lw_mostRecentValue[startIndex] &&startIndex < currentValue.length&&startIndex < currentValue.length ){
+ startIndex++;
+ }
+ while(currentValue[currentValue.length - endIndex] == this.lw_mostRecentValue[this.lw_mostRecentValue.length - endIndex]
+ && this.lw_mostRecentValue.length - endIndex>startIndex&& currentValue.length - endIndex>startIndex){
+ endIndex++;
+ }
+ if(DEBUG) console.log("loop end");
+ endIndex--;
+ if ( this.lw_mostRecentValue.length - endIndex < startIndex){
+ if(DEBUG) alert ("this cannot be happen, unless it exactly the same.");
+ }
+ var str = currentValue.substring(startIndex, currentValue.length - endIndex);
+ this.lw_liveWritingJsonData[index] = {"p":"input", "t":timestamp, "r":str, "ps":startIndex , "pe":this.lw_mostRecentValue.length - endIndex, "cs": siStart, "ce":siEnd};
+ if(DEBUG)this.lw_liveWritingJsonData[index]["v"] = currentValue;
+ if(DEBUG)this.lw_liveWritingJsonData[index]["pv"] = this.lw_mostRecentValue;
+ if(DEBUG)console.log("input2 :" + JSON.stringify(this.lw_liveWritingJsonData[index]) );
+
+ }
+ else if (this.lw_PASTE_TRIGGER){
+ // see if the last newline char is removed.
+ if ( this.lw_liveWritingJsonData[index-1]["p"] == "paste")
+ {
+ if (this.lw_liveWritingJsonData[index-1]["r"].length + this.lw_mostRecentValue.length
+ == currentValue.length+1
+ && this.lw_mostRecentValue[this.lw_mostRecentValue.length-1] == "\n")
+ {
+ this.lw_liveWritingJsonData[index-1]["n"] = true;
+ }
+ }
+ else{
+ if (DEBUG) alert("LiveWritingAPI: lw_PASTE_TRIGGER is true but the most recent trigger is not paste")
+ }
+ }
+ else if (this.lw_CUT_TRIGGER){
+ if ( this.lw_liveWritingJsonData[index-1]["p"] == "cut")
+ {
+ // see if the cut function also removed the last newline character in the previous line.
+ if (this.lw_liveWritingJsonData[index-1]["s"] != siStart)
+ {
+ this.lw_liveWritingJsonData[index-1]["s"] = siStart;
+ }
+ }
+ else{
+ if (DEBUG) alert("LiveWritingAPI: lw_PASTE_TRIGGER is true but the most recent trigger is not paste for some reason. :( ")
+ }
+ }
+
+ this.lw_UNDO_TRIGGER = false;
+ this.lw_REDO_TRIGGER = false;
+ this.lw_PASTE_TRIGGER = false;
+ this.lw_CUT_TRIGGER = false;
+ this.lw_keyDownState = false;
+
+ this.lw_mostRecentValue = currentValue;
+ },
+ // the following function is for codemirror only.
+ changeCodeMirrorFunc = function(cm, changeObject){
+ console.log(cm);
+ var it = cm.getDoc().getEditor();
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"c", "t":timestamp, "d":changeObject};
+ it.lw_justAdded = true;
+ if(DEBUG)console.log("change event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ changeAceFunc = function(event, editor){
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ //if (event.action == "remove") delete event.lines; // we need this to create an inverse operation.
+ it.lw_liveWritingJsonData[index] = {"p":"c", "t":timestamp, "d":event};
+ if(DEBUG)console.log("change event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ changeMonacoFunc = function(event, editor){
+ // console.log($('.editor-widget.suggest-widget'));
+ $('.editor-widget').css('display','none')
+ $('.monaco-list-rows').html("")
+ // console.log(event,"event");
+ // console.log(editor,'editor');
+ var it = editor
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"c", "t":timestamp, "d":event};
+ if(DEBUG)console.log("change event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ viewPortchangeCodeMirrorFunc= function(cm,from,to){// this is only for codemirror /
+ var it = cm.getDoc().getEditor();
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ var scrollinfo = cm.getScrollInfo();
+ it.lw_liveWritingJsonData[index] = {"p":"s", "t":timestamp, "f":scrollinfo.left, "to":scrollinfo.top};
+ if(DEBUG)console.log("viewPortChange event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ }
+ ,scrollLeftMonacoFunc = function(editor, number){
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"s", "t":timestamp, "n":number, "y":"left"};
+ if(DEBUG)console.log("viewPortChange event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ scrollTopMonacoFunc = function(editor, number){
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"s", "t":timestamp, "n":number, "y":"top"};
+ if(DEBUG)console.log("viewPortChange event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ }
+ ,scrollLeftAceFunc = function(editor, number){
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"s", "t":timestamp, "n":number, "y":"left"};
+ if(DEBUG)console.log("viewPortChange event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ }
+ ,scrollTopAceFunc = function(editor, number){
+ console.log(number,"numbeeeeerrrrrrrrrrrrrrrrrrrrrrr");
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"s", "t":timestamp, "n":number, "y":"top"};
+ if(DEBUG)console.log("viewPortChange event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ cursorAceFunc = function(event, editor){
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"u", "t":timestamp, "d":editor.session.selection.getRange(), "b": editor.session.selection.isBackwards() + 0};
+ if(DEBUG)console.log("change event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ // the following function is for codemirror only.
+ cursorCodeMirrorFunc = function(cm){
+
+ var it = cm.getDoc().getEditor();
+ if ( it.lw_justAdded ) {
+ it.lw_justAdded = false; // no need to store this since change record will guide us where to put cursor.
+ return;
+ }
+ var fromPos = cm.getDoc().getCursor("from"),
+ toPos = cm.getDoc().getCursor("to");
+ var timestamp = (new Date()).getTime()- it.lw_startTime ,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"u", "t":timestamp, "s":fromPos, "e":toPos};
+
+ if(DEBUG)console.log("cursor event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp);
+ },
+ cursorMonacoFunction = function(event,editor){
+ // console.log(event,"rrrrr");
+ var it = editor;
+ var timestamp = (new Date()).getTime()- it.lw_startTime,
+ index = it.lw_liveWritingJsonData.length;
+ it.lw_liveWritingJsonData[index] = {"p":"u", "t":timestamp, "d":event, "b": 0};
+ if(DEBUG)console.log("change event :" +JSON.stringify(it.lw_liveWritingJsonData[index]) + " time:" + timestamp)
+ },
+ scheduleNextEventFunc = function(){
+ // scheduling part
+ var it = this;
+ if(it.lw_pause)
+ return;
+ if( it.lw_data_index< 0)
+ {
+ it.lw_data_index = 0;
+ }// this can happen due to the slider
+ if ( it.lw_data_index == it.lw_data.length){
+ return;
+ }
+ var startTime = it.lw_startTime;
+ var currentTime = (new Date()).getTime();
+ var nextEventInterval = startTime + it.lw_data[it.lw_data_index]["t"]/it.lw_playback - currentTime;
+ if(DEBUG)console.log("nextEventInterval : " + nextEventInterval);
+
+
+ //if(DEBUG)console.log("start:" + startTime + " time: "+ currentTime+ " interval:" + nextEventInterval + " currentData:",JSON.stringify(it.lw_data[0]));
+ // let's catch up some of the old changes.
+ while(it.lw_data[it.lw_data_index] != undefined
+ && nextEventInterval<0 && it.lw_data_index < it.lw_data.length-1){
+ it.lw_triggerPlay(false, true);
+ nextEventInterval = startTime + it.lw_data[it.lw_data_index]["t"]/it.lw_playback - currentTime;
+ }
+
+ if(it.lw_skip_inactive && nextEventInterval * it.lw_playback > INACTIVE_SKIP_THRESHOLD){
+ if(DEBUG)console.log("skipping inactive part : " + nextEventInterval);
+ nextEventInterval = SKIP_RESUME_WARMUP_TIME / it.lw_playback;
+ it.lw_startTime = currentTime - it.lw_data[it.lw_data_index]["t"]/it.lw_playback + nextEventInterval;
+ }
+
+ if (INSTANTPLAYBACK) nextEventInterval = 0;
+ // recurring trigger
+ it.lw_next_event = setTimeout(function(){
+ it.lw_triggerPlay(false);
+ }, nextEventInterval);
+ },
+ triggerPlayCodeMirrorFunc = function(reverse, skipSchedule){
+ var it = this;
+ var event = it.lw_data[it.lw_data_index];
+ it.getDoc().getEditor().focus();
+ if(DEBUG) console.log("reverse:" + reverse + " " + JSON.stringify(event));
+ if (event['p'] == "c"){ // change in content
+ var inputData = event['d'];
+ var startLine = inputData['from']['line'],
+ startCh = inputData['from']['ch'],
+ endLine = inputData['from']['line'],
+ endCh = inputData['from']['ch'],
+ inputType = inputData['origin'],
+ text = inputData['text'];
+
+ if(reverse){
+ var removed = inputData['removed'];
+ var toRemove = {"line": text.length-1 + startLine, "ch": (text.length ==1 ? startCh + text[0].length : text[removed.length-1].length)}
+ it.getDoc().setSelection(inputData['from'], toRemove, {scroll:true});
+ removed = removed.join('\n');
+ it.getDoc().replaceSelection(removed);
+ }
+ else{
+ text = text.join('\n');
+ it.getDoc().setSelection(inputData['from'], inputData['to'], {scroll:true});
+ it.getDoc().replaceSelection(text);
+ }
+
+ }
+ else if (event['p'] == "u"){ // cursor change
+ it.getDoc().setSelection(event['s'], event['e'], {scroll:true});
+ }
+ else if (event['p'] == "i"){ // user input
+ var number = (event['n'] ? event['n'] : 0)
+ // TODO : run error handling (in case it is not registered. )
+ it.userInputRespond[number](event['d']);
+ }
+ else if (event['p'] == "s"){ // scroll
+ it.scrollTo(event["f"], event["to"]);
+ }
+ if(reverse){
+ it.lw_data_index--;
+ }else {
+ it.lw_data_index++;
+ }
+ // chcek the final text once it is done.
+
+ if (it.lw_data_index == it.lw_data.length){
+ if(DEBUG)console.log("done replay");
+ // let's stay in the final index
+ // it.lw_data_index = it.lw_data.length -1;
+ if ( it.lw_finaltext != it.getValue())
+ {
+ console.log("There is discrepancy. Do something");
+ if(DEBUG) alert("LiveWritingAPI: There is discrepancy. Do something" + it.finaltext +":"+ it.getValue());
+ }
+ }
+
+ // scheduling part
+ if (!skipSchedule)
+ it.lw_scheduleNextEvent();
+
+ },
+ triggerPlayAceFunc = function(reverse, skipSchedule){
+ var it = this;
+ var event = it.lw_data[it.lw_data_index];
+ console.log(event, "event");
+ if(event == undefined){
+ if(DEBUG) alert("no event for index: " + it.lw_data_index);
+ }
+ it.focus();
+ if(DEBUG) console.log("reverse:" + reverse + " " + JSON.stringify(event));
+ if (event['p'] == "c"){ // change in content
+ var inputData = event['d'];
+ console.log(inputData,"55555555-----------55555555555");
+ var startLine = inputData['start']['row'],
+ startCh = inputData['start']['column'],
+ endLine = inputData['end']['row'],
+ endCh = inputData['end']['column'];
+
+ if (inputData.action == "insert"){ // change in content
+ if(reverse){
+ it.session.doc.remove(inputData);
+ console.log(it.session.doc,"((((((((((((((((((((((");
+ }
+ else{
+ var textLines = inputData['lines'].join('\n');
+ it.moveCursorTo(startLine,startCh);
+ it.insert(textLines);
+ }
+ }else if (inputData.action == "remove"){
+ // change in content
+ //var range = new it.lw_ace_Range(startLine, startCh,endLine, endCh );
+ if(reverse){
+ var textLines = inputData['lines'].join('\n');
+ it.moveCursorTo(startLine,startCh);
+ it.insert(textLines);
+ }
+ else{
+ it.session.doc.remove(inputData);
+ }
+ }
+ else{
+ if(DEBUG)alert("ace editor has another type of action other than \"remove\" and \"insert\": " + inputData.action);
+ }
+
+ }
+ else if (event['p'] == "u"){ // cursor change
+ it.session.selection.setSelectionRange(event['d'], Boolean(event['b']));
+ }
+ else if (event['p'] == "i"){ // user input
+ var number = (event['n'] ? event['n'] : 0)
+ // TODO : run error handling (in case it is not registered. )
+ it.userInputRespond[number](event['d']);
+ }
+ else if (event['p'] == "s"){ // scroll
+ if (event["y"] == "left"){
+ it.session.setScrollLeft(event["n"]);
+ }else if (event["y"] == "top")
+ {
+ it.session.setScrollTop(event["n"]);
+ }
+ else{
+ if(DEBUG) alert("unknown scorll type for ace editor: " +event["y"] )
+ }
+ }
+ if(reverse){
+ it.lw_data_index--;
+
+ }else {
+ it.lw_data_index++;
+ }
+
+ // chcek the final text once it is done.
+ if (it.lw_data_index == it.lw_data.length){
+ if(DEBUG)console.log("done replay");
+ // it.lw_data_index = it.lw_data.length -1;
+
+ if ( it.lw_finaltext != it.getValue())
+ {
+ console.log("There is discrepancy. Do something");
+ if(DEBUG) alert("LiveWritingAPI: There is discrepancy. Do something" + it.lw_finaltext +":"+ it.getValue());
+ }
+
+ $('.play').trigger("click");
+
+ }
+
+ // scheduling part
+ if (!skipSchedule)
+ it.lw_scheduleNextEvent();
+
+ },
+ enterSubmit = false,
+ triggerPlayMonacoFunc = function(reverse, skipSchedule){
+ var remove_char_by_index = function (index, string, line,stringLength) {
+ var row_aray = string.split('\n')
+ console.log(row_aray, 'row', line, index);
+ if (index > string.length) return string;
+
+ let str = "";
+ for(var i in row_aray){
+ if(i==line-1){
+ if(stringLength>1 && !row_aray[i].replace(/\s/g, '').length){
+ console.log(row_aray[i],'iiiiiiiiiit')
+ }else {
+ for (let x = 0; x < row_aray[i].length; x++) {
+ if (x === index) continue;
+ str += row_aray[i][x];
+ console.log(row_aray[i].length,x, index, 'strif')
+ }
+ }
+ }else{
+ str+=row_aray[i]
+ }
+ console.log(str,'strfor')
+ }
+ console.log(str,'str')
+ return str;
+ }
+ var it = this;
+ var event = it.lw_data[it.lw_data_index];
+ if(event == undefined){
+ if(DEBUG) alert("no event for index: " + it.lw_data_index);
+ }
+ it.focus();
+ if(DEBUG) console.log("reverse:" + reverse + " " + JSON.stringify(event));
+ if (event['p'] == "c"){ // change in content
+ var inputData = event['d'];
+ var startCol = inputData['changes'][0].range.startColumn-1
+ var textLines = inputData['changes'][0].text;
+
+ var old_value=it.getValue()
+ var row_aray = old_value.split('\n')
+ console.log(row_aray);
+ if (!reverse){
+ //it needs to be fixed
+ var output
+ var count = 0
+ for(var i in row_aray){
+ if (i==it.getPosition().lineNumber-1){
+ break;
+ }
+ count+=row_aray[i].length+1
+ }
+ count+=it.getPosition().column-1
+ enterSubmit = true
+ output = [old_value.slice(0, count),textLines,old_value.slice(count)].join('');
+ it.setValue(output)
+ it.setPosition({
+ column: event['d'].changes[0].range.startColumn,
+ lineNumber: event['d'].changes[0].range.startLineNumber,
+ });
+ }
+ else {
+ var getPos = it.getPosition().column-2;
+ var getVal = it.getValue()
+ output = remove_char_by_index(getPos, getVal,it.getPosition().lineNumber,textLines.length)
+ it.setValue(output)
+ it.setPosition({
+ column: event['d'].changes[0].range.startColumn,
+ lineNumber: event['d'].changes[0].range.startLineNumber,
+ });
+ }
+ }
+ if(event['p'] == "u"){
+
+ // var output
+ if (reverse){
+
+ }
+ else{
+ if (event['d'].source == "deleteLeft") {
+ var getPos = it.getPosition().column-2;
+ var getVal = it.getValue()
+ output = remove_char_by_index(getPos, getVal,it.getPosition().lineNumber)
+ it.setValue(output)
+ it.setPosition(event['d'].position)
+ }
+ else{
+ it.setPosition(event['d'].position)
+ }
+ if (event['d'].reason == 5|| event['d'].source == "deleteRight") {
+ var getPos = it.getPosition().column;
+ var getLine = it.getPosition().lineNumber;
+ var getVal
+ if (getLine>1){
+ getVal = it.getValue()
+ getPos = getVal.length-getPos
+ output = getVal.substring(0, getPos-1);
+ it.setValue(output)
+ it.setPosition(event['d'].position)
+ }
+ else{
+ getVal = it.getValue()
+ output = getVal.substring(0, getPos-1);
+ it.setValue(output)
+ it.setPosition(event['d'].position)
+ }
+ }
+ else{
+ it.setPosition(event['d'].position)
+ }
+ }
+ }
+
+ else if (event['p'] == "s"){ // scroll
+ if (event["y"] == "left"){
+ it.setScrollLeft(event['n']);
+ }else if (event["y"] == "top")
+ {
+ it.setScrollTop(event['n']);
+ }
+ else{
+ if(DEBUG) alert("unknown scorll type for ace editor: " +event["y"] )
+ }
+ }
+ if(reverse){
+ it.lw_data_index--;
+
+ }else {
+ it.lw_data_index++;
+ }
+
+ // // chcek the final text once it is done.
+ if (it.lw_data_index == it.lw_data.length){
+ if(DEBUG)console.log("done replay");
+ it.lw_data_index = it.lw_data.length;
+ $('.play').trigger("click");
+ }
+ //
+ // // scheduling part
+ if (!skipSchedule)
+ it.lw_scheduleNextEvent();
+
+ }
+
+ ,triggerPlayTextareaFunc = function(){
+ var it = this;
+ var event = it.lw_data[it.lw_data_index];
+
+ // do somethign here!
+ var selectionStart =event['s'];
+ var selectionEnd = event['e'];
+ if (DEBUG && selectionStart > selectionEnd)
+ alert("LiveWritingAPI: selectionStart > selectionEnd("+ selectionStart + "," + selectionEnd + ")");
+
+ it.focus();
+ // if selection is there.
+ if (selectionStart != selectionEnd){ //
+ // do selection
+ // Chrome / Firefox
+ if(typeof(it.selectionStart) != "undefined") {
+ it.selectionStart = selectionStart;
+ it.selectionEnd = selectionEnd;
+ }
+ // IE
+ if (document.selection && document.selection.createRange) {
+ it.select();
+ var range = document.selection.createRange();
+ it.collapse(true);
+ it.moveEnd("character", selectionEnd);
+ it.moveStart("character", selectionStart);
+ it.select();
+ }
+
+ }
+
+
+ // deal with selection
+ if (event['p'] == "keypress"){
+
+ var keycode = event['k'];
+ var charvalue = event['c'];
+ if (it.version <= 1){
+ charvalue = String.fromCharCode(keycode);
+ }
+
+ if (charvalue != "undefined"){ // this is actual letter input
+ // console.log("keycode:" + keycode + " charvalue:" + charvalue);
+ //IE support
+ if(keycode == 13) charvalue = "\n"; // only happens for the stuff befroe version 2
+
+ if (document.selection) {
+ it.focus();
+ sel = document.selection.createRange();
+ sel.text = charvalue;
+ }else{
+ it.value = it.value.substring(0, selectionStart)
+ + charvalue
+ + it.value.substring(selectionEnd, it.value.length);
+ }
+ setCursorPosition(it, selectionEnd+1, selectionEnd+1);
+ }
+ if ( it.version <= 1) {
+ if (keycode ==nonTypingKey["BACKSPACE"] ){// backspace
+ if (it.version == 0){
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd+1, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+ }
+ else{
+ if ( selectionStart == selectionEnd){
+ selectionStart--;
+ }
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+ };
+ }
+ else if (keycode==nonTypingKey["DELETE"]){
+ if ( selectionStart == selectionEnd){
+ selectionEnd++;
+ }
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+ }
+ else if (isCaretMovingKey(keycode)){
+ // do nothing.
+ setCursorPosition(it, selectionStart, selectionEnd);
+ }
+
+ }
+ // put cursor at the place where you just added a letter.
+
+ }
+ else if ( event['p'] == "keydown"){
+ var keycode = event['k'];
+ if (keycode ==nonTypingKey["BACKSPACE"]){// backspace
+
+ if ( selectionStart == selectionEnd){
+ selectionStart--;
+ }
+
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+
+ }
+ else if (keycode==nonTypingKey["DELETE"]){
+ if ( selectionStart == selectionEnd){
+ selectionEnd++;
+ }
+
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+ }
+ else if (isCaretMovingKey(keycode)){
+ // do nothing.
+ setCursorPosition(it, selectionStart, selectionEnd);
+ }
+
+ }
+ else if (event['p'] == "input"){
+ //{"p":"input", "t":timestamp, "r":str, "s":startIndex , "e":this.lw_mostRecentValue.length - endIndex, "cs": siStart, "ce":siEnd, "v":currentValue};
+ selectionStart = event['ps'];
+ selectionEnd = event['pe'];
+ var prevV = it.value;
+ var str = event['r'];
+ it.value = it.value.substring(0, selectionStart)
+ + str + it.value.substring(selectionEnd);
+ setCursorPosition(it, event['cs'], event['ce']);
+
+ if (DEBUG && it.value.localeCompare(event['v']) !=0 )
+ console.log("DIFFERENT REPLAY");
+
+ }
+ else if (event['p']=="snapshot"){
+ it.value = event['v'];
+ }
+ else if (event['p'] == "cut"){
+ var prevV = it.value
+ it.value = it.value.substring(0, selectionStart)
+ + it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionStart, selectionStart)
+ if (DEBUG && prevV.localeCompare(event['v']) !=0 )
+ console.log("DIFFERENT REPLAY");
+ }else if (event['p'] == "paste"){
+ var prevV = it.value
+ it.value = it.value.substring(0, selectionStart)
+ +event['r']+ it.value.substring(selectionEnd, it.value.length);
+ setCursorPosition(it, selectionEnd + event['r'].length, selectionEnd + event['r'].length);
+ if (event["n"]){
+ if (DEBUG&& it.value[it.value.length-1] != "\n"){
+ alert("LiveWritingAPI: new line char cannot be removed in paste event. ");
+ }
+ it.value = it.value.substring(0,it.value.length-1);
+ }
+ if (DEBUG && prevV.localeCompare(event['v']) !=0 )
+ console.log("DIFFERENT REPLAY");
+ }
+ else if (event['p'] == "draganddrop"){
+ it.value = it.value.substring(0, event['ds'])
+ + it.value.substring(event['de'], it.value.length);
+
+ it.value = it.value.substring(0, selectionStart)
+ +event['r']+ it.value.substring(selectionStart, it.value.length);
+ setCursorPosition(it, selectionStart, selectionEnd);
+ }
+ else if (event['p'] == "scroll"){
+ it.scrollTop = event['h']
+ }
+ else if (event['p'] == "userinput" || event['p'] == "i"){
+ it.userInputRespond[event['n']](event['d']);
+ }
+ else if (event['p'] == "mouseUp")
+ {
+ setCursorPosition(it, selectionStart, selectionEnd);
+ }
+
+ it.lw_data_index++;
+ // chcek the final text once it is done.
+ if (it.lw_data_index == it.lw_data.length){
+ if(DEBUG)console.log("done replay");
+ // it.lw_data_index = it.lw_data.length -1;
+
+ if (it.lw_finaltext != it.value){
+ console.log("There is discrepancy. Do something");
+ if(DEBUG) alert("LiveWritingAPI: There is discrepancy. Do something" + it.lw_finaltext +":"+ it.value);
+ }
+
+ $('.play').trigger("click");
+ }
+ // scheduling part
+ it.lw_scheduleNextEvent();
+ },
+ updateSlider = function(it){
+ if(it.lw_pause) return;
+ var currentTime = (new Date()).getTime();
+ var value = (currentTime - it.lw_startTime) * it.lw_playback;
+ it.lw_sliderValue = value;
+ $(".livewriting_slider").slider("value",value);
+ if ( value > it.lw_endTime){
+ livewritingPause(it);
+ return;
+ }
+
+ setTimeout(function(){
+ updateSlider(it);
+ },SLIDER_UPDATE_INTERVAL);
+
+ },
+ livewritingResume = function(it){
+ var options = {
+ label: "pause",
+ icons: {
+ primary: "ui-icon-pause"
+ }
+ };
+
+ $( "#lw_toolbar_play" ).button( "option", options );
+ it.lw_pause = false;
+ var time = $(".livewriting_slider").slider("value");
+ var currentTime = (new Date()).getTime();
+ it.lw_startTime = currentTime - time / it.lw_playback;
+ //it.lw_resumedTime = (new Date()).getTime();
+ //it.lw_startTime = it.lw_startTime + (it.lw_resumedTime - it.lw_pausedTime);
+ it.lw_scheduleNextEvent();
+ updateSlider(it);
+ },
+ sliderGoToEnd = function(it){
+ var max = $( ".livewriting_slider" ).slider( "option", "max" );
+ if(it.lw_type == "ace"){
+ it.setValue(it.lw_finaltext);
+ it.moveCursorTo(0,0);
+ }
+ else if(it.lw_type == "codemirror"){
+ it.getDoc().setValue(it.lw_finaltext);
+ it.getDoc().setSelection({"line":0, "ch":0},{"line":0, "ch":0}, {scroll:true});
+ }
+ else if(it.lw_type == "monaco"){
+ it.setValue(it.lw_finaltext);
+ }
+ it.lw_data_index = it.lw_data.length-1;
+ livewritingPause(it);
+ $(".livewriting_slider").slider("value", max);
+ },
+ sliderGoToBeginning = function(it){
+ if(it.lw_type == "ace"){
+ it.setValue(it.lw_initialText)
+ }
+ else if(it.lw_type == "codemirror"){
+ it.getDoc().setValue(it.lw_initialText);
+ }
+ else if(it.lw_type == "monaco"){
+ it.setValue(it.lw_initialText);
+ }
+
+ it.lw_data_index = 0;
+ livewritingPause(it);
+ $(".livewriting_slider").slider("value", 0);
+ },
+ livewritingPause = function(it){
+ it.lw_pause = true;
+ clearTimeout(it.lw_next_event);
+ var options = {
+ label: "play",
+ icons: {
+ primary: "ui-icon-play"
+ }
+ };
+ $("#lw_toolbar_play" ).button( "option", options );
+ },
+ configureToolbar= function(it, navbar){
+ navbar.empty()
+ navbar.draggable(); // this line requires jquery ui
+ navbar.append("");
+ navbar.append('');
+
+ $(".livewriting_slider").append("");
+ $( ".livewriting_speed" ).button();
+ $( ".lw_toolbar_speed" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-triangle-1-s"
+ }
+ }).click(function(){
+ $("#lw_playback_slider").toggle();
+ });
+
+ $( "#lw_toolbar_setting" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-gear"
+ }
+ }).click(function(){
+ console.log("for now, nothing happens")
+ });
+
+
+ $("#lw_playback_slider").slider({
+ orientation : "vertical",
+ range: "min",
+ min: -20,
+ max: 60,
+ value: 0,
+ slide: function( event, ui ){
+ var value = $("#lw_playback_slider").slider("value")/10.0;
+
+ it.lw_playback = Math.pow(2.0, value) ;
+
+ var time = $(".livewriting_slider").slider("value");
+ var currentTime = (new Date()).getTime();
+ it.lw_startTime = currentTime - time/it.lw_playback;
+
+ $(".livewriting_speed>span").text(it.lw_playback.toFixed(1) + " X");
+ },
+ stop: function(event, ui) {
+ $("#lw_playback_slider").hide();
+ }
+ });
+
+ $(".livewriting_toolbar_wrapper").toggleClass(".ui-widget-header");
+ $( "#lw_toolbar_beginning" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-seek-start"
+ }
+ }).click(function(){
+ sliderGoToBeginning(it);
+ });
+ $( "#lw_toolbar_slower" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-minusthick"
+ }
+ }).click(function(){
+
+ it.lw_playback = it.lw_playback / 2.0;
+ if (it.lw_playback <0.25){
+ it.lw_playback *= 2.0;
+ }
+
+ var time = $(".livewriting_slider").slider("value");
+ var currentTime = (new Date()).getTime();
+ it.lw_startTime = currentTime - time/it.lw_playback;
+
+ $(".livewriting_speed").text(it.lw_playback);
+ });
+ $( "#lw_toolbar_play" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-pause"
+ }
+ })
+ .click(function() {
+ var options;
+ if ( $( this ).text() === "pause" ) {
+ livewritingPause(it);
+ } else {
+ livewritingResume(it);
+ }
+ $( this ).button( "option", options );
+ });
+ $( "#lw_toolbar_faster" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-plusthick"
+ }
+ }).click(function(){
+ it.lw_playback = it.lw_playback * 2.0;
+ if (it.lw_playback > 64.0){
+ it.lw_playback /= 2.0;
+ }
+ var time = $(".livewriting_slider").slider("value");
+ var currentTime = (new Date()).getTime();
+ it.lw_startTime = currentTime - time/it.lw_playback;
+
+ $(".livewriting_speed").text(it.lw_playback);
+ });
+ $( "#lw_toolbar_end" ).button({
+ text: false,
+ icons: {
+ primary: "ui-icon-seek-end"
+ }
+ }).click(function(){
+ sliderGoToEnd(it);
+ });
+
+ $("#lw_toolbar_stat").button({
+ text:false,
+ icons:{
+ primary:"ui-icon-image"
+ }
+ }).click(function(e){
+ $("#lw_toolbar_stat .ui-button-text").toggleClass("ui-button-text-toggle");
+ $("#livewriting_histogram").toggle();
+ $("div.livewriting_slider_wrapper").toggleClass("histogram_slider_wrapper");
+ });
+
+ $("#lw_toolbar_skip").button({
+ text:false,
+ icons:{
+ primary:"ui-icon-arrowreturnthick-1-n"
+ }
+ }).click(function(e){
+ it.lw_skip_inactive = !it.lw_skip_inactive;
+ $("#lw_toolbar_skip .ui-button-text").toggleClass("ui-button-text-toggle");
+ if(it.lw_skip_inactive){
+ clearTimeout(it.lw_next_event);
+ it.lw_scheduleNextEvent();
+ $(".ui-slider-inactive-region").css("background-color", "#ccc");
+ $("div.livewriting_slider").css("background","#F49C25");
+ }
+ else{
+ $(".ui-slider-inactive-region").css("background-color", "#fff");
+ $("div.livewriting_slider").css("background","#D4C3C3");
+ }
+ });
+ },
+ sliderEventHandler = function(it,value){
+ var time = value ;
+ var currentTime = (new Date()).getTime();
+ it.lw_startTime = currentTime - time/it.lw_playback;
+ if (!it.lw_pause)
+ clearTimeout(it.lw_next_event);
+ if ( it.lw_sliderValue > time) // backward case
+ {
+ while(it.lw_data_index>0 && time < it.lw_data[it.lw_data_index-1].t){
+ it.lw_data_index--;
+ it.lw_triggerPlay(true, true);
+ it.lw_data_index++;
+ it.lw_data_index = Math.max(it.lw_data_index,0);
+ if(DEBUG)console.log("slider backward:" + it.lw_data_index);
+ if(DEBUG)console.log("value:" + it.getValue() + "length:" + it.getValue().length);
+ }
+ } else { // forward case
+ while(it.lw_data_index it.lw_data[it.lw_data_index].t){
+ // && it.lw_sliderValue < it.lw_data[it.lw_data_index].t){
+ it.lw_triggerPlay(false, true);
+ if(DEBUG)console.log("slider forward(time:" + time + "):" + it.lw_data_index);
+ if(DEBUG)console.log("value:" + it.getValue());
+ }
+ }
+ // this handles forward when pause.
+ //if(it.lw_pause){
+ it.lw_sliderValue = time;
+
+ if (!it.lw_pause){
+ it.lw_scheduleNextEvent();
+ }
+ },
+ createNavBar = function(it){
+ if(DEBUG)console.log("create Navigation Bar");
+ var end_time = it.lw_data[it.lw_data.length-1]["t"];
+ if(DEBUG) console.log("slider end time : " + end_time);
+ // ending Time
+ if ( it.lw_type == "ace"){
+ if($('.ace_editor').length>1){
+ if(DEBUG) console.error("For now live writing does not support multiple editors.");
+ }
+ $('.ace_editor').after("");
+
+ }else if ( it.lw_type == "codemirror"){
+ if($('.CodeMirror').length>1){
+ if(DEBUG) console.error("For now live writing does not support multiple editors.");
+ }
+ $('.CodeMirror').after("");
+
+ }
+ else if ( it.lw_type == "monaco"){
+ if($('.monaco_editor').length>1){
+ if(DEBUG) console.error("For now live writing does not support multiple editors.");
+ }
+ if ($('.livewriting_navbar').length==0) {
+ $('.monaco_editor').after("");
+ }
+
+ }
+
+ // end of codemirror.
+ var navbar = $('.livewriting_navbar');
+
+ configureToolbar(it, navbar);
+ var slider = $('.livewriting_slider').slider({
+ min: 0,
+ max : end_time + 1,
+ slide: function(event,ui){
+ sliderEventHandler(it,ui.value);
+ }
+ });
+ $(".livewriting_slider").slider("value",0);
+
+ },
+ monacoEventChange,monacoEventCursor,monacoEventScroll,
+ createLiveWritingTextArea= function(it, type, options, initialValue){
+
+ var defaults = {
+ name: "Default live writing textarea",
+ startTime: null,
+ stateMouseDown: false,
+ writeMode: null,
+ readMode:null,
+ noDataMsg:"I know you feel in vain but do not have anything to store yet. ",
+ leaveWindowMsg:'You haven\'t finished your post yet. Do you want to leave without finishing?'
+ };
+ it.lw_settings = $.extend(defaults, options);
+ //Iterate over the current set of matched elements
+ it.lw_type = type;
+ it.lw_startTime = (new Date()).getTime();
+
+ if(DEBUG)console.log("starting time:" + it.lw_startTime);
+
+ it.lw_liveWritingJsonData = [];
+ it.lw_initialText = initialValue;
+ it.lw_mostRecentValue = initialValue;
+ it.lw_prevSelectionStart = 0;
+ it.lw_prevSelectionEnd = 0;
+ it.lw_keyDownState = false;
+ it.lw_UNDO_TRIGGER = false;
+ it.lw_REDO_TRIGGER = false;
+ it.lw_PASTE_TRIGGER = false;
+ it.lw_CUT_TRIGGER = false;
+ it.lw_skip_inactive = false;
+ //code to be inserted here
+ it.lw_getCursorTextAreaPosition = getCursorTextAreaPosition;
+ it.userInputRespond = {};
+ var aid = getUrlVar('aid');
+ if (aid){ // read mode
+ if (it.lw_type == "codemirror"){
+ if (it.options.placeholder){
+ it.setOption("placeholder","");
+ }
+ }
+ playbackbyAid(it, aid);
+ it.lw_writemode = false;
+ if(it.lw_settings.readMode != null)
+ it.lw_settings.readMode();
+ // TODO handle user input?
+ //preventDefault ?
+ //http://forums.devshed.com/javascript-development-115/stop-key-input-textarea-566329.html
+ }
+ else
+ {
+ it.lw_writemode = true;
+
+ if ( type == "textarea"){
+ it.value = it.lw_initialText;
+
+ it.onkeyup = keyUpTextareaFunc;
+ it.onkeypress = keyPressTextareaFunc;
+ it.onkeydown = keyDownTextareaFunc
+ it.onmouseup = mouseUpTextareaFunc;
+ it.onpaste = pasteTextareaFunc;
+ it.oncut = cutTextareaFunc;
+ it.onscroll = scrollTextareaFunc;
+ //it.ondragstart = dropStartTextareaFunc;
+ //it.ondragend = dropEndTextareaFunc;
+ it.ondrop = dropTextareaFunc;
+ it.ondblclick = dblclickTextareaFunc;
+ it.oninput = inputTextareaFunc;
+ }
+ else if (type == "codemirror"){
+ it.setValue(it.lw_initialText);
+ it.on("change", changeCodeMirrorFunc);
+ it.on("cursorActivity", cursorCodeMirrorFunc);
+ it.on("scroll", viewPortchangeCodeMirrorFunc)
+ }
+ else if (type == "ace"){
+ it.setValue(it.lw_initialText)
+
+ it.on("change", changeAceFunc);
+ //it.on("changeCursor", cursorAceFunc);
+ it.on("changeSelection", cursorAceFunc);
+ it.session.on("changeScrollLeft", function(number){
+ scrollLeftAceFunc(it,number); // this is needed to pass the editor instance. by deafult it has edit session.
+ });
+ it.session.on("changeScrollTop", function(number){
+ scrollTopAceFunc(it,number); /// this is needed to pass the editor instance.by deafult it has edit session.
+ });
+ }
+ else if (type == "monaco"){
+ it.setValue(it.lw_initialText)
+ it.onDidChangeModel(event=>{
+ monacoEventChange.dispose()
+ monacoEventCursor.dispose()
+ monacoEventScroll.dispose()
+ })
+ monacoEventChange=it.onDidChangeModelContent((event) => {
+ if (event.changes[0].text !== "") {
+ changeMonacoFunc(event,it)
+ }
+ });
+ monacoEventCursor=it.onDidChangeCursorPosition((event)=>{
+ cursorMonacoFunction(event,it)
+ });
+ monacoEventScroll=it.onDidScrollChange((event)=>{
+ scrollLeftMonacoFunc(it,event.scrollLeft)
+ scrollTopMonacoFunc(it,event.scrollTop)
+ })
+ }
+
+
+
+ it.onUserInput = userinputTextareaFunc;
+ it.lw_writemode = true;
+ it.lw_dragAndDrop = false;
+ if(it.lw_settings.writeMode != null)
+ it.lw_settings.writeMode();
+ $(window).onbeforeunload = function(){
+ return setting.levaeWindowMsg;
+ };
+
+ }
+
+ if(DEBUG==true && it.lw_type=="textarea")
+ $( "body" ).append("| name | keyDown | keyPress | keyUp | mouseUp | double click |
| keycode | | | | | |
| start | | | | | |
| end | | | | | |
");
+ },
+ getActionData = function(it){
+ let data = {};
+
+ data["version"] = 4;
+ data["playback"] = 1; // playback speed
+ data["editor_type"] = it.lw_type;
+ data["initialtext"] = it.lw_initialText;
+ data["action"] = it.lw_liveWritingJsonData;
+ it.lw_liveWritingJsonData = []; // reset now that the data will be posted to server
+ data["localEndtime"] = new Date().getTime();
+ data["localStarttime"] = it.lw_startTime;
+
+ if (it.lw_type == "textarea")
+ data["finaltext"] = it.value;
+ else if (it.lw_type == "codemirror")
+ data["finaltext"] = it.getValue();
+ else if (it.lw_type == "ace")
+ data["finaltext"] = it.getValue();
+ else if (it.lw_type == "monaco"){
+ data["finaltext"] = it.getValue();
+ }
+ console.log(it.lw_liveWritingJsonData);
+ console.log(data);
+ return data;
+ }
+ ,postData = function(it, url, useroptions, respondFunc){
+ if (it.lw_liveWritingJsonData.length==0){
+ alert(it.lw_settings.noDataMsg);
+ respondFunc(false);
+ return;
+ }
+
+ // see https://github.com/panavrin/livewriting/blob/master/json_file_format
+ var data = getActionData(it);
+ data["useroptions"] = useroptions;
+ console.log('data');
+ // Send the request
+ $.post(url, JSON.stringify(data), function(response, textStatus, jqXHR) {
+ // Live Writing server should return article id (aid)
+ if (respondFunc){
+ var receivedData=JSON.parse(jqXHR.responseText);
+ if (respondFunc)
+ respondFunc(true, receivedData["aid"]);
+ $(window).onbeforeunload = false;
+ }
+
+ $(window).onbeforeunload = false;
+
+ }, "json")
+ .fail(function(response, textStatus, jqXHR) {
+ var data=JSON.parse(jqXHR.responseText);
+
+ if (respondFunc)
+ respondFunc(false,data);
+ });
+ },
+ playbackbyAid = function(it, articleid, url){
+ url = (url ? url : "play")
+ if(DEBUG)console.log(it.lw_settings.name);
+ $.post(url, JSON.stringify({"aid":articleid}), function(response, textStatus, jqXHR) {
+ var json_file=JSON.parse(jqXHR.responseText);
+ playbackbyJson(it, json_file);
+ }, "text")
+ .fail(function( jqXHR, textStatus, errorThrown) {
+ alert("LiveWritingAPI: play failed: " + jqXHR.responseText );
+ });
+ },
+ histValue = function(x){
+ return 0.3 + 0.7 * Math.pow(2*x - Math.pow(x,2),0.5);
+ }
+ ,drawHistogram = function(it){
+ if(it.lw_type!="ace" && it.lw_type!="codemirror" && it.lw_type!="monaco"){
+ console.error("histogram only supports ace editor / codemirror for now. ");
+ return;
+ }
+ var c = document.getElementById("livewriting_histogram");
+ var ctx = c.getContext("2d");
+
+ var total_length = it.lw_data[it.lw_data.length-1]["t"]+1;
+ var inserted = new Array(lw_histogram_bin_number).fill(0);
+ var removed = new Array(lw_histogram_bin_number).fill(0);
+ var maxChange = -1;
+
+ for (var i=0; i< it.lw_data.length; i++){
+ if(it.lw_data[i].p != "c")
+ continue;
+ var starting_time = it.lw_data[i]['t'];
+ var index = Math.round(starting_time / total_length * lw_histogram_bin_number);
+ var length = -1;
+ if(it.lw_type=="ace"){
+ if (it.lw_data[i].d.action == "insert")
+ {
+ length = it.lw_data[i].d.lines.join().length;
+ inserted[index] += length
+ }
+ else if(it.lw_data[i].d.action == "remove"){
+ length = it.lw_data[i].d.lines.join().length;
+ removed[index] += length;
+ }
+ }else if (it.lw_type == "codemirror"){
+ if(it.lw_data[i].d.removed){
+ length = it.lw_data[i].d.removed.join().length;
+ removed[index] += length
+ }
+ if(it.lw_data[i].d.text){
+ length = it.lw_data[i].d.text.join().length;
+ inserted[index] += length;
+ }
+ }
+ // else if (it.lw_type == "monaco"){
+ // if(it.lw_data[i].d.changes[0].text != ""){
+ // console.log("mmmmmmmmmmmmmmmmmmmmmmmmm");
+ // length = it.lw_data[i].d.changes[0].text.length;
+ // inserted[index] += length;
+ // }
+ // }
+ if(length > maxChange)
+ maxChange = length;
+ }
+ var bin_size = canvas_histogram_width / lw_histogram_bin_number;
+ if(DEBUG)console.log("binsize:" + bin_size);
+ var value = 0;
+ for (var i=0; i< lw_histogram_bin_number; i++){
+ if(inserted[i]>0){
+ value = histValue(inserted[i]/maxChange);
+ ctx.fillStyle = "#97DB97";
+ ctx.fillRect(bin_size*i,canvas_histogram_height/2 * (1-value),bin_size,canvas_histogram_height/2 * value);
+ if(DEBUG)console.log("i:" + i + ", inserted:" + inserted[i] + " value: " + value);
+ }
+ if(removed[i]>0){
+ value = histValue(removed[i]/maxChange);
+ ctx.fillStyle = "#EB5555";
+ ctx.fillRect(bin_size*i,canvas_histogram_height/2,bin_size,canvas_histogram_height/2* value);
+ if(DEBUG)console.log("i:" + i + ", removed:" + removed[i] + " value: " + value);
+
+ }
+ }
+
+
+ }
+ ,
+ playbackbyJson = function(it,json_file){
+
+ if(it.lw_type == "codemirror")
+ it.lw_triggerPlay = triggerPlayCodeMirrorFunc;
+ else if (it.lw_type == "textarea")
+ it.lw_triggerPlay = triggerPlayTextareaFunc;
+ else if (it.lw_type == "monaco"){
+ it.lw_triggerPlay = triggerPlayMonacoFunc;
+ }
+ else if (it.lw_type == "ace"){
+ it.lw_triggerPlay = triggerPlayAceFunc;
+ it.lw_ace_Range = ace.require("ace/range").Range;
+ it.setReadOnly(true);
+ it.$blockScrolling = Infinity;
+ }
+
+// de-register event handler.
+ if ( it.lw_type == "textarea"){
+ it.onkeyup = null;
+ it.onkeypress = null;
+ it.onkeydown = null
+ it.onmouseup = null;
+ it.onpaste = null;
+ it.oncut = null;
+ it.onscroll = null;
+ //it.ondragstart = dropStartTextareaFunc;
+ //it.ondragend = dropEndTextareaFunc;
+ it.ondrop = null;
+ it.ondblclick = null;
+ it.oninput = null;
+ }
+ else if (it.lw_type == "codemirror"){
+ it.off("change", changeCodeMirrorFunc);
+ it.off("cursorActivity", cursorCodeMirrorFunc);
+ it.off("scroll", viewPortchangeCodeMirrorFunc)
+ }
+ else if (it.lw_type == "monaco"){
+ monacoEventChange.dispose();
+ monacoEventCursor.dispose()
+ monacoEventScroll.dispose()
+ }
+ else if (it.lw_type == "ace"){
+ it.off("change", changeAceFunc);
+ //it.on("changeCursor", cursorAceFunc);
+ it.off("changeSelection", cursorAceFunc);
+ it.session.off("changeScrollLeft", function(number){
+ scrollLeftAceFunc(it,number); // this is needed to pass the editor instance. by deafult it has edit session.
+ });
+ it.session.off("changeScrollTop", function(number){
+ scrollTopAceFunc(it,number); /// this is needed to pass the editor instance.by deafult it has edit session.
+ });
+ }
+ it.lw_scheduleNextEvent = scheduleNextEventFunc;
+
+ it.focus();
+
+ if(DEBUG)console.log(it.lw_settings.name);
+ it.lw_version = json_file["version"];
+ it.lw_playback = (json_file["playback"]?json_file["playback"]:1);
+ it.lw_type = (json_file["editor_type"]?json_file["editor_type"]:"textarea"); // for data before the version 3 it has been only used for textarea
+ it.lw_finaltext = (json_file["finaltext"]?json_file["finaltext"]:"");
+ it.lw_initialText = (json_file["initialtext"]?json_file["initialtext"]:"");
+ if(it.lw_type == "codemirror"){
+ it.setValue(it.lw_initialText);
+ }
+ else if (it.lw_type == "textarea"){
+ it.value = it.lw_initialText;
+ }
+ else if (it.lw_type == "ace"){
+ it.setValue(it.lw_initialText)
+ }
+ else if (it.lw_type == "monaco"){
+ it.setValue(it.lw_initialText)
+ }
+
+ it.lw_data_index = 0;
+ it.lw_data=json_file["action"];
+ it.lw_endTime = it.lw_data[it.lw_data.length-1].t;
+ //it.lw_endTime = json_file.localEndtime - json_file.localStarttime;
+ // if (it.lw_version<=3)data = (data?data:json_file["data"]); // this is for data before version 3
+ if(DEBUG)console.log(it.name + "play response recieved in version("+it.version+")\n" );
+
+
+ var currTime = (new Date()).getTime();
+ it.lw_startTime = currTime;
+ createNavBar(it);
+ if(it.lw_type == "ace"){
+ it.session.getMode().getNextLineIndent = function(){return "";}
+ it.session.getMode().checkOutdent = function(){return false;}
+ }
+ livewritingResume(it);
+ var startTime = currTime + it.lw_data[0]['t']/it.lw_playback;
+ if(DEBUG)console.log("1start:" + startTime + " time: "+ currTime + " interval:" + it.lw_data[0]['t']/it.lw_playback+ " currentData:",JSON.stringify(it.lw_data[0]));
+ // let's draw inactive region.
+ drawHistogram(it);
+ var total_length = it.lw_data[it.lw_data.length-1]["t"]+1;
+ var prevStartTime = 0
+ for (var i=0; i< it.lw_data.length; i++){
+ var starting_time = it.lw_data[i]['t'];
+ if(it.lw_data[i]['t'] - prevStartTime> INACTIVE_SKIP_THRESHOLD){
+
+ var width =(it.lw_data[i]['t'] - prevStartTime ) / total_length;
+ if (width < 0.001) { // 0.001 means 1 px when the page width is 1000
+ continue;
+ }
+ var inactive_region = $('');
+ inactive_region.css("left", (prevStartTime / total_length * 100.0) + "%");
+ inactive_region.css("width", (width * 100.0) + "%");
+ inactive_region.addClass("ui-slider-inactive-region");
+ $(".livewriting_slider").append(inactive_region);
+ }
+ prevStartTime = it.lw_data[i]['t'];
+ }
+
+
+ };
+
+ var livewritingMainfunction = function (message, option1, option2, option3){
+ var it;
+
+ if ($(this).length==1){
+ it = $(this)[0];
+ }
+ else if ($(this) == Object){ // codemirror case I guess?
+ it = this;
+ }
+
+ if (typeof(message) != "string"){
+ alert("LiveWritingAPI: livewriting textarea need a string message");
+ return it;
+ }
+
+ if (it == null || typeof(it) == "undefined"){
+ alert("LiveWritingAPI: no object found for livewritingtexarea");
+ return it;
+ }
+
+ if (message =="reset"){
+ it.lw_startTime = (new Date()).getTime();
+ }
+ else if (message == "create"){
+
+ if (typeof(option2) != "object" &&typeof(option2) != "undefined" ){
+ alert("LiveWritingAPI: the 3rd argument should be the options array.");
+ return it;
+ }
+ if ( option1 != "textarea" && option1 != "codemirror" && option1 != "ace" && option1 != "monaco"){
+ alert("LiveWritingAPI: Creating live writing text area only supports either textarea, codemirror or ace editor. ");
+ return it;
+ }
+ if ($(this).length>1)
+ {
+ alert("LiveWritingAPI: Please, have only one textarea in a page");
+ return it;
+ }
+
+
+ if(typeof option3 == "undefined")
+ option3 = "";
+
+ createLiveWritingTextArea(it, option1, option2, option3);
+
+ return it;
+ }
+ else if (message == "post"){
+ if(typeof(option1) != "string"){
+ alert("LiveWritingAPI: you have to specify url "+ option1);
+ return;
+ }
+
+ if(typeof(option3) != "function" || option3 == null){
+ alert("LiveWritingAPI: you have to specify a function that will run when server responded. \n"+ option2);
+ return;
+ }
+
+ var url = option1,
+ useroptions = option2,
+ respondFunc = option3;
+
+ postData(it, url, useroptions, respondFunc);
+
+ }
+ else if (message == "play"){
+
+ if (typeof(option1)!="string")
+ {
+ alert("LiveWritingAPI: Unrecogniazble article id:"+option1);
+ return;
+ }
+
+ if (typeof(option2)!="string")
+ {
+ alert("LiveWritingAPI: Unrecogniazble url address"+option2);
+ return;
+ }
+
+ var articleid = option1;
+
+ if (it.lw_type == "codemirror"){
+ if (it.options.placeholder){
+ it.setOption("placeholder","");
+ }
+ }
+
+ playbackbyAid(it, articleid,option2);
+ }
+ else if (message == "playJson"){
+
+ if (typeof(option1)!="object" && typeof(option1)!="string")
+ {
+ alert("LiveWritingAPI: playJson require data object:"+option1);
+ return;
+ }
+ var data;
+ if (typeof(option1)=="object"){
+ data = option1;
+ }else{
+ try {
+ data = JSON.parse(option1);
+ } catch (e) {
+ return false;
+ }
+ }
+
+ it.lw_writemode = false;
+ it.onkeyup = null;
+ it.onkeypress = null;
+ it.onkeydown = null
+ it.onmouseup = null;
+ it.onpaste = null;
+ it.oncut = null;
+ it.onscroll = null;
+ it.ondragstart = null;
+ it.ondragend = null;
+ it.ondrop = null;
+ it.ondblclick = null;
+ it.oninput = null;
+ if (it.lw_type == "codemirror"){
+ if (it.options.placeholder){
+ it.setOption("placeholder","");
+ }
+ }
+ playbackbyJson(it, data);
+ return;
+ }
+ else if (message == "registerEvent"){
+
+ if (typeof(option1)!="string")
+ {
+ alert("LiveWritingAPI: Unrecogniazble article id:"+aid);
+ return;
+ }
+
+ }
+ else if (message == "userinput"){
+ // when user input event happens
+ // save the event
+ if(typeof(option1) != "number" || option1 == null){
+ alert("LiveWritingAPI: you have to specify a index number of the user-input function (can be any number) that will run when user-input is done"+ option1);
+ return;
+ }
+
+ it.onUserInput(option1, option2);
+ }
+ else if (message == "register"){
+ if(typeof(option2) != "function" || option2 == null){
+ alert("LiveWritingAPI: you have to specify a function that will run when user-input is done"+ option1);
+ return;
+ }
+
+ if(typeof(option1) != "number" || option1 == null){
+ alert("LiveWritingAPI: you have to specify a function that will run when user-input is done"+ option1);
+ return;
+ }
+
+ it.userInputRespond[option1] = option2;
+ }
+ else if (message == "returnactiondata"){
+
+ return getActionData(it);
+ }
+ return;
+ }
+
+ return livewritingMainfunction;
+ }(jQuery));
+ // Export for node
+ if (typeof module !== 'undefined' && module.exports) {
+ /** @exports livewriting */
+ module.exports = livewriting;
+ }
+
+}
diff --git a/utils/base.js b/utils/base.js
index c3447ae..4103d91 100644
--- a/utils/base.js
+++ b/utils/base.js
@@ -26,7 +26,8 @@ function createBase (name) {
app.use(morgan(log(name), format))
// parse request body
- app.use(express.json())
+ DATA_LIMIT = "100mb"
+ app.use(express.json({limit : DATA_LIMIT}))
app.use(express.urlencoded({ extended: false }))
// retrieve session
From 4c08fe8fbf01b575913b9fdd713f9a76e525ee35 Mon Sep 17 00:00:00 2001
From: Richard
Date: Sun, 26 May 2019 23:48:55 -0400
Subject: [PATCH 2/5] Bad git practices b/c not branching off of master, but
should be fine. Refactor code to use webpack
---
dist/0.app.js | 1 +
dist/10.app.js | 1 +
dist/11.app.js | 1 +
dist/12.app.js | 1 +
dist/13.app.js | 1 +
dist/14.app.js | 1 +
dist/15.app.js | 1 +
dist/16.app.js | 1 +
dist/17.app.js | 1 +
dist/18.app.js | 1 +
dist/19.app.js | 1 +
dist/2.app.js | 1 +
dist/20.app.js | 1 +
dist/21.app.js | 1 +
dist/22.app.js | 1 +
dist/23.app.js | 1 +
dist/24.app.js | 1 +
dist/25.app.js | 1 +
dist/26.app.js | 1 +
dist/27.app.js | 1 +
dist/28.app.js | 1 +
dist/29.app.js | 1 +
dist/3.app.js | 1 +
dist/30.app.js | 1 +
dist/31.app.js | 1 +
dist/32.app.js | 1 +
dist/33.app.js | 1 +
dist/34.app.js | 1 +
dist/35.app.js | 1 +
dist/36.app.js | 1 +
dist/37.app.js | 1 +
dist/38.app.js | 1 +
dist/39.app.js | 1 +
dist/4.app.js | 1 +
dist/40.app.js | 1 +
dist/41.app.js | 1 +
dist/42.app.js | 1 +
dist/43.app.js | 1 +
dist/44.app.js | 1 +
dist/45.app.js | 1 +
dist/46.app.js | 1 +
dist/47.app.js | 1 +
dist/48.app.js | 5 +
dist/49.app.js | 1 +
dist/5.app.js | 1 +
dist/50.app.js | 1 +
dist/51.app.js | 1 +
dist/52.app.js | 1 +
dist/53.app.js | 1 +
dist/54.app.js | 1 +
dist/55.app.js | 1 +
dist/56.app.js | 1 +
dist/57.app.js | 1 +
dist/6.app.js | 1 +
dist/7.app.js | 1 +
dist/8.app.js | 1 +
dist/9.app.js | 1 +
dist/app.js | 85 +
dist/css.worker.js | 1 +
dist/editor.worker.js | 1 +
dist/html.worker.js | 1 +
dist/index.html | 15 +
dist/json.worker.js | 1 +
dist/style.css | 30 +
dist/typescript.worker.js | 16 +
editor.js | 30 -
package-lock.json | 6882 +++++++++++++++++++++++++++++++++++++
package.json | 35 -
src/script.js | 22 +
src/utils.js | 133 +
views/explorer.hbs | 16 -
webpack.config.js | 20 +
72 files changed, 7268 insertions(+), 81 deletions(-)
create mode 100644 dist/0.app.js
create mode 100644 dist/10.app.js
create mode 100644 dist/11.app.js
create mode 100644 dist/12.app.js
create mode 100644 dist/13.app.js
create mode 100644 dist/14.app.js
create mode 100644 dist/15.app.js
create mode 100644 dist/16.app.js
create mode 100644 dist/17.app.js
create mode 100644 dist/18.app.js
create mode 100644 dist/19.app.js
create mode 100644 dist/2.app.js
create mode 100644 dist/20.app.js
create mode 100644 dist/21.app.js
create mode 100644 dist/22.app.js
create mode 100644 dist/23.app.js
create mode 100644 dist/24.app.js
create mode 100644 dist/25.app.js
create mode 100644 dist/26.app.js
create mode 100644 dist/27.app.js
create mode 100644 dist/28.app.js
create mode 100644 dist/29.app.js
create mode 100644 dist/3.app.js
create mode 100644 dist/30.app.js
create mode 100644 dist/31.app.js
create mode 100644 dist/32.app.js
create mode 100644 dist/33.app.js
create mode 100644 dist/34.app.js
create mode 100644 dist/35.app.js
create mode 100644 dist/36.app.js
create mode 100644 dist/37.app.js
create mode 100644 dist/38.app.js
create mode 100644 dist/39.app.js
create mode 100644 dist/4.app.js
create mode 100644 dist/40.app.js
create mode 100644 dist/41.app.js
create mode 100644 dist/42.app.js
create mode 100644 dist/43.app.js
create mode 100644 dist/44.app.js
create mode 100644 dist/45.app.js
create mode 100644 dist/46.app.js
create mode 100644 dist/47.app.js
create mode 100644 dist/48.app.js
create mode 100644 dist/49.app.js
create mode 100644 dist/5.app.js
create mode 100644 dist/50.app.js
create mode 100644 dist/51.app.js
create mode 100644 dist/52.app.js
create mode 100644 dist/53.app.js
create mode 100644 dist/54.app.js
create mode 100644 dist/55.app.js
create mode 100644 dist/56.app.js
create mode 100644 dist/57.app.js
create mode 100644 dist/6.app.js
create mode 100644 dist/7.app.js
create mode 100644 dist/8.app.js
create mode 100644 dist/9.app.js
create mode 100644 dist/app.js
create mode 100644 dist/css.worker.js
create mode 100644 dist/editor.worker.js
create mode 100644 dist/html.worker.js
create mode 100644 dist/index.html
create mode 100644 dist/json.worker.js
create mode 100644 dist/style.css
create mode 100644 dist/typescript.worker.js
delete mode 100644 editor.js
create mode 100644 package-lock.json
delete mode 100644 package.json
create mode 100644 src/script.js
create mode 100644 src/utils.js
delete mode 100644 views/explorer.hbs
create mode 100644 webpack.config.js
diff --git a/dist/0.app.js b/dist/0.app.js
new file mode 100644
index 0000000..67c9b4d
--- /dev/null
+++ b/dist/0.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{272:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return i}),t.d(n,"language",function(){return r});var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}}}]);
\ No newline at end of file
diff --git a/dist/10.app.js b/dist/10.app.js
new file mode 100644
index 0000000..9caf7b2
--- /dev/null
+++ b/dist/10.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{424:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return r}),n.d(t,"language",function(){return i});var r={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*\/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/dist/11.app.js b/dist/11.app.js
new file mode 100644
index 0000000..ece5bff
--- /dev/null
+++ b/dist/11.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{425:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return s}),o.d(n,"language",function(){return t});var s={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}}]);
\ No newline at end of file
diff --git a/dist/12.app.js b/dist/12.app.js
new file mode 100644
index 0000000..6e1f7ac
--- /dev/null
+++ b/dist/12.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{426:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return s}),t.d(n,"language",function(){return o});var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}}]);
\ No newline at end of file
diff --git a/dist/13.app.js b/dist/13.app.js
new file mode 100644
index 0000000..1a5ed41
--- /dev/null
+++ b/dist/13.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{427:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return s});var t={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/dist/14.app.js b/dist/14.app.js
new file mode 100644
index 0000000..c886185
--- /dev/null
+++ b/dist/14.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{471:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return o}),t.d(n,"language",function(){return s});var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},s={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/dist/15.app.js b/dist/15.app.js
new file mode 100644
index 0000000..7980c72
--- /dev/null
+++ b/dist/15.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{428:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return i}),n.d(t,"language",function(){return m});var a="undefined"==typeof monaco?self.monaco:monaco,r=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:a.languages.IndentAction.Indent}}]},m={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/[#\/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}}]);
\ No newline at end of file
diff --git a/dist/16.app.js b/dist/16.app.js
new file mode 100644
index 0000000..91f5fa5
--- /dev/null
+++ b/dist/16.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{429:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return r}),n.d(t,"language",function(){return d});var i="undefined"==typeof monaco?self.monaco:monaco,o=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:i.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},d={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]);
\ No newline at end of file
diff --git a/dist/17.app.js b/dist/17.app.js
new file mode 100644
index 0000000..e703a12
--- /dev/null
+++ b/dist/17.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{430:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",function(){return o}),s.d(n,"language",function(){return t});var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]);
\ No newline at end of file
diff --git a/dist/18.app.js b/dist/18.app.js
new file mode 100644
index 0000000..4fb8430
--- /dev/null
+++ b/dist/18.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{431:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",function(){return n}),o.d(t,"language",function(){return s});var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/dist/19.app.js b/dist/19.app.js
new file mode 100644
index 0000000..8b9062d
--- /dev/null
+++ b/dist/19.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{468:function(e,n,i){"use strict";i.r(n),i.d(n,"conf",function(){return t}),i.d(n,"language",function(){return o});var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},o={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/dist/2.app.js b/dist/2.app.js
new file mode 100644
index 0000000..bac91e9
--- /dev/null
+++ b/dist/2.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2,50],{416:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return i}),t.d(n,"language",function(){return r});var o="undefined"==typeof monaco?self.monaco:monaco,i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},r={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","",">>",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0[oO]?(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}},432:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return i}),t.d(n,"language",function(){return r});var o=t(416),i=("undefined"==typeof monaco?self.monaco:monaco,o.conf),r={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:o.language.operators,symbols:o.language.symbols,escapes:o.language.escapes,digits:o.language.digits,octaldigits:o.language.octaldigits,binarydigits:o.language.binarydigits,hexdigits:o.language.hexdigits,regexpctl:o.language.regexpctl,regexpesc:o.language.regexpesc,tokenizer:o.language.tokenizer}}}]);
\ No newline at end of file
diff --git a/dist/20.app.js b/dist/20.app.js
new file mode 100644
index 0000000..e630236
--- /dev/null
+++ b/dist/20.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{433:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return i}),n.d(t,"language",function(){return r});var i={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},r={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}}}]);
\ No newline at end of file
diff --git a/dist/21.app.js b/dist/21.app.js
new file mode 100644
index 0000000..edea937
--- /dev/null
+++ b/dist/21.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{434:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return s});var t={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},o={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/(#|\/\/)$/,"comment.php"],[/(#|\/\/)/,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]);
\ No newline at end of file
diff --git a/dist/3.app.js b/dist/3.app.js
new file mode 100644
index 0000000..03f6723
--- /dev/null
+++ b/dist/3.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{417:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return i});var o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach(function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))});var i={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]);
\ No newline at end of file
diff --git a/dist/30.app.js b/dist/30.app.js
new file mode 100644
index 0000000..6693584
--- /dev/null
+++ b/dist/30.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{442:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return i}),n.d(t,"language",function(){return o});var i={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},o={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:,action:{token:"keyword",next:"@lexing_EFFECT_commaseq0"}},{regex:/\.@symbolic+/,action:{token:"identifier.sym"}},{regex:/\.@digit*@fexponent@FLOATSP*/,action:{token:"number.float"}},{regex:/\.@digit+/,action:{token:"number.float"}},{regex:/\$@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_dlr":{token:"keyword.dlr"},"@default":{token:"namespace"}}}},{regex:/\#@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_srp":{token:"keyword.srp"},"@default":{token:"identifier"}}}},{regex:/%\(/,action:{token:"delimiter.parenthesis"}},{regex:/^%{(#|\^|\$)?/,action:{token:"keyword",next:"@lexing_EXTCODE",nextEmbedded:"text/javascript"}},{regex:/^%}/,action:{token:"keyword"}},{regex:/'\(/,action:{token:"delimiter.parenthesis"}},{regex:/'\[/,action:{token:"delimiter.bracket"}},{regex:/'\{/,action:{token:"delimiter.brace"}},[/(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/,["string","string.escape","string"]],[/'[^\\']'/,"string"],[/"/,"string.quote","@lexing_DQUOTE"],{regex:/`\(/,action:"@brackets"},{regex:/\\/,action:{token:"punctuation"}},{regex:/@irregular_keywords(?!@IDENTRST)/,action:{token:"keyword"}},{regex:/@IDENTFST@IDENTRST*[/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}}}]);
\ No newline at end of file
diff --git a/dist/31.app.js b/dist/31.app.js
new file mode 100644
index 0000000..02052c5
--- /dev/null
+++ b/dist/31.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{443:function(e,t,a){"use strict";a.r(t),a.d(t,"conf",function(){return n}),a.d(t,"language",function(){return i});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},i={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/dist/32.app.js b/dist/32.app.js
new file mode 100644
index 0000000..111aa42
--- /dev/null
+++ b/dist/32.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{444:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",function(){return t}),s.d(n,"language",function(){return o});var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/dist/33.app.js b/dist/33.app.js
new file mode 100644
index 0000000..b038681
--- /dev/null
+++ b/dist/33.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{445:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return a});var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]);
\ No newline at end of file
diff --git a/dist/37.app.js b/dist/37.app.js
new file mode 100644
index 0000000..8063ee4
--- /dev/null
+++ b/dist/37.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{449:function(E,S,e){"use strict";e.r(S),e.d(S,"conf",function(){return T}),e.d(S,"language",function(){return R});var T={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*\/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/dist/38.app.js b/dist/38.app.js
new file mode 100644
index 0000000..23ffcc0
--- /dev/null
+++ b/dist/38.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{450:function(e,_,t){"use strict";t.r(_),t.d(_,"conf",function(){return r}),t.d(_,"language",function(){return i});var r={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},i={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*\/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*\/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]);
\ No newline at end of file
diff --git a/dist/39.app.js b/dist/39.app.js
new file mode 100644
index 0000000..443bdac
--- /dev/null
+++ b/dist/39.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{451:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",function(){return r}),t.d(n,"language",function(){return o});var r={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],indentationRules:{increaseIndentPattern:new RegExp("^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|(\"|'|/).*\\4)*(#.*)?$"),decreaseIndentPattern:new RegExp("^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)")}},o={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r,{token:"regexp.delim",switchTo:"@pregexp.<.>"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?),{token:"string.$1.delim",switchTo:"@qqstring.$1.<.>"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}}}]);
\ No newline at end of file
diff --git a/dist/4.app.js b/dist/4.app.js
new file mode 100644
index 0000000..d92eb37
--- /dev/null
+++ b/dist/4.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{418:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return s});var o={comments:{lineComment:"#"}},s={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}}]);
\ No newline at end of file
diff --git a/dist/40.app.js b/dist/40.app.js
new file mode 100644
index 0000000..778f810
--- /dev/null
+++ b/dist/40.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{452:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",function(){return n}),o.d(t,"language",function(){return s});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},s={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}]);
\ No newline at end of file
diff --git a/dist/41.app.js b/dist/41.app.js
new file mode 100644
index 0000000..ea523d0
--- /dev/null
+++ b/dist/41.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{453:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return r});var t={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},r={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/dist/42.app.js b/dist/42.app.js
new file mode 100644
index 0000000..1f0dac5
--- /dev/null
+++ b/dist/42.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{454:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return s});var t={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}}}]);
\ No newline at end of file
diff --git a/dist/43.app.js b/dist/43.app.js
new file mode 100644
index 0000000..3027d80
--- /dev/null
+++ b/dist/43.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{455:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return i});var o={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}}}]);
\ No newline at end of file
diff --git a/dist/44.app.js b/dist/44.app.js
new file mode 100644
index 0000000..8b41176
--- /dev/null
+++ b/dist/44.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{456:function(e,r,o){"use strict";o.r(r),o.d(r,"conf",function(){return i}),o.d(r,"language",function(){return t});var i={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},f={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","constructor","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]);
\ No newline at end of file
diff --git a/dist/46.app.js b/dist/46.app.js
new file mode 100644
index 0000000..45061d7
--- /dev/null
+++ b/dist/46.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{458:function(E,T,R){"use strict";R.r(T),R.d(T,"conf",function(){return A}),R.d(T,"language",function(){return I});var A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT_AFTER_WAIT","ABSENT","ABSOLUTE","ACCENT_SENSITIVITY","ACTION","ACTIVATION","ACTIVE","ADD","ADDRESS","ADMIN","AES","AES_128","AES_192","AES_256","AFFINITY","AFTER","AGGREGATE","ALGORITHM","ALL_CONSTRAINTS","ALL_ERRORMSGS","ALL_INDEXES","ALL_LEVELS","ALL_SPARSE_COLUMNS","ALLOW_CONNECTIONS","ALLOW_MULTIPLE_EVENT_LOSS","ALLOW_PAGE_LOCKS","ALLOW_ROW_LOCKS","ALLOW_SINGLE_EVENT_LOSS","ALLOW_SNAPSHOT_ISOLATION","ALLOWED","ALTER","ANONYMOUS","ANSI_DEFAULTS","ANSI_NULL_DEFAULT","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_NULLS","ANSI_PADDING","ANSI_WARNINGS","APPEND","APPLICATION","APPLICATION_LOG","ARITHABORT","ARITHIGNORE","AS","ASC","ASSEMBLY","ASYMMETRIC","ASYNCHRONOUS_COMMIT","AT","ATOMIC","ATTACH","ATTACH_REBUILD_LOG","AUDIT","AUDIT_GUID","AUTHENTICATION","AUTHORIZATION","AUTO","AUTO_CLEANUP","AUTO_CLOSE","AUTO_CREATE_STATISTICS","AUTO_SHRINK","AUTO_UPDATE_STATISTICS","AUTO_UPDATE_STATISTICS_ASYNC","AUTOMATED_BACKUP_PREFERENCE","AUTOMATIC","AVAILABILITY","AVAILABILITY_MODE","BACKUP","BACKUP_PRIORITY","BASE64","BATCHSIZE","BEGIN","BEGIN_DIALOG","BIGINT","BINARY","BINDING","BIT","BLOCKERS","BLOCKSIZE","BOUNDING_BOX","BREAK","BROKER","BROKER_INSTANCE","BROWSE","BUCKET_COUNT","BUFFER","BUFFERCOUNT","BULK","BULK_LOGGED","BY","CACHE","CALL","CALLED","CALLER","CAP_CPU_PERCENT","CASCADE","CASE","CATALOG","CATCH","CELLS_PER_OBJECT","CERTIFICATE","CHANGE_RETENTION","CHANGE_TRACKING","CHANGES","CHAR","CHARACTER","CHECK","CHECK_CONSTRAINTS","CHECK_EXPIRATION","CHECK_POLICY","CHECKALLOC","CHECKCATALOG","CHECKCONSTRAINTS","CHECKDB","CHECKFILEGROUP","CHECKIDENT","CHECKPOINT","CHECKTABLE","CLASSIFIER_FUNCTION","CLEANTABLE","CLEANUP","CLEAR","CLOSE","CLUSTER","CLUSTERED","CODEPAGE","COLLATE","COLLECTION","COLUMN","COLUMN_SET","COLUMNS","COLUMNSTORE","COLUMNSTORE_ARCHIVE","COMMIT","COMMITTED","COMPATIBILITY_LEVEL","COMPRESSION","COMPUTE","CONCAT","CONCAT_NULL_YIELDS_NULL","CONFIGURATION","CONNECT","CONSTRAINT","CONTAINMENT","CONTENT","CONTEXT","CONTINUE","CONTINUE_AFTER_ERROR","CONTRACT","CONTRACT_NAME","CONTROL","CONVERSATION","COOKIE","COPY_ONLY","COUNTER","CPU","CREATE","CREATE_NEW","CREATION_DISPOSITION","CREDENTIAL","CRYPTOGRAPHIC","CUBE","CURRENT","CURRENT_DATE","CURSOR","CURSOR_CLOSE_ON_COMMIT","CURSOR_DEFAULT","CYCLE","DATA","DATA_COMPRESSION","DATA_PURITY","DATABASE","DATABASE_DEFAULT","DATABASE_MIRRORING","DATABASE_SNAPSHOT","DATAFILETYPE","DATE","DATE_CORRELATION_OPTIMIZATION","DATEFIRST","DATEFORMAT","DATETIME","DATETIME2","DATETIMEOFFSET","DAY","DAYOFYEAR","DAYS","DB_CHAINING","DBCC","DBREINDEX","DDL_DATABASE_LEVEL_EVENTS","DEADLOCK_PRIORITY","DEALLOCATE","DEC","DECIMAL","DECLARE","DECRYPTION","DEFAULT","DEFAULT_DATABASE","DEFAULT_FULLTEXT_LANGUAGE","DEFAULT_LANGUAGE","DEFAULT_SCHEMA","DEFINITION","DELAY","DELAYED_DURABILITY","DELETE","DELETED","DENSITY_VECTOR","DENY","DEPENDENTS","DES","DESC","DESCRIPTION","DESX","DHCP","DIAGNOSTICS","DIALOG","DIFFERENTIAL","DIRECTORY_NAME","DISABLE","DISABLE_BROKER","DISABLED","DISK","DISTINCT","DISTRIBUTED","DOCUMENT","DOUBLE","DROP","DROP_EXISTING","DROPCLEANBUFFERS","DUMP","DURABILITY","DYNAMIC","EDITION","ELEMENTS","ELSE","EMERGENCY","EMPTY","EMPTYFILE","ENABLE","ENABLE_BROKER","ENABLED","ENCRYPTION","END","ENDPOINT","ENDPOINT_URL","ERRLVL","ERROR","ERROR_BROKER_CONVERSATIONS","ERRORFILE","ESCAPE","ESTIMATEONLY","EVENT","EVENT_RETENTION_MODE","EXEC","EXECUTABLE","EXECUTE","EXIT","EXPAND","EXPIREDATE","EXPIRY_DATE","EXPLICIT","EXTENDED_LOGICAL_CHECKS","EXTENSION","EXTERNAL","EXTERNAL_ACCESS","FAIL_OPERATION","FAILOVER","FAILOVER_MODE","FAILURE_CONDITION_LEVEL","FALSE","FAN_IN","FAST","FAST_FORWARD","FETCH","FIELDTERMINATOR","FILE","FILEGROUP","FILEGROWTH","FILELISTONLY","FILENAME","FILEPATH","FILESTREAM","FILESTREAM_ON","FILETABLE_COLLATE_FILENAME","FILETABLE_DIRECTORY","FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME","FILETABLE_NAMESPACE","FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME","FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME","FILLFACTOR","FILTERING","FIRE_TRIGGERS","FIRST","FIRSTROW","FLOAT","FMTONLY","FOLLOWING","FOR","FORCE","FORCE_FAILOVER_ALLOW_DATA_LOSS","FORCE_SERVICE_ALLOW_DATA_LOSS","FORCED","FORCEPLAN","FORCESCAN","FORCESEEK","FOREIGN","FORMATFILE","FORMSOF","FORWARD_ONLY","FREE","FREEPROCCACHE","FREESESSIONCACHE","FREESYSTEMCACHE","FROM","FULL","FULLSCAN","FULLTEXT","FUNCTION","GB","GEOGRAPHY_AUTO_GRID","GEOGRAPHY_GRID","GEOMETRY_AUTO_GRID","GEOMETRY_GRID","GET","GLOBAL","GO","GOTO","GOVERNOR","GRANT","GRIDS","GROUP","GROUP_MAX_REQUESTS","HADR","HASH","HASHED","HAVING","HEADERONLY","HEALTH_CHECK_TIMEOUT","HELP","HIERARCHYID","HIGH","HINT","HISTOGRAM","HOLDLOCK","HONOR_BROKER_PRIORITY","HOUR","HOURS","IDENTITY","IDENTITY_INSERT","IDENTITY_VALUE","IDENTITYCOL","IF","IGNORE_CONSTRAINTS","IGNORE_DUP_KEY","IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX","IGNORE_TRIGGERS","IMAGE","IMMEDIATE","IMPERSONATE","IMPLICIT_TRANSACTIONS","IMPORTANCE","INCLUDE","INCREMENT","INCREMENTAL","INDEX","INDEXDEFRAG","INFINITE","INFLECTIONAL","INIT","INITIATOR","INPUT","INPUTBUFFER","INSENSITIVE","INSERT","INSERTED","INSTEAD","INT","INTEGER","INTO","IO","IP","ISABOUT","ISOLATION","JOB","KB","KEEP","KEEP_CDC","KEEP_NULLS","KEEP_REPLICATION","KEEPDEFAULTS","KEEPFIXED","KEEPIDENTITY","KEEPNULLS","KERBEROS","KEY","KEY_SOURCE","KEYS","KEYSET","KILL","KILOBYTES_PER_BATCH","LABELONLY","LANGUAGE","LAST","LASTROW","LEVEL","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","LIFETIME","LIMIT","LINENO","LIST","LISTENER","LISTENER_IP","LISTENER_PORT","LOAD","LOADHISTORY","LOB_COMPACTION","LOCAL","LOCAL_SERVICE_NAME","LOCK_ESCALATION","LOCK_TIMEOUT","LOGIN","LOGSPACE","LOOP","LOW","MANUAL","MARK","MARK_IN_USE_FOR_REMOVAL","MASTER","MAX_CPU_PERCENT","MAX_DISPATCH_LATENCY","MAX_DOP","MAX_DURATION","MAX_EVENT_SIZE","MAX_FILES","MAX_IOPS_PER_VOLUME","MAX_MEMORY","MAX_MEMORY_PERCENT","MAX_QUEUE_READERS","MAX_ROLLOVER_FILES","MAX_SIZE","MAXDOP","MAXERRORS","MAXLENGTH","MAXRECURSION","MAXSIZE","MAXTRANSFERSIZE","MAXVALUE","MB","MEDIADESCRIPTION","MEDIANAME","MEDIAPASSWORD","MEDIUM","MEMBER","MEMORY_OPTIMIZED","MEMORY_OPTIMIZED_DATA","MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT","MEMORY_PARTITION_MODE","MERGE","MESSAGE","MESSAGE_FORWARD_SIZE","MESSAGE_FORWARDING","MICROSECOND","MILLISECOND","MIN_CPU_PERCENT","MIN_IOPS_PER_VOLUME","MIN_MEMORY_PERCENT","MINUTE","MINUTES","MINVALUE","MIRROR","MIRROR_ADDRESS","MODIFY","MONEY","MONTH","MOVE","MULTI_USER","MUST_CHANGE","NAME","NANOSECOND","NATIONAL","NATIVE_COMPILATION","NCHAR","NEGOTIATE","NESTED_TRIGGERS","NEW_ACCOUNT","NEW_BROKER","NEW_PASSWORD","NEWNAME","NEXT","NO","NO_BROWSETABLE","NO_CHECKSUM","NO_COMPRESSION","NO_EVENT_LOSS","NO_INFOMSGS","NO_TRUNCATE","NO_WAIT","NOCHECK","NOCOUNT","NOEXEC","NOEXPAND","NOFORMAT","NOINDEX","NOINIT","NOLOCK","NON","NON_TRANSACTED_ACCESS","NONCLUSTERED","NONE","NORECOMPUTE","NORECOVERY","NORESEED","NORESET","NOREWIND","NORMAL","NOSKIP","NOTIFICATION","NOTRUNCATE","NOUNLOAD","NOWAIT","NTEXT","NTLM","NUMANODE","NUMERIC","NUMERIC_ROUNDABORT","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OLD_ACCOUNT","OLD_PASSWORD","ON","ON_FAILURE","ONLINE","ONLY","OPEN","OPEN_EXISTING","OPENTRAN","OPTIMISTIC","OPTIMIZE","OPTION","ORDER","OUT","OUTPUT","OUTPUTBUFFER","OVER","OVERRIDE","OWNER","OWNERSHIP","PAD_INDEX","PAGE","PAGE_VERIFY","PAGECOUNT","PAGLOCK","PARAMETERIZATION","PARSEONLY","PARTIAL","PARTITION","PARTITIONS","PARTNER","PASSWORD","PATH","PER_CPU","PER_NODE","PERCENT","PERMISSION_SET","PERSISTED","PHYSICAL_ONLY","PLAN","POISON_MESSAGE_HANDLING","POOL","POPULATION","PORT","PRECEDING","PRECISION","PRIMARY","PRIMARY_ROLE","PRINT","PRIOR","PRIORITY","PRIORITY_LEVEL","PRIVATE","PRIVILEGES","PROC","PROCCACHE","PROCEDURE","PROCEDURE_NAME","PROCESS","PROFILE","PROPERTY","PROPERTY_DESCRIPTION","PROPERTY_INT_ID","PROPERTY_SET_GUID","PROVIDER","PROVIDER_KEY_NAME","PUBLIC","PUT","QUARTER","QUERY","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUEUE_DELAY","QUOTED_IDENTIFIER","RAISERROR","RANGE","RAW","RC2","RC4","RC4_128","READ","READ_COMMITTED_SNAPSHOT","READ_ONLY","READ_ONLY_ROUTING_LIST","READ_ONLY_ROUTING_URL","READ_WRITE","READ_WRITE_FILEGROUPS","READCOMMITTED","READCOMMITTEDLOCK","READONLY","READPAST","READTEXT","READUNCOMMITTED","READWRITE","REAL","REBUILD","RECEIVE","RECOMPILE","RECONFIGURE","RECOVERY","RECURSIVE","RECURSIVE_TRIGGERS","REFERENCES","REGENERATE","RELATED_CONVERSATION","RELATED_CONVERSATION_GROUP","RELATIVE","REMOTE","REMOTE_PROC_TRANSACTIONS","REMOTE_SERVICE_NAME","REMOVE","REORGANIZE","REPAIR_ALLOW_DATA_LOSS","REPAIR_FAST","REPAIR_REBUILD","REPEATABLE","REPEATABLEREAD","REPLICA","REPLICATION","REQUEST_MAX_CPU_TIME_SEC","REQUEST_MAX_MEMORY_GRANT_PERCENT","REQUEST_MEMORY_GRANT_TIMEOUT_SEC","REQUIRED","RESAMPLE","RESEED","RESERVE_DISK_SPACE","RESET","RESOURCE","RESTART","RESTORE","RESTRICT","RESTRICTED_USER","RESULT","RESUME","RETAINDAYS","RETENTION","RETURN","RETURNS","REVERT","REVOKE","REWIND","REWINDONLY","ROBUST","ROLE","ROLLBACK","ROLLUP","ROOT","ROUTE","ROW","ROWCOUNT","ROWGUIDCOL","ROWLOCK","ROWS","ROWS_PER_BATCH","ROWTERMINATOR","ROWVERSION","RSA_1024","RSA_2048","RSA_512","RULE","SAFE","SAFETY","SAMPLE","SAVE","SCHEDULER","SCHEMA","SCHEMA_AND_DATA","SCHEMA_ONLY","SCHEMABINDING","SCHEME","SCROLL","SCROLL_LOCKS","SEARCH","SECOND","SECONDARY","SECONDARY_ONLY","SECONDARY_ROLE","SECONDS","SECRET","SECURITY_LOG","SECURITYAUDIT","SELECT","SELECTIVE","SELF","SEND","SENT","SEQUENCE","SERIALIZABLE","SERVER","SERVICE","SERVICE_BROKER","SERVICE_NAME","SESSION","SESSION_TIMEOUT","SET","SETS","SETUSER","SHOW_STATISTICS","SHOWCONTIG","SHOWPLAN","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SHRINKDATABASE","SHRINKFILE","SHUTDOWN","SID","SIGNATURE","SIMPLE","SINGLE_BLOB","SINGLE_CLOB","SINGLE_NCLOB","SINGLE_USER","SINGLETON","SIZE","SKIP","SMALLDATETIME","SMALLINT","SMALLMONEY","SNAPSHOT","SORT_IN_TEMPDB","SOURCE","SPARSE","SPATIAL","SPATIAL_WINDOW_MAX_CELLS","SPECIFICATION","SPLIT","SQL","SQL_VARIANT","SQLPERF","STANDBY","START","START_DATE","STARTED","STARTUP_STATE","STAT_HEADER","STATE","STATEMENT","STATIC","STATISTICAL_SEMANTICS","STATISTICS","STATISTICS_INCREMENTAL","STATISTICS_NORECOMPUTE","STATS","STATS_STREAM","STATUS","STATUSONLY","STOP","STOP_ON_ERROR","STOPAT","STOPATMARK","STOPBEFOREMARK","STOPLIST","STOPPED","SUBJECT","SUBSCRIPTION","SUPPORTED","SUSPEND","SWITCH","SYMMETRIC","SYNCHRONOUS_COMMIT","SYNONYM","SYSNAME","SYSTEM","TABLE","TABLERESULTS","TABLESAMPLE","TABLOCK","TABLOCKX","TAKE","TAPE","TARGET","TARGET_RECOVERY_TIME","TB","TCP","TEXT","TEXTIMAGE_ON","TEXTSIZE","THEN","THESAURUS","THROW","TIES","TIME","TIMEOUT","TIMER","TIMESTAMP","TINYINT","TO","TOP","TORN_PAGE_DETECTION","TRACEOFF","TRACEON","TRACESTATUS","TRACK_CAUSALITY","TRACK_COLUMNS_UPDATED","TRAN","TRANSACTION","TRANSFER","TRANSFORM_NOISE_WORDS","TRIGGER","TRIPLE_DES","TRIPLE_DES_3KEY","TRUE","TRUNCATE","TRUNCATEONLY","TRUSTWORTHY","TRY","TSQL","TWO_DIGIT_YEAR_CUTOFF","TYPE","TYPE_WARNING","UNBOUNDED","UNCHECKED","UNCOMMITTED","UNDEFINED","UNIQUE","UNIQUEIDENTIFIER","UNKNOWN","UNLIMITED","UNLOAD","UNSAFE","UPDATE","UPDATETEXT","UPDATEUSAGE","UPDLOCK","URL","USE","USED","USER","USEROPTIONS","USING","VALID_XML","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VERIFYONLY","VERSION","VIEW","VIEW_METADATA","VIEWS","VISIBILITY","WAIT_AT_LOW_PRIORITY","WAITFOR","WEEK","WEIGHT","WELL_FORMED_XML","WHEN","WHERE","WHILE","WINDOWS","WITH","WITHIN","WITHOUT","WITNESS","WORK","WORKLOAD","WRITETEXT","XACT_ABORT","XLOCK","XMAX","XMIN","XML","XMLDATA","XMLNAMESPACES","XMLSCHEMA","XQUERY","XSINIL","YEAR","YMAX","YMIN"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*\/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*\/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}}]);
\ No newline at end of file
diff --git a/dist/47.app.js b/dist/47.app.js
new file mode 100644
index 0000000..fb5bf79
--- /dev/null
+++ b/dist/47.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{459:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return r});var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","configuration","end_configuration","tcp","end_tcp","recource","end_recource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","world","dworld","array","pointer","lworld"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}}]);
\ No newline at end of file
diff --git a/dist/49.app.js b/dist/49.app.js
new file mode 100644
index 0000000..d1213ae
--- /dev/null
+++ b/dist/49.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{470:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return s});var o={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},i={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","",">>",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0[oO]?(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]);
\ No newline at end of file
diff --git a/dist/51.app.js b/dist/51.app.js
new file mode 100644
index 0000000..4d4f160
--- /dev/null
+++ b/dist/51.app.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{461:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return r});var t={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},r={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,t.html=d(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=d(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=d(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=m({},t),t.gfm=m({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=d(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=m({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=m({},t.normal,{html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,n){var i,o,r,s,a,u,l,c,d,h,p,g,f,m,b,_;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(n&&(r=this.rules.nptable.exec(e))&&(u={type:"table",header:v(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===u.align.length){for(e=e.substring(r[0].length),p=0;p ?/gm,""),this.token(r,n),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:m=(s=r[2]).length>1,start:m?+s:"",loose:!1},this.tokens.push(l),c=[],i=!1,f=(r=r[0].match(this.rules.item)).length,p=0;p1&&a.length>1||(e=r.slice(p+1).join("\n")+e,p=f-1)),o=i||/\n\n(?!\s*$)/.test(u),p!==f-1&&(i="\n"===u.charAt(u.length-1),o||(o=i)),o&&(l.loose=!0),_=void 0,(b=/^\[[ xX]\] /.test(u))&&(_=" "!==u[1],u=u.replace(/^\[[ xX]\] +/,"")),d={type:"list_item_start",task:b,checked:_,loose:o},c.push(d),this.tokens.push(d),this.token(u,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(f=c.length,p=0;p?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function d(e,t){return e=e.source||e,t=t||"",{replace:function(t,n){return n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function h(e,t){return p[" "+e]||(/^[^:]+:\/*[^\/]*$/.test(e)?p[" "+e]=e+"/":p[" "+e]=y(e,"/",!0)),e=p[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^\/]*)[\s\S]*/,"$1")+t:e+t}o._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,o._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,o._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,o.autolink=d(o.autolink).replace("scheme",o._scheme).replace("email",o._email).getRegex(),o._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,o.tag=d(o.tag).replace("comment",t._comment).replace("attribute",o._attribute).getRegex(),o._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,o._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f\\]*\)|[^\s\x00-\x1f()\\])*?)/,o._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,o.link=d(o.link).replace("label",o._label).replace("href",o._href).replace("title",o._title).getRegex(),o.reflink=d(o.reflink).replace("label",o._label).getRegex(),o.normal=m({},o),o.pedantic=m({},o.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",o._label).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",o._label).getRegex()}),o.gfm=m({},o.normal,{escape:d(o.escape).replace("])","~|])").getRegex(),url:d(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",o._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:d(o.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),o.breaks=m({},o.gfm,{br:d(o.br).replace("{2,}","*").getRegex(),text:d(o.gfm.text).replace("{2,}","*").getRegex()}),r.rules=o,r.output=function(e,t,n){return new r(t,n).output(e)},r.prototype.output=function(e){for(var t,n,i,o,s,a,u="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),u+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),i="@"===s[2]?"mailto:"+(n=l(this.mangle(s[1]))):n=l(s[1]),u+=this.renderer.link(i,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),u+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):l(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,i=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))?(i=t[1],o=t[3]):o="":o=s[3]?s[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),u+=this.outputLink(s,{href:r.escapes(i),title:r.escapes(o)}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){u+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,u+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),u+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),u+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),u+=this.renderer.codespan(l(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),u+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),u+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),u+=this.renderer.text(l(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{do{a=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(a!==s[0]);e=e.substring(s[0].length),"@"===s[2]?i="mailto:"+(n=l(s[0])):(n=l(s[0]),i="www."===s[1]?"http://"+n:n),u+=this.renderer.link(i,null,n)}return u},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,i=t.title?l(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,l(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,o=0;o.5&&(t="x"+t.toString(16)),n+=""+t+";";return n},s.prototype.code=function(e,t,n){if(this.options.highlight){var i=this.options.highlight(e,t);null!=i&&i!==e&&(n=!0,e=i)}return t?''+(n?e:l(e,!0))+"
\n":""+(n?e:l(e,!0))+"
"},s.prototype.blockquote=function(e){return"\n"+e+"
\n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,n){return this.options.headerIds?"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},s.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+i+">\n"},s.prototype.listitem=function(e){return""+e+"\n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return""+e+"
\n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n"},s.prototype.tablerow=function(e){return"\n"+e+"
\n"},s.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
":"
"},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,n){if(this.options.sanitize){try{var i=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return n}this.options.baseUrl&&!g.test(e)&&(e=h(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return n}var o='"+n+""},s.prototype.image=function(e,t,n){this.options.baseUrl&&!g.test(e)&&(e=h(this.options.baseUrl,e));var i='
":">"},s.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,n){return""+n},a.prototype.br=function(){return""},u.parse=function(e,t){return new u(t).parse(e)},u.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},u.prototype.next=function(){return this.token=this.tokens.pop()},u.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},u.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},u.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,o="",r="";for(n="",e=0;e=0&&"\\"===n[o];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:
"+l(e.message+"",!0)+"
";throw e}}f.exec=f,b.options=b.setOptions=function(e){return m(b.defaults,e),b},b.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},b.defaults=b.getDefaults(),b.Parser=u,b.parser=u.parse,b.Renderer=s,b.TextRenderer=a,b.Lexer=n,b.lexer=n.lex,b.InlineLexer=r,b.inlineLexer=r.output,b.parse=b,i=b}).call(void 0);i.Parser,i.parser;var u=i.Renderer,l=(i.TextRenderer,i.Lexer,i.lexer,i.InlineLexer,i.inlineLexer,i.parse),c=n(13),d=n(30),h=n(164),p=n(28);function g(e){var t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}function f(e,t){void 0===t&&(t={});var n=g(t);return n.textContent=e,n}function m(e,t){void 0===t&&(t={});var n=g(t);return function e(t,n,i){var r;if(2===n.type)r=document.createTextNode(n.content||"");else if(3===n.type)r=document.createElement("b");else if(4===n.type)r=document.createElement("i");else if(5===n.type&&i){var s=document.createElement("a");s.href="#",i.disposeables.push(o.k(s,"click",function(e){i.callback(String(n.index),e)})),r=s}else 7===n.type?r=document.createElement("br"):1===n.type&&(r=t);r&&t!==r&&t.appendChild(r);r&&Array.isArray(n.children)&&n.children.forEach(function(t){e(r,t,i)})}(n,function(e){var t={type:1,children:[]},n=0,i=t,o=[],r=new y(e);for(;!r.eos();){var s=r.next(),a="\\"===s&&0!==b(r.peek());if(a&&(s=r.next()),a||0===b(s)||s!==r.peek())if("\n"===s)2===i.type&&(i=o.pop()),i.children.push({type:7});else if(2!==i.type){var u={type:2,content:s};i.children.push(u),o.push(i),i=u}else i.content+=s;else{r.advance(),2===i.type&&(i=o.pop());var l=b(s);if(i.type===l||5===i.type&&6===l)i=o.pop();else{var c={type:l,children:[]};5===l&&(c.index=n,n++),i.children.push(c),o.push(i),i=c}}}2===i.type&&(i=o.pop());o.length;return t}(e),t.actionHandler),n}function v(e,t){void 0===t&&(t={});var n,i=g(t),f=function(t){var n;try{n=Object(h.a)(decodeURIComponent(t))}catch(e){}return n?(n=Object(p.b)(n,function(t){return e.uris&&e.uris[t]?d.a.revive(e.uris[t]):void 0}),encodeURIComponent(JSON.stringify(n))):t},m=function(t){var n=e.uris&&e.uris[t];if(!n)return t;var i=d.a.revive(n);return i.query&&(i=i.with({query:f(i.query)})),n&&(t=i.toString(!0)),t},v=new Promise(function(e){return n=e}),y=new u;y.image=function(e,t,n){var i=[];if(e=m(e)){var o=e.split("|").map(function(e){return e.trim()});e=o[0];var r=o[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),u=s?s[1]:"",l=a?a[1]:"",c=isFinite(parseInt(l)),d=isFinite(parseInt(u));c&&i.push('width="'+l+'"'),d&&i.push('height="'+u+'"')}}var h=[];return e&&h.push('src="'+e+'"'),n&&h.push('alt="'+n+'"'),t&&h.push('title="'+t+'"'),i.length&&(h=h.concat(i)),"
"},y.link=function(t,n,i){return t===i&&(i=Object(a.d)(i)),t=m(t),n=Object(a.d)(n),!(t=Object(a.d)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted||t.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?i:'/g,">").replace(/"/g,""").replace(/'/g,"'"))+'" title="'+(n||t)+'">'+i+""},y.paragraph=function(e){return""+e+"
"},t.codeBlockRenderer&&(y.code=function(e,n){var o=t.codeBlockRenderer(n,e),a=r.b.nextId(),u=Promise.all([o,v]).then(function(e){var t=e[0],n=i.querySelector('div[data-code="'+a+'"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&u.then(t.codeBlockRenderCallback),''+Object(s.m)(e)+"
"}),t.actionHandler&&t.actionHandler.disposeables.push(o.k(i,"click",function(e){var n=e.target;if("A"===n.tagName||(n=n.parentElement)&&"A"===n.tagName)try{var i=n.dataset.href;i&&t.actionHandler.callback(i,e)}catch(e){Object(c.e)(e)}finally{e.preventDefault()}}));var b={sanitize:!0,renderer:y};return i.innerHTML=l(e.value,b),n(),i}n.d(t,"c",function(){return f}),n.d(t,"a",function(){return m}),n.d(t,"b",function(){return v});var y=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function b(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=function(){function e(e,t,n){this.from=0|e,this.to=0|t,this.colorId=0|n}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),o=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.color=n,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.colorn&&(p=n-g);var f=l.color,m=this._color2Id[f];m||(m=++this._lastAssignedId,this._color2Id[f]=m,this._id2Color[m]=f);var v=new i(p-g,p+g,m);l.setColorZone(v),s.push(v)}return this._colorZonesInvalid=!1,s.sort(i.compare),s},e}()},function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return c}),n.d(t,"c",function(){return d}),n.d(t,"d",function(){return h});var i=n(21),o=n(29),r=n(13),s=n(3),a=n(10);function u(e,t,n,o){var s=n.ordered(e).map(function(n){return Promise.resolve(o(n,e,t)).then(void 0,function(e){return Object(r.f)(e),null})});return Promise.all(s).then(i.i).then(i.c)}function l(e,t,n){return u(e,t,a.f,function(e,t,i){return e.provideDefinition(t,i,n)})}function c(e,t,n){return u(e,t,a.e,function(e,t,i){return e.provideDeclaration(t,i,n)})}function d(e,t,n){return u(e,t,a.o,function(e,t,i){return e.provideImplementation(t,i,n)})}function h(e,t,n){return u(e,t,a.z,function(e,t,i){return e.provideTypeDefinition(t,i,n)})}Object(s.e)("_executeDefinitionProvider",function(e,t){return l(e,t,o.a.None)}),Object(s.e)("_executeDeclarationProvider",function(e,t){return c(e,t,o.a.None)}),Object(s.e)("_executeImplementationProvider",function(e,t){return d(e,t,o.a.None)}),Object(s.e)("_executeTypeDefinitionProvider",function(e,t){return h(e,t,o.a.None)})},function(e,t,n){"use strict";var i=n(0),o=n(28),r=n(8);function s(e){return Object(r.m)(e)}n.d(t,"a",function(){return a});var a=function(){function e(e,t){this.supportOcticons=t,this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(t,n,i,r){void 0===n&&(n=[]),void 0===i&&(i=""),t||(t=""),r&&(t=e.escapeNewLines(t,n)),this.didEverRender&&this.text===t&&this.title===i&&o.f(this.highlights,n)||(Array.isArray(n)||(n=[]),this.text=t,this.title=i,this.highlights=n,this.render())},e.prototype.render=function(){i.n(this.domNode);for(var e=[],t=0,n=0,o=this.highlights;n");var u=this.text.substring(t,a.start);e.push(this.supportOcticons?s(u):Object(r.m)(u)),e.push(""),t=a.end}e.push('');var l=this.text.substring(a.start,a.end);e.push(this.supportOcticons?s(l):Object(r.m)(l)),e.push(""),t=a.end}}if(t");l=this.text.substring(t);e.push(this.supportOcticons?s(l):Object(r.m)(l)),e.push("")}this.domNode.innerHTML=e.join(""),this.domNode.title=this.title,this.didEverRender=!0},e.escapeNewLines=function(e,t){var n=0,i=0;return e.replace(/\r\n|\r|\n/,function(e,o){i="\r\n"===e?-1:0,o+=n;for(var r=0,s=t;r=o&&(a.start+=i),a.end>=o&&(a.end+=i))}return n+=i,"⏎"})},e}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ToggleTabFocusModeAction",function(){return l});var i,o=n(1),r=n(52),s=n(3),a=n(123),u=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=function(e){function t(){return e.call(this,{id:t.ID,label:o.a({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})||this}return u(t,e),t.prototype.run=function(e,t){var n=!a.b.getTabFocusMode();a.b.setTabFocusMode(n),n?Object(r.a)(o.a("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Object(r.a)(o.a("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))},t.ID="editor.action.toggleTabFocusMode",t}(s.b);Object(s.f)(l)},function(e,t,n){"use strict";n.r(t),n.d(t,"DefinitionActionConfig",function(){return x}),n.d(t,"DefinitionAction",function(){return D}),n.d(t,"GoToDefinitionAction",function(){return T}),n.d(t,"OpenDefinitionToSideAction",function(){return k}),n.d(t,"PeekDefinitionAction",function(){return O}),n.d(t,"DeclarationAction",function(){return A}),n.d(t,"GoToDeclarationAction",function(){return E}),n.d(t,"PeekDeclarationAction",function(){return P}),n.d(t,"ImplementationAction",function(){return z}),n.d(t,"GoToImplementationAction",function(){return R}),n.d(t,"PeekImplementationAction",function(){return W}),n.d(t,"TypeDefinitionAction",function(){return F}),n.d(t,"GoToTypeDefinitionAction",function(){return H}),n.d(t,"PeekTypeDefinitionAction",function(){return B});var i,o=n(52),r=n(15),s=n(29),a=n(38),u=n(14),l=n(3),c=n(35),d=n(2),h=n(6),p=n(10),g=n(125),f=n(93),m=n(98),v=n(77),y=n(1),b=n(58),_=n(11),w=n(48),M=n(119),C=n(137),L=n(33),I=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},S=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1?y.a("meta.title"," – {0} definitions",e.references.length):""},t.prototype._onResult=function(e,t,n){return N(this,void 0,void 0,function(){var i,r;return S(this,function(s){switch(s.label){case 0:return i=n.getAriaMessage(),Object(o.a)(i),this._configuration.openInPeek||n.references.length>1?(this._openInPeek(e,t,n),[3,3]):[3,1];case 1:return t.hasModel()&&(r=n.nearestReference(t.getModel().uri,t.getPosition()))?[4,this._openReference(t,e,r,this._configuration.openToSide)]:[3,3];case 2:s.sent(),n.dispose(),s.label=3;case 3:return[2]}})})},t.prototype._openReference=function(e,t,n,i){var o=void 0;return Object(p.C)(n)&&(o=n.targetSelectionRange),o||(o=n.range),t.openCodeEditor({resource:n.uri,options:{selection:d.a.collapseToStart(o),revealIfOpened:!0,revealInCenterIfOutsideViewport:!0}},e,i)},t.prototype._openInPeek=function(e,t,n){var i=this,o=m.a.get(t);o&&t.hasModel()?o.toggleWidget(t.getSelection(),Object(r.f)(function(e){return Promise.resolve(n)}),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(n){return o.closeWidget(),i._openReference(t,e,n,!1)}}):n.dispose()},t}(l.b),j=u.f?2118:70,T=function(e){function t(){var n=e.call(this,new x,{id:t.id,label:y.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:_.d.and(h.a.hasDefinitionProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:j,weight:100},menuOpts:{group:"navigation",order:1.1}})||this;return L.a.registerCommandAlias("editor.action.goToDeclaration",t.id),n}return I(t,e),t.id="editor.action.revealDefinition",t}(D),k=function(e){function t(){var n=e.call(this,new x(!0),{id:t.id,label:y.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:_.d.and(h.a.hasDefinitionProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:Object(a.a)(2089,j),weight:100}})||this;return L.a.registerCommandAlias("editor.action.openDeclarationToTheSide",t.id),n}return I(t,e),t.id="editor.action.revealDefinitionAside",t}(D),O=function(e){function t(){var n=e.call(this,new x(void 0,!0,!1),{id:t.id,label:y.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:_.d.and(h.a.hasDefinitionProvider,f.a.notInPeekEditor,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this;return L.a.registerCommandAlias("editor.action.previewDeclaration",t.id),n}return I(t,e),t.id="editor.action.peekDefinition",t}(D),A=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.a)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?y.a("decl.noResultWord","No declaration found for '{0}'",e.word):y.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?y.a("decl.meta.title"," – {0} declarations",e.references.length):""},t}(D),E=function(e){function t(){return e.call(this,new x,{id:t.id,label:y.a("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:_.d.and(h.a.hasDeclarationProvider,h.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.3}})||this}return I(t,e),t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?y.a("decl.noResultWord","No declaration found for '{0}'",e.word):y.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?y.a("decl.meta.title"," – {0} declarations",e.references.length):""},t.id="editor.action.revealDeclaration",t}(A),P=function(e){function t(){return e.call(this,new x(void 0,!0,!1),{id:"editor.action.peekDeclaration",label:y.a("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:_.d.and(h.a.hasDeclarationProvider,f.a.notInPeekEditor,h.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.31}})||this}return I(t,e),t}(A),z=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.c)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?y.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?y.a("meta.implementations.title"," – {0} implementations",e.references.length):""},t}(D),R=function(e){function t(){return e.call(this,new x,{id:t.ID,label:y.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:_.d.and(h.a.hasImplementationProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:2118,weight:100}})||this}return I(t,e),t.ID="editor.action.goToImplementation",t}(z),W=function(e){function t(){return e.call(this,new x(!1,!0,!1),{id:t.ID,label:y.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:_.d.and(h.a.hasImplementationProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:3142,weight:100}})||this}return I(t,e),t.ID="editor.action.peekImplementation",t}(z),F=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.d)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?y.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?y.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length):""},t}(D),H=function(e){function t(){return e.call(this,new x,{id:t.ID,label:y.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:_.d.and(h.a.hasTypeDefinitionProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return I(t,e),t.ID="editor.action.goToTypeDefinition",t}(F),B=function(e){function t(){return e.call(this,new x(!1,!0,!1),{id:t.ID,label:y.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:_.d.and(h.a.hasTypeDefinitionProvider,h.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:h.a.editorTextFocus,primary:0,weight:100}})||this}return I(t,e),t.ID="editor.action.peekTypeDefinition",t}(F);Object(l.f)(T),Object(l.f)(k),Object(l.f)(O),Object(l.f)(E),Object(l.f)(P),Object(l.f)(R),Object(l.f)(W),Object(l.f)(H),Object(l.f)(B),b.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToDeclaration",title:y.a({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},order:2}),b.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToTypeDefinition",title:y.a({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},order:3}),b.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToImplementation",title:y.a({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementation")},order:4})},function(e,t,n){"use strict";n.r(t);var i,o=n(1),r=n(5),s=n(4),a=n(11),u=n(43),l=n(2),c=n(3),d=n(17),h=n(6),p=(n(360),n(0)),g=n(7),f=n(12),m=n(31),v=n(79),y=n(160),b=n(21),_=n(93),w=n(57),M=n(134),C=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),L=function(){function e(e,t,n){var i=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var o=document.createElement("div");o.className="descriptioncontainer",o.setAttribute("aria-live","assertive"),o.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),p.f(this._messageBlock,"message"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.push(p.k(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new v.b(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),p.f(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){o.style.left="-"+e.scrollLeft+"px",o.style.top="-"+e.scrollTop+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.d)(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation,o=e.code,r=n.split(/\r\n|\r|\n/g);this._lines=r.length,this._longestLineLength=0;for(var s=0,a=r;s1?o.a("problems","{0} of {1} problems",n,i):o.a("change","{0} of {1} problem",n,i);this.setTitle(Object(w.b)(c.uri),d)}var h="error";this._severity===u.c.Warning?h="warning":this._severity===u.c.Info&&(h="info"),this.setTitleIcon(h),this.editor.revealPositionInCenter(a,0),1!==this.editor.getConfiguration().accessibilitySupport&&this.focus()},t.prototype.updateMarker=function(e){this._container.classList.remove("stale"),this._message.update(e)},t.prototype.showStale=function(){this._container.classList.add("stale"),this._relayout()},t.prototype._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._message.layout(t,n),this._container.style.height=t+"px"},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},t}(_.b),N=Object(g.tb)(m.i,m.h),S=Object(g.tb)(m.w,m.v),x=Object(g.tb)(m.n,m.m),D=Object(g.zb)("editorMarkerNavigationError.background",{dark:N,light:N,hc:N},o.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),j=Object(g.zb)("editorMarkerNavigationWarning.background",{dark:S,light:S,hc:S},o.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),T=Object(g.zb)("editorMarkerNavigationInfo.background",{dark:x,light:x,hc:x},o.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),k=Object(g.zb)("editorMarkerNavigation.background",{dark:"#2D2D30",light:f.a.white,hc:"#0C141F"},o.a("editorMarkerNavigationBackground","Editor marker navigation widget background."));Object(d.e)(function(e,t){var n=e.getColor(g.Jb);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")});var O=n(8),A=n(35),E=n(13),P=n(58),z=n(65),R=n(51);n.d(t,"MarkerController",function(){return Z}),n.d(t,"NextMarkerAction",function(){return G});var W=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),F=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},H=function(e,t){return function(n,i){t(n,i,e)}},B=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},Y=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(U.compareMarker),this._nextIdx=t?Math.max(-1,Object(b.b)(this._markers,t,U.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var o=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(o)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},f=function(e,t){return function(n,i){t(n,i,e)}},m=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=e.call(this,t,i.getRawConfiguration(),{},o,r,s,a,u,l,c)||this;return d._parentEditor=i,d._overwriteOptions=n,e.prototype.updateOptions.call(d,d._overwriteOptions),d._register(i.onDidChangeConfiguration(function(e){return d._onParentConfigurationChanged(e)})),d}return p(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){o.h(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=g([f(3,l.a),f(4,r.a),f(5,a.b),f(6,u.e),f(7,d.c),f(8,c.a),f(9,h.a)],t)}(s.a)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,o=n(8);i="undefined"!=typeof TextDecoder?function(e){return new r(e)}:function(e){return new s};var r=function(){function e(e){this._decoder=new TextDecoder("UTF-16LE"),this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}return e.prototype.reset=function(){this._completedStrings=null,this._bufferLength=0},e.prototype.build=function(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()},e.prototype._buildBuffer=function(){if(0===this._bufferLength)return"";var e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return this._decoder.decode(e)},e.prototype._flushBuffer=function(){var e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e},e.prototype.write1=function(e){var t=this._capacity-this._bufferLength;t<=1&&(0===t||o.u(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCII=function(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCIIString=function(e){var t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var n=0;n=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(i.b)(e),t=Object(i.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var r=n.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Object(i.b)(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t=0,n=this.values.length-1,i=0,r=0,s=0;t<=n;)if(i=t+(n-t)/2|0,e<(s=(r=this.prefixSum[i])-this.values[i]))n=i-1;else{if(!(e>=r))break;t=i+1}return new o(i,e-s)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new r(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t0)},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Promise.resolve(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Promise.resolve(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider?n.accessibilityProvider.getAriaLabel(t):null},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel(),i=0;if(n.filter)for(var o=0,r=n.entries;o=0;t--){var n=this._arr[t];if(e.toChord().equals(n.keybinding))return n.callback}return null},e}(),y=function(){function e(e){void 0===e&&(e={clickBehavior:0,keyboardSupport:!0,openMode:0});var t=this;this.options=e,this.downKeyBindingDispatcher=new v,this.upKeyBindingDispatcher=new v,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),u.d&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),0===this.options.clickBehavior&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(s.r(n.target,"scrollbar","monaco-tree"))return!1;if(s.r(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,n){return u.d&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&((0!==this.options.clickBehavior||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var o=n,r={origin:i,originalEvent:n,didClickOnTwistie:this.isClickOnTwistie(o)};e.getInput()===t?(e.clearFocus(r),e.clearSelection(r)):(n&&o.browserEvent&&"mousedown"===o.browserEvent.type&&1===o.browserEvent.detail||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],r),e.setFocus(t,r),this.shouldToggleExpansion(t,o,i)&&(e.isExpanded(t)?e.collapse(t).then(void 0,f.e):e.expand(t).then(void 0,f.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,n){var i="mouse"===n&&2===t.detail;return this.openOnSingleClick||i||this.isClickOnTwistie(t)},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return 0===this.options.openMode},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!s.A(t,"content"))return!1;var n=window.getComputedStyle(t,":before");if("none"===n.backgroundImage||"none"===n.display)return!1;var i=parseInt(n.width)+parseInt(n.paddingRight);return e.browserEvent.offsetX<=i},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"touch")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).then(void 0,f.e)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.collapse(i).then(function(t){if(i&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).then(void 0,f.e)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.expand(i).then(function(t){if(i&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).then(void 0,f.e)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}(),b=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}(),_=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),w=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),M=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",n=[];e.listFocusBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&n.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: "+e.listFocusAndSelectionBackground+"; }\n\t\t\t"),e.listFocusAndSelectionForeground&&n.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: "+e.listFocusAndSelectionForeground+"; }\n\t\t\t"),e.listInactiveSelectionBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&n.push("\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: "+e.listDropBackground+" !important; color: inherit !important; }\n\t\t\t"),e.listFocusOutline&&n.push("\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; background: #000; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) \t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t");var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i)},e}(),C=n(114),L=n(4),I=n(5),N=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),S=function(){function e(e){this._onDispose=new I.a,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=void 0)},e}(),x=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var n=this,i=this.getLock(e);return i?new Promise(function(o,r){I.b.once(i.onDispose)(function(){return n.run(e,t).then(o,r)})}):new Promise(function(i,o){if(e.isDisposed())return o(new Error("Item is disposed."));var r=n.locks[e.id]=new S(e);return t().then(function(t){return delete n.locks[e.id],r.dispose(),t}).then(i,o)})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}(),D=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new I.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new I.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new I.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new I.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new I.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new I.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new I.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new I.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new I.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new I.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new I.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){C.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(L.c)([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){C.a(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),j=function(){function e(e,t,n,i,o){this._onDidCreate=new I.a,this._onDidReveal=new I.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new I.a,this.onExpand=this._onExpand.event,this._onDidExpand=new I.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new I.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new I.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new I.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new I.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new I.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new I.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new I.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new I.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=i,this.element=o,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=!(!this.context.dataSource.shouldAutoexpand||!this.context.dataSource.shouldAutoexpand(this.context.tree,o)),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,function(){if(e.isExpanded()||!e.doesHaveChildren)return Promise.resolve(!1);var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):Promise.resolve(null)).then(function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0})}).then(function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then(function(){return!0}):t)})},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var n=Promise.resolve(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),Promise.resolve(!0)})},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,n,i){var o=this;if(void 0===n&&(n=!1),void 0===i&&(i=!1),!i&&!this.isExpanded()){var r=function(e){e.needsChildrenRefresh=!0,e.forEachChild(r)};return r(this),Promise.resolve(this)}this.needsChildrenRefresh=!1;var s=function(){var i={item:o,isNested:n};return o._onRefreshChildren.fire(i),(o.doesHaveChildren?o.context.dataSource.getChildren(o.context.tree,o.element):Promise.resolve([])).then(function(n){if(o.isDisposed()||o.registry.isDisposed())return Promise.resolve(null);if(!Array.isArray(n))return Promise.reject(new Error("Please return an array of children."));n=n?n.slice(0):[],n=o.sort(n);for(var i={};null!==o.firstChild;)i[o.firstChild.id]=o.firstChild,o.removeChild(o.firstChild);for(var r=0,s=n.length;r=0;o--)this.onInsertItem(l[o]);for(o=this.heightMap.length-1;o>=i;o--)this.onRefreshItem(this.heightMap[o]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,n=null,i=null,o=0,r=0;n=e.next();){if(o=this.indexes[n],!(t=this.heightMap[o]))return void console.error("view item doesnt exist");r-=t.height,delete this.indexes[n],this.onRemoveItem(t),null===i&&(i=o)}if(0!==r&&null!==i)for(this.heightMap.splice(i,o-i+1),o=i;o=n.top+n.height))return t;if(i===t)break;i=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=[],this.indexes={}},e}(),U=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),Q=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return U(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),J=function(e){function t(t,n,i){var o=e.call(this,t,n,i.target)||this;return o.originalEvent=i,o}return U(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),X=n(78),q=n(15),K=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var $=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var i=document.createElement("div");i.appendChild(n);var o=null;try{o=this.context.renderer.renderTemplate(this.context.tree,e,n)}catch(e){console.error("Tree usage error: exception while rendering template"),console.error(e)}t={element:i,templateId:e,templateData:o}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach(function(t){e._cache[t].forEach(function(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null},e}(),ee=function(){function e(e,t){var n=this;this.width=0,this.unbindDragStart=L.a.None,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach(function(e){return n._styles[e]=!0}),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var n=["monaco-tree-row"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push("has-children"),this.element.className=n.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var i=this.context.accessibilityProvider,o=i.getAriaLabel(this.context.tree,this.model.getElement());if(o&&this.element.setAttribute("aria-label",o),i.getPosInSet&&i.getSetSize&&(this.element.setAttribute("aria-setsize",i.getSetSize()),this.element.setAttribute("aria-posinset",i.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=z.F(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this._styles.expanded)):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var a=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(a!==this.uri&&(this.unbindDragStart&&this.unbindDragStart.dispose(),a?(this.uri=a,this.draggable=!0,this.unbindDragStart=s.h(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),!e&&this.element){var u=0;if(this.context.horizontalScrolling){var l=window.getComputedStyle(this.element);u=parseFloat(l.paddingLeft)}this.context.horizontalScrolling&&(this.element.style.width="fit-content");try{this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}catch(e){console.error("Tree usage error: exception while rendering element"),console.error(e)}this.context.horizontalScrolling&&(this.width=s.u(this.element)+u,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[ne.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart.dispose(),this.uri=null,this.element[ne.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null},e}(),te=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o.row={element:i,templateData:null,templateId:null},o}return K(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(ee);var ne=function(e){function t(n,i){var o=e.call(this)||this;o.model=null,o.lastClickTimeStamp=0,o.contentWidthUpdateDelayer=new q.a(50),o.isRefreshing=!1,o.refreshingPreviousChildrenIds={},o.currentDragAndDropData=null,o.currentDropTarget=null,o.currentDropTargets=null,o.currentDropDisposable=L.a.None,o.dragAndDropScrollInterval=null,o.dragAndDropScrollTimeout=null,o.dragAndDropMouseY=null,o.onHiddenScrollTop=null,o._onDOMFocus=new I.a,o._onDOMBlur=new I.a,o._onDidScroll=new I.a,t.counter++,o.instance=t.counter;var r=void 0===n.options.horizontalScrollMode?2:n.options.horizontalScrollMode;o.horizontalScrolling=2!==r,o.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new $(n),horizontalScrolling:o.horizontalScrolling},o.modelListeners=[],o.viewListeners=[],o.items={},o.domNode=document.createElement("div"),o.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+o.instance,o.domNode.tabIndex=n.options.preventRootFocus?-1:0,o.styleElement=s.q(o.domNode),o.treeStyler=n.styler||new M(o.styleElement,"monaco-tree-instance-"+o.instance),o.domNode.setAttribute("role","tree"),o.context.options.ariaLabel&&o.domNode.setAttribute("aria-label",o.context.options.ariaLabel),o.context.options.alwaysFocused&&s.f(o.domNode,"focused"),o.context.options.paddingOnRow||s.f(o.domNode,"no-row-padding"),o.wrapper=document.createElement("div"),o.wrapper.className="monaco-tree-wrapper",o.scrollableElement=new V.b(o.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:1,useShadows:n.options.useShadows}),o.scrollableElement.onScroll(function(e){o.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),o._onDidScroll.fire()}),A.j?(o.wrapper.style.msTouchAction="none",o.wrapper.style.msContentZooming="none"):P.b.addTarget(o.wrapper),o.rowsContainer=document.createElement("div"),o.rowsContainer.className="monaco-tree-rows",n.options.showTwistie&&(o.rowsContainer.className+=" show-twisties");var a=s.Q(o.domNode);return o.viewListeners.push(a.onDidFocus(function(){return o.onFocus()})),o.viewListeners.push(a.onDidBlur(function(){return o.onBlur()})),o.viewListeners.push(a),o.viewListeners.push(s.h(o.domNode,"keydown",function(e){return o.onKeyDown(e)})),o.viewListeners.push(s.h(o.domNode,"keyup",function(e){return o.onKeyUp(e)})),o.viewListeners.push(s.h(o.domNode,"mousedown",function(e){return o.onMouseDown(e)})),o.viewListeners.push(s.h(o.domNode,"mouseup",function(e){return o.onMouseUp(e)})),o.viewListeners.push(s.h(o.wrapper,"auxclick",function(e){e&&1===e.button&&o.onMouseMiddleClick(e)})),o.viewListeners.push(s.h(o.wrapper,"click",function(e){return o.onClick(e)})),o.viewListeners.push(s.h(o.domNode,"contextmenu",function(e){return o.onContextMenu(e)})),o.viewListeners.push(s.h(o.wrapper,P.a.Tap,function(e){return o.onTap(e)})),o.viewListeners.push(s.h(o.wrapper,P.a.Change,function(e){return o.onTouchChange(e)})),A.j&&(o.viewListeners.push(s.h(o.wrapper,"MSPointerDown",function(e){return o.onMsPointerDown(e)})),o.viewListeners.push(s.h(o.wrapper,"MSGestureTap",function(e){return o.onMsGestureTap(e)})),o.viewListeners.push(s.j(o.wrapper,"MSGestureChange",function(e){return o.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),o.viewListeners.push(s.h(window,"dragover",function(e){return o.onDragOver(e)})),o.viewListeners.push(s.h(o.wrapper,"drop",function(e){return o.onDrop(e)})),o.viewListeners.push(s.h(window,"dragend",function(e){return o.onDragEnd(e)})),o.viewListeners.push(s.h(window,"dragleave",function(e){return o.onDragOver(e)})),o.wrapper.appendChild(o.rowsContainer),o.domNode.appendChild(o.scrollableElement.getDomNode()),i.appendChild(o.domNode),o.lastRenderTop=0,o.lastRenderHeight=0,o.didJustPressContextMenuKey=!1,o.currentDropTarget=null,o.currentDropTargets=[],o.shouldInvalidateDropReaction=!1,o.dragAndDropScrollInterval=null,o.dragAndDropScrollTimeout=null,o.onRowsChanged(),o.layout(),o.setupMSGesture(),o.applyStyles(n.options),o}return K(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new ee(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout(function(){return e.msGesture.target=e.wrapper},100))},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||s.t(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||s.u(this.wrapper)))},t.prototype.render=function(e,t,n,i,o){var r,s,a=e,u=e+t,l=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(u)-1,s=this.indexAt(Math.max(l,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(u))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(l));r1e3,l=[],c=!1;if(!u)c=(l=new E.a({getLength:function(){return o.length},getElementAtIndex:function(e){return o[e]}},{getLength:function(){return r.length},getElementAtIndex:function(e){return r[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new Y.a(o,p.originalStart,p.originalStart+p.originalLength)),p.modifiedLength>0){var g=r[p.modifiedStart-1]||n;g=g.getDepth()>0?g:null,this.onInsertItems(new Y.a(r,p.modifiedStart,p.modifiedStart+p.modifiedLength),g?g.id:null)}}else(u||l.length)&&(this.onRemoveItems(new Y.a(o)),this.onInsertItems(new Y.a(r),n.getDepth()>0?n.id:null));(u||l.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter(function(e){return t.items.hasOwnProperty(e.id)})),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id)||0,o=this.scrollTop;n.top+n.height<=this.scrollTop&&(o+=i),this.onRowsChanged(o)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new Y.e(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var o=i.height-this.viewHeight;this.scrollTop=o*n+i.top}else{var r=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.f(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.G(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.P(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",z.F(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new R.b(e),n=this.getItemAround(t.target);n&&(A.j&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseMiddleClick=function(e){if(this.context.controller.onMouseMiddleClick){var t=new R.b(e),n=this.getItemAround(t.target);n&&this.context.controller.onMouseMiddleClick(this.context.tree,n.model.getElement(),t)}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new R.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseDown(this.context.tree,n.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new R.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseUp(this.context.tree,n.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new W.a(e),o=void 0;if(n=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,n),a=this.items[r];o=s.v(a.element)}else n=this.model.getInput(),o=s.v(this.inputItem.element);t=new J(o.left+o.width,o.top,i)}else{var u=new R.b(e),l=this.getItemAround(u.target);if(!l)return;n=l.model.getElement(),t=new Q(u)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new W.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||(this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),this.context.controller.onKeyDown(this.context.tree,t))},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new W.a(e))},t.prototype.onDragStart=function(e,t){if(!this.model.getHighlight()){var n,i=e.model.getElement(),o=this.model.getSelection();if(n=o.indexOf(i)>-1?o:[i],t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setData(X.a.RESOURCES,JSON.stringify([e.uri])),t.dataTransfer.setDragImage){var r=void 0;r=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=r,document.body.appendChild(s),t.dataTransfer.setDragImage(s,-10,-10),setTimeout(function(){return document.body.removeChild(s)},0)}this.currentDragAndDropData=new F(n),X.c.CurrentDragAndDropData=new H(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new R.a(t))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.x(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(null!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,o=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>o&&(i=Math.min(14,.2*(n-o))),e.scrollTop+=i}},10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout(function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null},1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var t,n=this,i=new R.a(e),o=this.getItemAround(i.target);if(!o||0===i.posx&&0===i.posy&&i.browserEvent.type===s.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(X.c.CurrentDragAndDropData)this.currentDragAndDropData=X.c.CurrentDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new B}this.currentDragAndDropData.update(i.browserEvent.dataTransfer);var r,a=o.model;do{if(t=a?a.getElement():this.model.getInput(),!(r=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,t,i))||1!==r.bubble)break;a=a&&a.parent}while(a);if(!a)return this.currentDropElement=null,!1;var u=r&&r.accept;u?(this.currentDropElement=a.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=0===r.effect?"copy":"move"):this.currentDropElement=null;var l,c,d=a.id===this.inputItem.id?this.inputItem:this.items[a.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==d||(l=this.currentDropElementReaction,c=r,!(!l&&!c||l&&c&&l.accept===c.accept&&l.bubble===c.bubble&&l.effect===c.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.currentDropTarget=d,this.currentDropElementReaction=r,u)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),0===r.bubble)for(var h=a.getNavigator(),p=void 0;p=h.next();)(o=this.items[p.id])&&(o.dropTarget=!0,this.currentDropTargets.push(o));if(r.autoExpand){var g=Object(q.j)(500);this.currentDropDisposable=L.f(function(){return g.cancel()}),g.then(function(){return n.context.tree.expand(n.currentDropElement)}).then(function(){return n.shouldInvalidateDropReaction=!0})}}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new R.a(e);t.preventDefault(),this.currentDragAndDropData.update(t.browserEvent.dataTransfer),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[]),this.currentDropDisposable.dispose(),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,X.c.CurrentDragAndDropData=void 0,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.G(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem,i=e;do{if(i[t.BINDING]&&(n=i[t.BINDING]),i===this.wrapper||i===this.domNode)return n;if(i===this.scrollableElement.getDomNode()||i===document.body)return}while(i=i.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=L.d(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.viewListeners=L.d(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.items&&Object.keys(this.items).forEach(function(e){return t.items[e].removeFromDOM()}),this.context.cache&&this.context.cache.dispose(),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t}(Z),ie=n(12),oe=n(28),re=function(){return function(e,t,n){if(void 0===n&&(n={}),this.tree=e,this.configuration=t,this.options=n,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new y({clickBehavior:1,keyboardSupport:"boolean"!=typeof n.keyboardSupport||n.keyboardSupport}),this.dnd=t.dnd||new b,this.filter=t.filter||new _,this.sorter=t.sorter,this.accessibilityProvider=t.accessibilityProvider||new w,this.styler=t.styler}}(),se={listFocusBackground:ie.a.fromHex("#073655"),listActiveSelectionBackground:ie.a.fromHex("#0E639C"),listActiveSelectionForeground:ie.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ie.a.fromHex("#094771"),listFocusAndSelectionForeground:ie.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ie.a.fromHex("#3F3F46"),listHoverBackground:ie.a.fromHex("#2A2D2E"),listDropBackground:ie.a.fromHex("#383B3D")},ae=function(){function e(e,t,n){void 0===n&&(n={}),this._onDidChangeFocus=new I.e,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new I.e,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new I.e,this._onDidExpandItem=new I.e,this._onDidCollapseItem=new I.e,this._onDispose=new I.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(oe.h)(n,se,!1),n.twistiePixels="number"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels="number"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,n.showLoading=!1!==n.showLoading,this.context=new re(this,t,n),this.model=new O(this.context),this.view=new ne(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}(),ue=(n(372),function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),le={progressBarBackground:ie.a.fromHex("#0E70C0")},ce=function(e){function t(t,n){var i=e.call(this)||this;return i.options=n||Object.create(null),Object(oe.h)(i.options,le,!1),i.workedVal=0,i.progressBarBackground=i.options.progressBarBackground,i._register(i.showDelayedScheduler=new q.d(function(){return Object(s.O)(i.element)},0)),i.create(t),i}return ue(t,e),t.prototype.create=function(e){this.element=document.createElement("div"),Object(s.f)(this.element,"monaco-progress-container"),e.appendChild(this.element),this.bit=document.createElement("div"),Object(s.f)(this.bit,"progress-bit"),this.element.appendChild(this.bit),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",Object(s.H)(this.element,"active","infinite","discrete"),this.workedVal=0,this.totalWork=void 0},t.prototype.stop=function(){return this.doDone(!1)},t.prototype.doDone=function(e){var t=this;return Object(s.f)(this.element,"done"),Object(s.A)(this.element,"infinite")?(this.bit.style.opacity="0",e?setTimeout(function(){return t.off()},200):this.off()):(this.bit.style.width="inherit",e?setTimeout(function(){return t.off()},200):this.off()),this},t.prototype.hide=function(){Object(s.B)(this.element),this.showDelayedScheduler.cancel()},t.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},t.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},t}(L.a),de=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return de(t,e),t.prototype.onContextMenu=function(t,n,i){return u.d?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(y),pe={background:ie.a.fromHex("#1E1E1E"),foreground:ie.a.fromHex("#CCCCCC"),pickerGroupForeground:ie.a.fromHex("#0097FB"),pickerGroupBorder:ie.a.fromHex("#3F3F46"),widgetShadow:ie.a.fromHex("#000000"),progressBarBackground:ie.a.fromHex("#0E70C0")},ge=a.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),fe=function(e){function t(t,n,i){var o=e.call(this)||this;return o.isDisposed=!1,o.container=t,o.callbacks=n,o.options=i,o.styles=i||Object.create(null),Object(oe.h)(o.styles,pe,!1),o.model=null,o}return de(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;this.element=document.createElement("div"),s.f(this.element,"monaco-quick-open-widget"),this.container.appendChild(this.element),this._register(s.h(this.element,s.d.CONTEXT_MENU,function(e){return s.c.stop(e,!0)})),this._register(s.h(this.element,s.d.FOCUS,function(t){return e.gainingFocus()},!0)),this._register(s.h(this.element,s.d.BLUR,function(t){return e.loosingFocus(t)},!0)),this._register(s.h(this.element,s.d.KEY_DOWN,function(t){var n=new W.a(t);if(9===n.keyCode)s.c.stop(t,!0),e.hide(2);else if(2===n.keyCode&&!n.altKey&&!n.ctrlKey&&!n.metaKey){var i=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");n.shiftKey&&n.target===i[0]?(s.c.stop(t,!0),i[i.length-1].focus()):n.shiftKey||n.target!==i[i.length-1]||(s.c.stop(t,!0),i[0].focus())}})),this.progressBar=this._register(new ce(this.element,{progressBarBackground:this.styles.progressBarBackground})),this.progressBar.hide(),this.inputContainer=document.createElement("div"),s.f(this.inputContainer,"quick-open-input"),this.element.appendChild(this.inputContainer),this.inputBox=this._register(new g.b(this.inputContainer,void 0,{placeholder:this.options.inputPlaceHolder||"",ariaLabel:ge,inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder})),this.inputElement=this.inputBox.inputElement,this.inputElement.setAttribute("role","combobox"),this.inputElement.setAttribute("aria-haspopup","false"),this.inputElement.setAttribute("aria-autocomplete","list"),this._register(s.h(this.inputBox.inputElement,s.d.INPUT,function(t){return e.onType()})),this._register(s.h(this.inputBox.inputElement,s.d.KEY_DOWN,function(t){var n=new W.a(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){s.c.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t,i?2:1)}})),this.resultCount=document.createElement("div"),s.f(this.resultCount,"quick-open-result-count"),this.resultCount.setAttribute("aria-live","polite"),this.resultCount.setAttribute("aria-atomic","true"),this.element.appendChild(this.resultCount),this.treeContainer=document.createElement("div"),s.f(this.treeContainer,"quick-open-tree"),this.element.appendChild(this.treeContainer);var t=this.options.treeCreator||function(e,t,n){return new ae(e,t,n)};return this.tree=this._register(t(this.treeContainer,{dataSource:new c(this),controller:new he({clickBehavior:1,keyboardSupport:this.options.keyboardSupport}),renderer:this.renderer=new p(this,this.styles),filter:new h(this),accessibilityProvider:new d(this)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:3,horizontalScrollMode:2,ariaLabel:a.a("treeAriaLabel","Quick Picker"),keyboardSupport:this.options.keyboardSupport,preventRootFocus:!1})),this.treeElement=this.tree.getHTMLElement(),this._register(this.tree.onDidChangeFocus(function(t){e.elementFocused(t.focus,t)})),this._register(this.tree.onDidChangeSelection(function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof R.b?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?2:1)}})),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode)))})),this._register(s.h(this.treeContainer,s.d.KEY_UP,function(t){var n=new W.a(t),i=n.keyCode;if(e.quickNavigateConfiguration){var o=e.quickNavigateConfiguration.keybindings;if(3===i||o.some(function(e){var t=e.getParts(),o=t[0];return!t[1]&&(o.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!o.altKey||6!==i)||(!(!o.ctrlKey||5!==i)||!(!o.metaKey||57!==i)))})){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.treeElement.focus())})),this.element},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,n=this.styles.borderColor?this.styles.borderColor.toString():null,i=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.element.style.color=e,this.element.style.backgroundColor=t,this.element.style.borderColor=n,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.boxShadow=i?"0 5px 8px "+i:null}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof W.a){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?s.B(this.helpText):s.O(this.helpText)),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],o=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();i.length>1&&o===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n=this.treeElement.getAttribute("aria-activedescendant");n?this.inputElement.setAttribute("aria-activedescendant",n):this.inputElement.removeAttribute("aria-activedescendant");var i={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,0,i)}},t.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var o=n||1,r={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,o,r)}i&&this.hide(0)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(s.B(this.inputContainer),s.O(this.element),this.tree.domFocus()):(s.O(this.inputContainer),s.O(this.element),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.i(e)?s.B(this.helpText):s.O(this.helpText)),l.i(e)?this.doShowWithPrefix(e):(t&&t.value&&this.restoreLastInput(t.value),this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{})),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.restoreLastInput=function(e){this.inputBox.value=e,this.inputBox.select(),this.callbacks.onType(e)},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var n=this;this.treeContainer.style.height=this.getHeight(e)+"px",this.tree.setInput(null).then(function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e)}).then(function(){n.tree.layout();var i=e?e.entries.filter(function(t){return n.isElementVisible(e,t)}):[];n.updateResultCount(i.length),i.length&&n.autoFocus(e,i,t)})},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,n){if(void 0===n&&(n={}),n.autoFocusPrefixMatch){for(var i=void 0,o=void 0,r=n.autoFocusPrefixMatch,s=r.toLowerCase(),a=0,u=t;an.autoFocusIndex&&(this.tree.focusNth(n.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):n.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):n.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var n=this,i=e.renderer;if(!e){var o=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*o:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter(function(t){return n.isElementVisible(e,t)}),u=this.options.maxItemsToShow||a.length,l=0;l=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Me=function(e,t){return function(n,i){t(n,i,e)}},Ce=function(){function e(e,t){this.themeService=t,this.editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.destroy(),this.widget=null)},e.prototype.run=function(e){var t=this;this.widget&&(this.widget.destroy(),this.widget=null);var n=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,document.activeElement!==document.body&&e||t.editor.focus()};this.widget=new ye(this.editor,function(){return n(!1)},function(){return n(!0)},function(n){t.widget.setInput(e.getModel(n),e.getAutoFocus(n))},{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,n){var i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var o=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=n.deltaDecorations(i,o);this.rangeHighlightDecorationId=r[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=r.a.register({className:"rangeHighlight",isWholeLine:!0}),e=we([Me(1,be.c)],e)}(),Le=function(e){function t(t,n){var i=e.call(this,n)||this;return i._inputAriaLabel=t,i}return _e(t,e),t.prototype.getController=function(e){return Ce.get(e)},t.prototype._show=function(e,t){e.run({inputAriaLabel:this._inputAriaLabel,getModel:function(e){return t.getModel(e)},getAutoFocus:function(e){return t.getAutoFocus(e)}})},t}(o.b);Object(o.h)(Ce)},function(e,t,n){"use strict";n(301);var i=n(1),o=n(23),r=n(0),s=n(135),a=n(52),u=n(80),l=n(5),c=n(59),d=n(12),h=n(28),p=n(42),g=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.next=function(){return this._navigator.next()},e.prototype.previous=function(){return this._navigator.previous()},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.has=function(e){return this._history.has(e)},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new p.b(this._elements,0,this._elements.length,this._elements.length)},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,n=e;t0||this.m_modifiedCount>0)&&this.m_changes.push(new i(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),l=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,n,i,o){var r=this.ComputeDiffRecursive(e,t,n,i,[!1]);return o?this.PrettifyChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,n,o,r){for(r[0]=!1;e<=t&&n<=o&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&o>=n&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||n>o){var a=void 0;return n<=o?(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new i(e,0,n,o-n+1)]):e<=t?(s.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),a=[new i(e,t-e+1,n,0)]):(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],l=[0],c=this.ComputeRecursionPoint(e,t,n,o,u,l,r),d=u[0],h=l[0];if(null!==c)return c;if(!r[0]){var p=this.ComputeDiffRecursive(e,d,n,h,r),g=[];return g=r[0]?[new i(d+1,t-(d+1)+1,h+1,o-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,o,r),this.ConcatenateChanges(p,g)}return[new i(e,t-e+1,n,o-n+1)]},e.prototype.WALKTRACE=function(e,t,n,o,r,s,a,l,c,d,h,p,g,f,m,v,y,b){var _,w,M=null,C=new u,L=t,I=n,N=g[0]-v[0]-o,S=Number.MIN_VALUE,x=this.m_forwardHistory.length-1;do{(w=N+e)===L||w=0&&(e=(c=this.m_forwardHistory[x])[0],L=1,I=c.length-1)}while(--x>=-1);if(_=C.getReverseChanges(),b[0]){var D=g[0]+1,j=v[0]+1;if(null!==_&&_.length>0){var T=_[_.length-1];D=Math.max(D,T.getOriginalEnd()),j=Math.max(j,T.getModifiedEnd())}M=[new i(D,p-D+1,j,m-j+1)]}else{C=new u,L=s,I=a,N=g[0]-v[0]-l,S=Number.MAX_VALUE,x=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(w=N+r)===L||w=d[w+1]?(f=(h=d[w+1]-1)-N-l,h>S&&C.MarkNextChange(),S=h+1,C.AddOriginalElement(h+1,f+1),N=w+1-r):(f=(h=d[w-1])-N-l,h>S&&C.MarkNextChange(),S=h,C.AddModifiedElement(h+1,f+1),N=w-1-r),x>=0&&(r=(d=this.m_reverseHistory[x])[0],L=1,I=d.length-1)}while(--x>=-1);M=C.getChanges()}return this.ConcatenateChanges(_,M)},e.prototype.ComputeRecursionPoint=function(e,t,n,o,r,s,u){var l,c=0,d=0,h=0,p=0,g=0,f=0;e--,n--,r[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,v,y=t-e+(o-n),b=y+1,_=new Array(b),w=new Array(b),M=o-n,C=t-e,L=e-n,I=t-o,N=(C-M)%2==0;for(_[M]=e,w[C]=t,u[0]=!1,l=1;l<=y/2+1;l++){var S=0,x=0;for(h=this.ClipDiagonalBound(M-l,l,M,b),p=this.ClipDiagonalBound(M+l,l,M,b),m=h;m<=p;m+=2){for(d=(c=m===h||mS+x&&(S=c,x=d),!N&&Math.abs(m-C)<=l-1&&c>=w[m])return r[0]=c,s[0]=d,v<=w[m]&&l<=1448?this.WALKTRACE(M,h,p,L,C,g,f,I,_,w,c,t,r,d,o,s,N,u):null}var D=(S-e+(x-n)-l)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(S,this.OriginalSequence,D))return u[0]=!0,r[0]=S,s[0]=x,D>0&&l<=1448?this.WALKTRACE(M,h,p,L,C,g,f,I,_,w,c,t,r,d,o,s,N,u):[new i(++e,t-e+1,++n,o-n+1)];for(g=this.ClipDiagonalBound(C-l,l,C,b),f=this.ClipDiagonalBound(C+l,l,C,b),m=g;m<=f;m+=2){for(d=(c=m===g||m=w[m+1]?w[m+1]-1:w[m-1])-(m-C)-I,v=c;c>e&&d>n&&this.ElementsAreEqual(c,d);)c--,d--;if(w[m]=c,N&&Math.abs(m-M)<=l&&c<=_[m])return r[0]=c,s[0]=d,v>=_[m]&&l<=1448?this.WALKTRACE(M,h,p,L,C,g,f,I,_,w,c,t,r,d,o,s,N,u):null}if(l<=1447){var j=new Array(p-h+2);j[0]=M-h+1,a.Copy(_,h,j,1,p-h+1),this.m_forwardHistory.push(j),(j=new Array(f-g+2))[0]=C-g+1,a.Copy(w,g,j,1,f-g+1),this.m_reverseHistory.push(j)}}return this.WALKTRACE(M,h,p,L,C,g,f,I,_,w,c,t,r,d,o,s,N,u)},e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],i=0,o=0;if(t>0){var u=e[t-1];u.originalLength>0&&(i=u.originalStart+u.originalLength),u.modifiedLength>0&&(o=u.modifiedStart+u.modifiedLength)}r=n.originalLength>0,s=n.modifiedLength>0;for(var l=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var h=n.originalStart-d,p=n.modifiedStart-d;if(hc&&(c=g,l=d)}n.originalStart-=l,n.modifiedStart-=l}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var i=new Array(e.length+t.length-1);return a.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],a.Copy(t,1,i,e.length,t.length-1),i}i=new Array(e.length+t.length);return a.Copy(e,0,i,0,e.length),a.Copy(t,0,i,e.length,t.length),i},e.prototype.ChangesOverlap=function(e,t,n){if(s.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),s.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var o=e.originalStart,r=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(r=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(o,r,a,u),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,i){if(e>=0&&e=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},y=function(e,t){return function(n,i){t(n,i,e)}},b=function(){function e(e,t,n){var i=this;this._editor=e,this._codeEditorService=t,this._configurationService=n,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel(function(e){i._isEnabled=i.isEnabled(),i.onModelChanged()})),this._globalToDispose.push(e.onDidChangeModelLanguage(function(e){return i.onModelChanged()})),this._globalToDispose.push(g.c.onDidChange(function(e){return i.onModelChanged()})),this._globalToDispose.push(e.onDidChangeConfiguration(function(e){var t=i._isEnabled;i._isEnabled=i.isEnabled(),t!==i._isEnabled&&(i._isEnabled?i.onModelChanged():i.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var i=n.colorDecorators;if(i&&void 0!==i.enable&&!i.enable)return i.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=Object(l.d)(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();n&&g.c.has(n)&&(this._localToDispose.push(this._editor.onDidChangeModelContent(function(n){t._timeoutTimer||(t._timeoutTimer=new i.e,t._timeoutTimer.cancelAndSet(function(){t._timeoutTimer=null,t.beginCompute()},e.RECOMPUTE_TIME))})),this.beginCompute())}},e.prototype.beginCompute=function(){var e=this;this._computePromise=Object(i.f)(function(t){var n=e._editor.getModel();return n?Object(f.b)(n,t):Promise.resolve([])}),this._computePromise.then(function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null},r.e)},e.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=Object(l.d)(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,n=e.map(function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:p.a.EMPTY}});this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,i){return t._colorDatas.set(n,e[i])})},e.prototype.updateColorDecorators=function(e){for(var t=[],n={},i=0;isetTimeout(t,e))}(t).then(()=>this.elem.remove())}}class u{constructor(e){this.name=e,this._content=this._load()}async createEditor(e,t){if("javascript"===this._language){const e=[{name:"JQuery",baseUrl:"/editor/third/jquery/",files:["JQuery","JQueryStatic","misc","legacy"]}];Promise.all(e.map(async e=>{await Promise.all(e.files.map(async t=>{const n=await(await fetch(`${e.baseUrl}/${t}.d.ts`)).text();i.languages.typescript.javascriptDefaults.addExtraLib(n)}))}))}this.editor=i.editor.create(e,{value:await this._content,language:this._language,...t||{}}),void 0!==r.a&&(this.editor.livewriting=r.a,this.editor.livewriting("create","monaco",{},await this._content));let n=!1;return this.editor.onKeyDown(async e=>{const t=83===e.browserEvent.keyCode;if((e.ctrlKey||e.metaKey)&&t&&(e.stopPropagation(),e.preventDefault(),!n)){n=!0;let e=null;this.editor.livewriting&&(e=this.editor.livewriting("returnactiondata")),await s.default._save(this.editor.getValue(),e),n=!1}}),this.editor}async _load(){const e=new a("Loading...");try{const t=await(await this._fetch(this._endpoint)).text();return e.remove("Loaded"),t}catch(t){e.error(t.message)}}async _save(e,t){const n=new a("Saving...");try{const i=JSON.stringify({content:e,actions:t});await this._fetch(this._endpoint,{headers:{"Content-Type":"application/json"},method:"POST",body:i}),await n.remove("Saved")}catch(e){n.error(e.message)}}async _fetch(e,t){const n=await fetch(e,t);if(!n.ok)throw Error(n.statusText);return n}get _language(){const e=this.name.split(".").pop();return{html:"html",js:"javascript"}[e]||e}get _endpoint(){return`/files/${this.name}`}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=!1,o=null;function r(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return i=!0,null}catch(e){return i=!0,null}return e.parent}function s(e,t){for(var n,i=e.document.getElementsByTagName("iframe"),o=0,r=i.length;o1){var m=n.getLineContent(f.lineNumber),v=i.o(m),y=-1===v?m.length+1:v+1;if(f.column<=y){var b=r.a.visibleColumnFromColumn2(t,n,f),_=r.a.prevIndentTabStop(b,t.indentSize),w=r.a.columnFromVisibleColumn2(t,n,f.lineNumber,_);g=new a.a(f.lineNumber,w,f.lineNumber,f.column)}else g=new a.a(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var M=s.a.left(t,n,f.lineNumber,f.column);g=new a.a(M.lineNumber,M.column,f.lineNumber,f.column)}}g.isEmpty()?l[d]=null:(g.startLineNumber!==g.endLineNumber&&(c=!0),l[d]=new o.a(g,""))}return[c,l]},e.cut=function(e,t,n){for(var i=[],s=0,u=n.length;s1?(d=c.lineNumber-1,h=t.getLineMaxColumn(c.lineNumber-1),p=c.lineNumber,g=t.getLineMaxColumn(c.lineNumber)):(d=c.lineNumber,h=1,p=c.lineNumber,g=t.getLineMaxColumn(c.lineNumber));var f=new a.a(d,h,p,g);f.isEmpty()?i[s]=null:i[s]=new o.a(f,"")}else i[s]=null;else i[s]=new o.a(l,"")}return new r.e(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n(19),o=Object(i.c)("clipboardService")},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return u});var i=n(8),o=n(86),r=n(63),s={getInitialState:function(){return r.c},tokenize2:function(e,t,n){return Object(r.e)(0,e,t,n)}};function a(e,t){return void 0===t&&(t=s),function(e,t){for(var n='',r=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,u=r.length;a0&&(n+="
");var c=t.tokenize2(l,s,0);o.a.convertToEndOffset(c.tokens,l.length);for(var d=new o.a(c.tokens,l),h=d.inflate(),p=0,g=0,f=h.getCount();g'+i.m(l.substring(p,v))+"",p=v}s=c.endState}return n+="
"}(e,t||s)}function u(e,t,n,i,o,r){for(var s="",a=i,u=0,l=0,c=t.getCount();l0;)h+=" ",g--;break;case 60:h+="<";break;case 62:h+=">";break;case 38:h+="&";break;case 0:h+="";break;case 65279:case 8232:h+="�";break;case 13:h+="";break;default:h+=String.fromCharCode(p)}}if(s+=''+h+"",d>o||a>=o)break}}return s+="
"}},function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return c});var i=n(30),o=n(47),r=n(8),s=n(50),a=n(14),u=n(57);function l(e,t,n){if("string"==typeof e&&(e=i.a.file(e)),n){var l=n.getWorkspaceFolder(e);if(l){var c=n.getWorkspace().folders.length>1,g=void 0;if(g=Object(u.e)(l.uri,e)?"":Object(o.normalize)(Object(r.z)(e.path.substr(l.uri.path.length),o.posix.sep)),c){var f=l&&l.name?l.name:Object(u.b)(l.uri);g=g?f+" • "+g:f}return g}}if(e.scheme!==s.a.file&&e.scheme!==s.a.untitled)return e.with({query:null,fragment:null}).toString(!0);if(d(e.fsPath))return Object(o.normalize)(h(e.fsPath));var m=Object(o.normalize)(e.fsPath);return!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var n=p.original===t?p.normalized:void 0;n||(n=""+Object(r.E)(t,o.posix.sep)+o.posix.sep,p={original:t,normalized:n});(a.c?Object(r.G)(e,n):Object(r.H)(e,n))&&(e="~/"+e.substr(n.length));return e}(m,t.userHome)),m}function c(e){if(e){"string"==typeof e&&(e=i.a.file(e));var t=Object(u.b)(e)||(e.scheme===s.a.file?e.fsPath:e.path);return d(t)?h(t):t}}function d(e){return!(!a.g||!e||":"!==e[1])}function h(e){return d(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var p=Object.create(null)},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return s});var i=n(1),o=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n){if(0===t.length)return null;for(var i=[],o=0,r=t.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},y=function(e,t){return function(n,i){t(n,i,e)}},b=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score,o=1;os&&c.type===u.kind&&c.insertText===u.insertText&&(s=c.touch,r=a)}return-1===r?e.prototype.select.call(this,t,n,i):r},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t200)return t;if("object"==typeof t){switch(t.$mid){case 1:return i.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var o in t)Object.hasOwnProperty.call(t,o)&&(t[o]=e(t[o],n+1))}return t}(t,0)}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n(56),o=n(5),r={JSONContribution:"base.contributions.json"};var s=new(function(){function e(){this._onDidChangeSchema=new o.a,this.schemasById={}}return e.prototype.registerSchema=function(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());i.a.add(r.JSONContribution,s)},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n(14),o=i.b.performance&&"function"==typeof i.b.performance.now,r=function(){function e(e){this._highResolution=o&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.stop=function(){this._stopTime=this._now()},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?i.b.performance.now():(new Date).getTime()},e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return D});var i=n(21),o=n(8),r=n(168),s=n(47),a=n(60),u=n(15),l="**",c="/",d="[/\\\\]",h="[^/\\\\]",p=/\//g;function g(e){switch(e){case 0:return"";case 1:return h+"*?";default:return"(?:"+d+"|"+h+"+"+d+"|"+d+h+"+)*?"}}function f(e,t){if(!e)return[];for(var n=[],i=!1,o=!1,r="",s=0,a=e;s0;n--){var r=e.charCodeAt(n-1);if(47===r||92===r)break}t=e.substr(n)}var s=o.indexOf(t);return-1!==s?i[s]:null};a.basenames=o,a.patterns=i,a.allBasenames=o;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}},function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return s});var i=n(8),o=n(47);function r(e,t,n,r){if(void 0===r&&(r=o.sep),e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!Object(i.H)(e,t))return!1;if(t.length===e.length)return!0;var s=t.length;return t.charAt(t.length-1)===r&&s--,e.charAt(s)===r}return t.charAt(t.length-1)!==r&&(t+=r),0===e.indexOf(t)}function s(e){return e>=65&&e<=90||e>=97&&e<=122}},function(e,t,n){"use strict";n.d(t,"a",function(){return h});var i=n(21),o=n(29),r=n(13),s=n(30),a=n(3),u=n(2),l=n(10),c=n(55),d=n(62);function h(e,t,n,o){var s=n.filter||{},a={only:s.kind?s.kind.value:void 0,trigger:"manual"===n.type?2:1},u=function(e,t){return l.a.all(e).filter(function(e){return!e.providedCodeActionKinds||e.providedCodeActionKinds.some(function(e){return Object(d.c)(t,new d.a(e))})})}(e,s).map(function(n){return Promise.resolve(n.provideCodeActions(e,t,a,o)).then(function(e){return Array.isArray(e)?e.filter(function(e){return e&&Object(d.b)(s,e)}):[]},function(e){if(Object(r.d)(e))throw e;return Object(r.f)(e),[]})});return Promise.all(u).then(i.i).then(function(e){return Object(i.m)(e,p)})}function p(e,t){return Object(i.l)(e.diagnostics)?Object(i.l)(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:Object(i.l)(t.diagnostics)?1:0}Object(a.j)("_executeCodeActionProvider",function(e,t){var n=t.resource,i=t.range,a=t.kind;if(!(n instanceof s.a&&u.a.isIRange(i)))throw Object(r.b)();var l=e.get(c.a).getModel(n);if(!l)throw Object(r.b)();return h(l,l.validateRange(i),{type:"manual",filter:{includeSourceActions:!0,kind:a&&a.value?new d.a(a.value):void 0}},o.a.None)})},function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i,o=n(5),r=n(4),s=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(e,t,n,i,o,r){(e|=0)<0&&(e=0),(n|=0)+e>(t|=0)&&(n=t-e),n<0&&(n=0),(i|=0)<0&&(i=0),(r|=0)+i>(o|=0)&&(r=o-i),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=o,this.scrollTop=r}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.withScrollDimensions=function(t){return new e(void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,this.scrollTop)},e.prototype.withScrollPosition=function(t){return new e(this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.scrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.scrollTop)},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:n,scrollLeftChanged:i,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:s}},e}(),u=function(e){function t(t,n){var i=e.call(this)||this;return i._onScroll=i._register(new o.a),i.onScroll=i._onScroll.event,i._smoothScrollDuration=t,i._scheduleAtNextAnimationFrame=n,i._state=new a(0,0,0,0,0,0),i._smoothScrolling=null,i}return s(t,e),t.prototype.dispose=function(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),e.prototype.dispose.call(this)},t.prototype.setSmoothScrollDuration=function(e){this._smoothScrollDuration=e},t.prototype.validateScrollPosition=function(e){return this._state.withScrollPosition(e)},t.prototype.getScrollDimensions=function(){return this._state},t.prototype.setScrollDimensions=function(e){var t=this._state.withScrollDimensions(e);this._setState(t),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)},t.prototype.getFutureScrollPosition=function(){return this._smoothScrolling?this._smoothScrolling.to:this._state},t.prototype.getCurrentScrollPosition=function(){return this._state},t.prototype.setScrollPositionNow=function(e){var t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t)},t.prototype.setScrollPositionSmooth=function(e){var t=this;if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};var n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var i=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=i}else{n=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())})},t.prototype._performSmoothScrolling=function(){var e=this;if(this._smoothScrolling){var t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),t.isDone)return this._smoothScrolling.dispose(),void(this._smoothScrolling=null);this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){e._smoothScrolling&&(e._smoothScrolling.animationFrameDisposable=null,e._performSmoothScrolling())})}},t.prototype._setState=function(e){var t=this._state;t.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(r.a),l=function(){return function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}();function c(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,n,i){this.from=e,this.to=t,this.duration=i,this._startTime=n,this.animationFrameDisposable=null,this._initAnimations()}return e.prototype._initAnimations=function(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)},e.prototype._initAnimation=function(e,t,n){var i,o,r;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return e0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=e._maxRounds){t();break}if(!o){t();break}var l=i.findNextBracket(o);if(!l){t();break}if(Date.now()-u>e._maxDuration){setTimeout(function(){return e._bracketsRightYield(t,n+1,i,o,s)});break}var c=l.close;if(l.isOpen){var d=a.has(c)?a.get(c):0;a.set(c,d+1)}else{d=a.has(c)?a.get(c):0;if(d-=1,a.set(c,Math.max(0,d)),d<0){var h=s.get(c);h||(h=new r.a,s.set(c,h)),h.push(l.range)}}o=l.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,i,r,s,a){for(var u=new Map,l=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!r){t();break}var c=i.findPrevBracket(r);if(!c){t();break}if(Date.now()-l>e._maxDuration){setTimeout(function(){return e._bracketsLeftYield(t,n+1,i,r,s,a)});break}var d=c.close;if(c.isOpen){m=u.has(d)?u.get(d):0;if(m-=1,u.set(d,Math.max(0,m)),m<0){var h=s.get(d);if(h){var p=h.shift();0===h.size&&s.delete(d);var g=o.a.fromPositions(c.range.getEndPosition(),p.getStartPosition()),f=o.a.fromPositions(c.range.getStartPosition(),p.getEndPosition());a.push({range:g,kind:"statement.brackets"}),a.push({range:f,kind:"statement.brackets.full"}),e._addBracketLeading(i,f,a)}}}else{var m=u.has(d)?u.get(d):0;u.set(d,m+1)}r=c.range.getStartPosition()}},e._addBracketLeading=function(e,t,n){if(t.startLineNumber!==t.endLineNumber){var r=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(r);0!==s&&s!==t.startColumn&&(n.push({range:o.a.fromPositions(new i.a(r,s),t.getEndPosition()),kind:"statement.brackets.leading"}),n.push({range:o.a.fromPositions(new i.a(r,1),t.getEndPosition()),kind:"statement.brackets.leading.full"}));var a=r-1;if(a>0){var u=e.getLineFirstNonWhitespaceColumn(a);u===t.startColumn&&u!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:o.a.fromPositions(new i.a(a,u),t.getEndPosition()),kind:"statement.brackets.leading"}),n.push({range:o.a.fromPositions(new i.a(a,1),t.getEndPosition()),kind:"statement.brackets.leading.full"}))}}},e._maxDuration=30,e._maxRounds=2,e}()},function(e,t,n){"use strict";n.r(t);n(274);var i,o=n(1),r=n(23),s=n(0),a=n(25),u=n(135),l=n(52),c=n(59),d=n(4),h=n(14),p=n(8),g=n(30),f=n(3),m=n(6),v=n(139),y=n(11),b=n(19),_=n(51),w=n(72),M=n(7),C=n(17),L=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),I=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},N=function(e,t){return function(n,i){t(n,i,e)}},S=new y.f("accessibilityHelpWidgetVisible",!1),x=function(e){function t(t,n){var i=e.call(this)||this;return i._editor=t,i._widget=i._register(n.createInstance(A,i._editor)),i}return L(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=I([N(1,b.a)],t)}(d.a),D=o.a("noSelection","No selection"),j=o.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),T=o.a("singleSelection","Line {0}, Column {1}"),k=o.a("multiSelectionRange","{0} selections ({1} characters selected)"),O=o.a("multiSelection","{0} selections");var A=function(e){function t(t,n,i,r){var u=e.call(this)||this;return u._contextKeyService=n,u._keybindingService=i,u._openerService=r,u._editor=t,u._isVisibleKey=S.bindTo(u._contextKeyService),u._domNode=Object(a.b)(document.createElement("div")),u._domNode.setClassName("accessibilityHelpWidget"),u._domNode.setDisplay("none"),u._domNode.setAttribute("role","dialog"),u._domNode.setAttribute("aria-hidden","true"),u._contentDomNode=Object(a.b)(document.createElement("div")),u._contentDomNode.setAttribute("role","document"),u._domNode.appendChild(u._contentDomNode),u._isVisible=!1,u._register(u._editor.onDidLayoutChange(function(){u._isVisible&&u._layout()})),u._register(s.k(u._contentDomNode.domNode,"keydown",function(e){if(u._isVisible&&(e.equals(2083)&&(Object(l.a)(o.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),u._editor.updateOptions({accessibilitySupport:"on"}),s.n(u._contentDomNode.domNode),u._buildContent(),u._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(l.a)(o.a("openingDocs","Now opening the Editor Accessibility documentation page."));var t=u._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),u._openerService.open(g.a.parse(t)),e.preventDefault(),e.stopPropagation()}})),u.onblur(u._contentDomNode.domNode,function(){u.hide()}),u._editor.addOverlayWidget(u),u}return L(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())},t.prototype._descriptionForCommand=function(e,t,n){var i=this._keybindingService.lookupKeybinding(e);return i?p.p(t,i.getAriaLabel()):p.p(n,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),n=0;if(t){var i=this._editor.getModel();i&&t.forEach(function(e){n+=i.getValueLengthInRange(e)})}var r=function(e,t){return e&&0!==e.length?1===e.length?t?p.p(j,e[0].positionLineNumber,e[0].positionColumn,t):p.p(T,e[0].positionLineNumber,e[0].positionColumn):t?p.p(k,e.length,t):e.length>0?p.p(O,e.length):"":D}(t,n);e.wrappingInfo.inDiffEditor?e.readOnly?r+=o.a("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=o.a("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=o.a("readonlyEditor"," in a read-only code editor"):r+=o.a("editableEditor"," in a code editor");var s=h.d?o.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):o.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");switch(e.accessibilitySupport){case 0:r+="\n\n - "+s;break;case 2:r+="\n\n - "+o.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+o.a("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+s}var a=o.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),l=o.a("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),c=o.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=o.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,a,l):r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,c,d),r+="\n\n - "+(h.d?o.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):o.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+o.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(Object(u.a)(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,s.n(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var o=Math.round((e.height-i)/2);this._domNode.setTop(o);var r=Math.round((e.width-n)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=I([N(1,y.e),N(2,_.a),N(3,w.a)],t)}(c.a),E=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:o.a("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:m.a.focus,primary:r.j?2107:571,weight:100}})||this}return L(t,e),t.prototype.run=function(e,t){var n=x.get(t);n&&n.show()},t}(f.b);Object(f.h)(x),Object(f.f)(E);var P=f.c.bindToContribution(x.get);Object(f.g)(new P({id:"closeAccessibilityHelp",precondition:S,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:m.a.focus,primary:9,secondary:[1033]}})),Object(C.e)(function(e,t){var n=e.getColor(M.F);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(M.Kb);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(M.e);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+o+"; }")})},function(e,t){var n,i,o=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===r||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:r}catch(e){n=r}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(e){i=s}}();var u,l=[],c=!1,d=-1;function h(){c&&u&&(c=!1,u.length?l=u.concat(l):d=-1,l.length&&p())}function p(){if(!c){var e=a(h);c=!0;for(var t=l.length;t;){for(u=l,l=[];++d1)for(var n=1;n0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return v(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),i=e.matchBracket(n),o=null;if(i)i[0].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{var r=e.findNextBracket(n);r&&r.range&&(o=r.range.getStartPosition())}return o?new l.a(o.lineNumber,o.column,o.lineNumber,o.column):new l.a(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=[];this._editor.getSelections().forEach(function(n){var i=n.getStartPosition(),o=e.matchBracket(i),r=null,s=null;if(!o){var a=e.findNextBracket(i);a&&a.range&&(o=e.matchBracket(a.range.getStartPosition()))}o&&(o[0].startLineNumber===o[1].startLineNumber?(r=o[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,i=0,o=this._lastBracketsData.length;i1&&o.sort(u.a.compare);var c=[],d=0,h=0,p=n.length;for(s=0,a=o.length;s=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},m=function(e,t){return function(n,i){t(n,i,e)}},v=function(){function e(e,t,n,i,o,r){var s=this;this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=i,this._keybindingService=o,this._menuService=r,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu(function(e){return s._onContextMenu(e)})),this._toDispose.push(this._editor.onDidScrollChange(function(e){s._contextMenuIsBeingShownCount>0&&e.scrollTopChanged&&s._contextViewService.hideContextView()})),this._toDispose.push(this._editor.onKeyDown(function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())}))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(this._editor.hasModel()){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12!==e.target.type&&(e.event.preventDefault(),6===e.target.type||7===e.target.type||1===e.target.type)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);var t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}}},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu&&this._editor.hasModel())if(this._contextMenuService){var t=this._getMenuActions(this._editor.getModel());t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(e){var t=[],n=this._menuService.createMenu(7,this._contextKeyService),i=n.getActions({arg:e.uri});n.dispose();for(var o=0,r=i;o0&&this._contextViewService.hideContextView(),this._toDispose=Object(a.d)(this._toDispose)},e.ID="editor.contrib.contextmenu",e=f([m(1,h.a),m(2,h.b),m(3,d.e),m(4,p.a),m(5,c.a)],e)}(),y=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:o.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:l.a.textInputFocus,primary:1092,weight:100}})||this}return g(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(u.b);Object(u.h)(v),Object(u.f)(y)},function(e,t,n){"use strict";n.r(t),n.d(t,"CursorUndoController",function(){return c}),n.d(t,"CursorUndo",function(){return d});var i,o=n(1),r=n(4),s=n(3),a=n(6),u=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var n=0;n50&&n._undoStack.shift()),n._prevState=n._readState()})),n}return u(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.hasModel()?new l(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){if(this._editor.hasModel())for(var e=new l(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t}(r.a),d=function(e){function t(){return e.call(this,{id:"cursorUndo",label:o.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:null,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return u(t,e),t.prototype.run=function(e,t,n){c.get(t).cursorUndo()},t}(s.b);Object(s.h)(c),Object(s.f)(d)},function(e,t,n){"use strict";n.r(t);var i,o=n(1),r=n(3),s=n(96),a=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:o.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:o.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(r.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:o.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(u),Object(r.f)(l),Object(r.f)(c)},function(e,t,n){"use strict";n.r(t);n(269);var i=n(1),o=n(15),r=n(13),s=n(76),a=n(83),u=n(2),l=n(10),c=n(3),d=n(137),h=n(4),p=n(104),g=n(17),f=n(7),m=n(90),v=n(140),y=n(173),b=n(9),_=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},w=function(e,t){return function(n,i){t(n,i,e)}},M=function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=[],this.decorations=[],this.editor=e,this.previousPromise=null;var o=new y.a(e);this.toUnhook.push(o),this.toUnhook.push(o.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];i.startFindDefinition(t,n||void 0)})),this.toUnhook.push(o.onExecute(function(e){i.isEnabled(e)&&i.gotoDefinition(e.target,e.hasSideBySideModifier).then(function(){i.removeDecorations()},function(e){i.removeDecorations(),Object(r.e)(e)})})),this.toUnhook.push(o.onCancel(function(){i.removeDecorations(),i.currentWordUnderMouse=null}))}return e.prototype.startFindDefinition=function(e,t){var n=this;if(!(9===e.target.type&&this.decorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var a=e.target.position?this.editor.getModel().getWordAtPosition(e.target.position):null;if(!a)return this.currentWordUnderMouse=null,void this.removeDecorations();var l=e.target.position;if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==a.startColumn||this.currentWordUnderMouse.endColumn!==a.endColumn||this.currentWordUnderMouse.word!==a.word){this.currentWordUnderMouse=a;var c=new m.a(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Object(o.f)(function(t){return n.findDefinition(e.target,t)}),this.previousPromise.then(function(e){if(e&&e.length&&c.validate(n.editor))if(e.length>1)n.addDecoration(new u.a(l.lineNumber,a.startColumn,l.lineNumber,a.endColumn),(new s.a).appendText(i.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;n.textModelResolverService.createModelReference(t.uri).then(function(e){if(e.object&&e.object.textEditorModel){var i=e.object.textEditorModel,o=t.range.startLineNumber;if(o<1||o>i.getLineCount())e.dispose();else{var r,c=n.getPreviewValue(i,o);r=t.originSelectionRange?u.a.lift(t.originSelectionRange):new u.a(l.lineNumber,a.startColumn,l.lineNumber,a.endColumn);var d=n.modeService.getModeIdByFilepathOrFirstLine(i.uri.fsPath);n.addDecoration(r,(new s.a).appendCodeblock(d||"",c)),e.dispose()}}else e.dispose()})}else n.removeDecorations()}).then(void 0,r.e)}}},e.prototype.getPreviewValue=function(t,n){var i=this.getPreviewRangeBasedOnBrackets(t,n);return i.endLineNumber-i.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(i=this.getPreviewRangeBasedOnIndentation(t,n)),this.stripIndentationFromPreviewRange(t,n,i)},e.prototype.stripIndentationFromPreviewRange=function(e,t,n){for(var i=e.getLineFirstNonWhitespaceColumn(t),o=t+1;oi)return new u.a(n,1,i+1,1);s=t.findNextBracket(new b.a(c,d))}return new u.a(n,1,i+1,1)},e.prototype.addDecoration=function(e,t){var n={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[n])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&l.f.has(this.editor.getModel())},e.prototype.findDefinition=function(e,t){var n=this.editor.getModel();return n?Object(d.b)(n,e.position,t):Promise.resolve(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:"",label:"",id:"",precondition:null});return this.editor.invokeWithinContext(function(e){return i.run(e,n.editor)})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook=Object(h.d)(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=_([w(1,p.a),w(2,a.a)],e)}();Object(c.h)(M),Object(g.e)(function(e,t){var n=e.getColor(f.n);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")})},function(e,t,n){"use strict";n.r(t),n.d(t,"GotoLineEntry",function(){return p}),n.d(t,"GotoLineAction",function(){return g});n(362);var i,o=n(1),r=n(116),s=n(132),a=n(3),u=n(9),l=n(2),c=n(6),d=n(149),h=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=function(e){function t(t,n,i){var o=e.call(this)||this;return o.editor=n,o.decorator=i,o.parseResult=o.parseInput(t),o}return h(t,e),t.prototype.parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});if(t=0===i.length?new u.a(-1,-1):1===i.length?new u.a(i[0],1):new u.a(i[0],i[1]),Object(s.a)(this.editor))n=this.editor.getModel();else{var r=this.editor.getModel();n=r?r.modified:null}var a=!!n&&n.validatePosition(t).equals(t);return{position:t,isValid:a,label:a?t.column&&t.column>1?o.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):o.a("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>(n?n.getLineCount():0)?o.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",n?n.getLineCount():0):o.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",n?n.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label},t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return o.a("gotoLineAriaLabel","Current Line: {0}. Go to line {0}.",t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this.parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this.parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new l.a(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(r.a),g=function(e){function t(){return e.call(this,o.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:o.a("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:c.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return h(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new r.c([new p(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(d.a);Object(a.f)(g)},function(e,t,n){"use strict";n.r(t);n(378);var i,o=n(1),r=n(12),s=n(4),a=n(8),u=n(3),l=n(10),c=n(63),d=n(83),h=n(101),p=n(7),g=n(17),f=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),m=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},v=function(e,t){return function(n,i){t(n,i,e)}},y=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._modeService=i,o._widget=null,o._register(o._editor.onDidChangeModel(function(e){return o.stop()})),o._register(o._editor.onDidChangeModelLanguage(function(e){return o.stop()})),o._register(l.y.onDidChange(function(e){return o.stop()})),o}return f(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.hasModel()&&(this._widget=new _(this._editor,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=m([v(1,h.a),v(2,d.a)],t)}(s.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:o.a("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return f(t,e),t.prototype.run=function(e,t){var n=y.get(t);n&&n.launch()},t}(u.b);var _=function(e){function t(t,n){var i,o=e.call(this)||this;return o.allowEditorOverflow=!0,o._editor=t,o._modeService=n,o._model=o._editor.getModel(),o._domNode=document.createElement("div"),o._domNode.className="tokens-inspect-widget",o._tokenizationSupport=(i=o._model.getLanguageIdentifier(),l.y.get(i.language)||{getInitialState:function(){return c.c},tokenize:function(e,t,n){return Object(c.d)(i.language,e,t,n)},tokenize2:function(e,t,n){return Object(c.e)(i.id,e,t,n)}}),o._compute(o._editor.getPosition()),o._register(o._editor.onDidChangeCursorPosition(function(e){return o._compute(o._editor.getPosition())})),o._editor.addContentWidget(o),o}return f(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),n=0,i=t.tokens1.length-1;i>=0;i--){var o=t.tokens1[i];if(e.column-1>=o.offset){n=i;break}}var s=0;for(i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){s=i;break}var u="",l=this._model.getLineContent(e.lineNumber),c="";if(n'+function(e){for(var t="",n=0,i=e.length;n('+c.length+" "+(1===c.length?"char":"chars")+")",u+='
';var p=this._decodeMetadata(t.tokens2[1+(s<<1)]);u+='",u+='
',n'+Object(a.m)(t.tokens1[n].type)+""),this._domNode.innerHTML=u,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=l.y.getColorMap(),n=l.x.getLanguageId(e),i=l.x.getTokenType(e),o=l.x.getFontStyle(e),r=l.x.getForeground(e),s=l.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:o,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n1&&n.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),o=t.getSelections(),r=[];o.forEach(function(e){return n.getCursorsForSelection(e,i,r)}),r.length>0&&t.setSelections(r)}},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:o.a("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:null})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=t.getModel().getLineCount(),o=[],r=n[0].startLineNumber;r<=i;r++)o.push(new d.a(r,n[0].startColumn,r,n[0].endColumn));o.length>0&&t.setSelections(o)}},t}(u.b),L=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:o.a("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:null})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],o=n[0].startLineNumber;o>=1;o--)i.push(new d.a(o,n[0].startColumn,o,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(u.b),I=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),N=function(){function e(e,t,n,i,o,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=r,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState();if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var o,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,o=!0,r=!0):(o=i.wholeWord,r=i.matchCase);var u,l=t.getSelection(),c=null;if(l.isEmpty()){var h=t.getModel().getWordAtPosition(l.getStartPosition());if(!h)return null;u=h.word,c=new d.a(l.startLineNumber,h.startColumn,l.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new e(t,n,s,u,o,r,c)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new I(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new I(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new I(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new I(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)):[]},e}(),S=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n._sessionDispose=[],n}return b(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var n=N.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()}),this._editor.onDidBlurEditorText(function(){t._endSession()}),e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()})]}},t.prototype._endSession=function(){if(this._sessionDispose=Object(a.d)(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var n=e.getWordAtPosition(t.getStartPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(this._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!z(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),o=[],r=0,s=t.length;r0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var i=this._editor.getSelection(),o=0,r=t.length;o1){var a=o.getState().matchCase;if(!z(t.getModel(),s,a))return null}r=N.create(t,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;var u=o.getState(),l=u.matchCase;if(u.isRevealed){var c=u.searchString;l||(c=c.toLowerCase());var d=r.searchText;if(l||(d=d.toLowerCase()),c===d&&r.matchCase===u.matchCase&&r.wholeWord===u.wholeWord&&!u.isRegex)return null}return new E(r.searchText,r.matchCase,r.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(E.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=f.i.has(n),o=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});o.sort(c.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(c.a.compareRangesUsingStarts);for(var s=[],a=0,u=0,l=o.length,d=r.length;a=d)s.push(h),a++;else{var p=c.a.compareRangesUsingStarts(h,r[u]);p<0?(!r[u].isEmpty()&&c.a.areIntersecting(h,r[u])||s.push(h),a++):p>0?u++:(a++,u++)}}var g=s.map(function(e){return{range:e,options:i?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,g)}}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=g.a.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:Object(y.f)(v.vb),position:p.c.Center}}),t._SELECTION_HIGHLIGHT=g.a.register({stickiness:1,className:"selectionHighlight"}),t}(a.a);function z(e,t,n){for(var i=R(e,t[0],!n),o=1,r=t.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},S=function(e,t){return function(n,i){t(n,i,e)}},x={getMetaTitle:function(e){return e.references.length>1?o.a("meta.titleReference"," – {0} references",e.references.length):""}},D=function(){function e(e,t){e instanceof v.a&&d.a.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=N([S(1,r.e)],e)}(),j=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:o.a("references.action.label","Peek References"),alias:"Find All References",precondition:r.d.and(m.a.hasReferenceProvider,d.a.notInPeekEditor,m.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:m.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return I(t,e),t.prototype.run=function(e,t){var n=h.a.get(t);if(n&&t.hasModel()){var i=t.getSelection(),o=t.getModel(),r=Object(g.f)(function(e){return O(o,i.getStartPosition(),e).then(function(e){return new p.c(e)})});n.toggleWidget(i,r,x)}},t}(u.b);Object(u.h)(D),Object(u.f)(j);function T(e,t){k(e,function(e){return e.closeWidget()})}function k(e,t){var n=Object(d.c)(e);if(n){var i=h.a.get(n);i&&t(i)}}function O(e,t,n){var i=l.s.ordered(e).map(function(i){return Promise.resolve(i.provideReferences(e,t,{includeDeclaration:!0},n)).then(function(e){if(Array.isArray(e))return e},function(e){Object(f.f)(e)})});return Promise.all(i).then(function(e){for(var t=[],n=0,i=e;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},g=function(e,t){return function(n,i){t(n,i,e)}},f=function(e){function t(t,n,i,o,r,s,a){return e.call(this,!0,t,n,i,o,r,s,a)||this}return h(t,e),t=p([g(1,u.e),g(2,r.a),g(3,c.a),g(4,l.a),g(5,d.a),g(6,a.a)],t)}(s.a);Object(o.h)(f)},function(e,t,n){"use strict";n.r(t);var i,o=n(1),r=n(3),s=n(101),a=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:o.a("toggleHighContrast","Toggle High Contrast Theme"),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var n=e.get(s.a);this._originalThemeName?(n.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=n.getTheme().themeName,n.setTheme("hc-black"))},t}(r.b);Object(r.f)(u)},function(e,t,n){"use strict";n.r(t);var i,o=n(1),r=n(8),s=n(3),a=n(40),u=n(9),l=n(2),c=n(6),d=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:o.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:c.a.writable,kbOpts:{kbExpr:c.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return d(t,e),t.prototype.positionLeftOf=function(e,t){var n=e.column,i=e.lineNumber;return n>t.getLineMinColumn(i)?Object(r.v)(t.getLineContent(i).charCodeAt(n-2))?n-=2:n-=1:i>1&&(i-=1,n=t.getLineMaxColumn(i)),new u.a(i,n)},t.prototype.positionRightOf=function(e,t){var n=e.column,i=e.lineNumber;return n0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}},t}(s.b);Object(s.f)(h)},function(e,t,n){"use strict";n.r(t),n.d(t,"editorWordHighlight",function(){return M}),n.d(t,"editorWordHighlightStrong",function(){return C}),n.d(t,"editorWordHighlightBorder",function(){return L}),n.d(t,"editorWordHighlightStrongBorder",function(){return I}),n.d(t,"overviewRulerWordHighlightForeground",function(){return N}),n.d(t,"overviewRulerWordHighlightStrongForeground",function(){return S}),n.d(t,"ctxHasWordHighlights",function(){return x}),n.d(t,"getOccurrencesAtPosition",function(){return D});var i,o=n(1),r=n(21),s=n(15),a=n(29),u=n(13),l=n(4),c=n(3),d=n(2),h=n(6),p=n(49),g=n(24),f=n(10),m=n(11),v=n(7),y=n(17),b=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),_=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},w=function(e,t){return function(n,i){t(n,i,e)}},M=Object(v.zb)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},o.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),C=Object(v.zb)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},o.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),L=Object(v.zb)("editor.wordHighlightBorder",{light:null,dark:null,hc:v.b},o.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),I=Object(v.zb)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:v.b},o.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),N=Object(v.zb)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},o.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),S=Object(v.zb)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},o.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x=new m.f("hasWordHighlights",!1);function D(e,t,n){var i=f.i.ordered(e);return Object(s.h)(i.map(function(i){return function(){return Promise.resolve(i.provideDocumentHighlights(e,t,n)).then(void 0,u.f)}}),r.l)}var j=function(){function e(e,t,n){var i=this;this._wordRange=this._getCurrentWordRange(e,t),this.result=Object(s.f)(function(o){return i._compute(e,t,n,o)})}return e.prototype._getCurrentWordRange=function(e,t){var n=e.getWordAtPosition(t.getPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null},e.prototype.isValid=function(e,t,n){for(var i=t.startLineNumber,o=t.startColumn,r=t.endColumn,s=this._getCurrentWordRange(e,t),a=Boolean(this._wordRange&&this._wordRange.equalsRange(s)),u=0,l=n.length;!a&&u=r&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),T=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return b(t,e),t.prototype._compute=function(e,t,n,i){return D(e,t.getPosition(),i).then(function(e){return e||[]})},t}(j),k=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o._selectionIsEmpty=n.isEmpty(),o}return b(t,e),t.prototype._compute=function(e,t,n,i){return Object(s.j)(250,i).then(function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map(function(e){return{range:e.range,kind:f.h.Text}}):[]})},t.prototype.isValid=function(t,n,i){var o=n.isEmpty();return this._selectionIsEmpty===o&&e.prototype.isValid.call(this,t,n,i)},t}(j);Object(c.e)("_executeDocumentHighlights",function(e,t){return D(e,t,a.a.None)});var O=function(){function e(e,t){var n=this;this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=x.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.push(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.push(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return r.c(this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(d.a.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.h(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.h(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,o=t.endColumn,r=this.model.getWordAtPosition({lineNumber:n,column:i});if(!r||r.startColumn>i||r.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},M=function(e,t){return function(n,i){t(n,i,e)}},C=function(){function e(t,n){this._editor=t,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(n)}return e.prototype.dispose=function(){this.reset()},e.prototype.reset=function(){this._ckOtherSuggestions.reset(),Object(u.d)(this._listener),this._model=void 0,this._acceptNext=void 0,this._ignore=!1},e.prototype.set=function(t,n){var i=this,o=t.model,r=t.index;0!==o.items.length?e._moveIndex(!0,o,r)!==r?(this._acceptNext=n,this._model=o,this._index=r,this._listener=this._editor.onDidChangeCursorPosition(function(){i._ignore||i.reset()}),this._ckOtherSuggestions.set(!0)):this.reset():this.reset()},e._moveIndex=function(e,t,n){for(var i=n;(i=(i+t.items.length+(e?1:-1))%t.items.length)!==n&&t.items[i].completion.additionalTextEdits;);return i},e.prototype.next=function(){this._move(!0)},e.prototype.prev=function(){this._move(!1)},e.prototype._move=function(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}},e.OtherSuggestions=new y.f("hasOtherSuggestions",!1),e=w([M(1,y.e)],e)}(),L=n(15),I=n(5),N=n(60),S=n(20),x=n(10),D=n(61),j=n(34),T=(function(){}(),function(){function e(t,n,i,o,r){void 0===r&&(r=j.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=o,this._options=r,this._refilterKind=1,this._lineContext=i,"top"===r.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===r.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e=new Set,t=0,n=this._items;t2e3?D.d:D.e,u=0;u=d)l.score=D.a.Default;else if("string"==typeof l.completion.filterText){if(!(g=a(i,o,h,l.completion.filterText,l.filterTextLow,0,!1)))continue;l.score=Object(D.b)(i,o,0,l.completion.label,l.labelLow,0),l.score[0]=g[0]}else{var g;if(!(g=a(i,o,h,l.completion.label,l.labelLow,0,!1)))continue;l.score=g}}switch(l.idx=u,l.distance=this._wordDistance.distance(l.position,l.completion),s.push(l),this._stats.suggestionCount++,l.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}()),k=n(29),O=n(175),A=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),E=function(){function e(){}return e.create=function(t,n){if(!n.getConfiguration().contribInfo.suggest.localityBonus)return Promise.resolve(e.None);if(!n.hasModel())return Promise.resolve(e.None);var i=n.getModel(),o=n.getPosition();return t.canComputeWordRanges(i.uri)?(new O.a).provideSelectionRanges(i,[o]).then(function(r){return r&&0!==r.length&&0!==r[0].length?t.computeWordRanges(i.uri,r[0][0].range).then(function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return A(i,e),i.prototype.distance=function(e,i){if(!t||!o.equals(n.getPosition()))return 0;if(17===i.kind)return 2<<20;var a=i.label,u=t[a];if(Object(s.k)(u))return 2<<20;for(var l=Object(s.b)(u,d.a.fromPositions(e),d.a.compareRangesUsingStarts),c=l>=0?u[l]:u[Math.max(0,~l-1)],h=r.length,p=0,g=r[0];pthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,Object(N.e)(t),n)}else{var i=this._completionModel.lineContext,o=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(P.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:o})}}else this.cancel()},e}(),R=(n(392),n(8)),W=n(0),F=n(113),H=n(79),B=n(51),Y=n(71),V=n(100),Z=n(17),U=n(7),G=n(91),Q=n(121),J=n(83),X=n(72),q=n(147),K=n(50),$=n(57),ee=n(107);function te(e,t,n,i){var r=i===o.ROOT_FOLDER?["rootfolder-icon"]:i===o.FOLDER?["folder-icon"]:["file-icon"];if(n){var s,a=void 0;if(n.scheme===K.a.data)a=s=$.a.parseMetaData(n).get($.a.META_DATA_LABEL);else s=ne(Object($.c)(n).toLowerCase()),a=n.path.toLowerCase();if(i===o.FOLDER)r.push(s+"-name-folder-icon");else{if(s){r.push(s+"-name-file-icon");for(var u=s.split("."),l=1;l=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ae=function(e,t){return function(n,i){t(n,i,e)}},ue=Object(U.zb)("editorSuggestWidget.background",{dark:U.F,light:U.F,hc:U.F},m.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),le=Object(U.zb)("editorSuggestWidget.border",{dark:U.G,light:U.G,hc:U.G},m.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),ce=Object(U.zb)("editorSuggestWidget.foreground",{dark:U.v,light:U.v,hc:U.v},m.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),de=Object(U.zb)("editorSuggestWidget.selectedBackground",{dark:U.eb,light:U.eb,hc:U.eb},m.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),he=Object(U.zb)("editorSuggestWidget.highlightForeground",{dark:U.gb,light:U.gb,hc:U.gb},m.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),pe=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function ge(e){if(!e)return!1;var t=e.completion;return!!t.documentation||t.detail&&t.detail!==t.label}var fe=function(){function e(e,t,n,i,o,r){this.widget=e,this.editor=t,this.triggerKeybindingLabel=n,this._modelService=i,this._modeService=o,this._themeService=r}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,n=Object.create(null);n.disposables=[],n.root=e,Object(W.f)(n.root,"show-file-icons"),n.icon=Object(W.m)(e,Object(W.a)(".icon")),n.colorspan=Object(W.m)(n.icon,Object(W.a)("span.colorspan"));var i=Object(W.m)(e,Object(W.a)(".contents")),o=Object(W.m)(i,Object(W.a)(".main"));n.iconLabel=new q.a(o,{supportHighlights:!0}),n.disposables.push(n.iconLabel),n.typeLabel=Object(W.m)(o,Object(W.a)("span.type-label")),n.readMore=Object(W.m)(o,Object(W.a)("span.readMore")),n.readMore.title=m.a("readMore","Read More...{0}",this.triggerKeybindingLabel);var r=function(){var e=t.editor.getConfiguration(),i=e.fontInfo.fontFamily,r=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,s=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,a=e.fontInfo.fontWeight,u=r+"px",l=s+"px";n.root.style.fontSize=u,n.root.style.fontWeight=a,o.style.fontFamily=i,o.style.lineHeight=l,n.icon.style.height=l,n.icon.style.width=l,n.readMore.style.height=l,n.readMore.style.width=l};return r(),I.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo||e.contribInfo}).on(r,null,n.disposables),n},e.prototype.renderElement=function(e,t,n){var i=this,r=n,s=e.completion;r.icon.className="icon "+Object(x.B)(s.kind),r.colorspan.style.backgroundColor="";var a,u,l={labelEscapeNewLines:!0,matches:Object(D.c)(e.score)},c=[];19===s.kind&&(u=c,(a=e).completion.label.match(pe)?(u[0]=a.completion.label,1):"string"==typeof a.completion.documentation&&a.completion.documentation.match(pe)&&(u[0]=a.completion.documentation,1))?(r.icon.className="icon customcolor",r.colorspan.style.backgroundColor=c[0]):20===s.kind&&this._themeService.getIconTheme().hasFileIcons?(r.icon.className="icon hide",l.extraClasses=[].concat(te(this._modelService,this._modeService,oe.a.from({scheme:"fake",path:s.label}),o.FILE),te(this._modelService,this._modeService,oe.a.from({scheme:"fake",path:s.detail}),o.FILE))):23===s.kind&&this._themeService.getIconTheme().hasFolderIcons?(r.icon.className="icon hide",l.extraClasses=[].concat(te(this._modelService,this._modeService,oe.a.from({scheme:"fake",path:s.label}),o.FOLDER),te(this._modelService,this._modeService,oe.a.from({scheme:"fake",path:s.detail}),o.FOLDER))):(r.icon.className="icon hide",l.extraClasses=["suggest-icon "+Object(x.B)(s.kind)]),r.iconLabel.setLabel(s.label,void 0,l),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ge(e)?(Object(W.O)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(W.B)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables=Object(u.d)(e.disposables)},e=se([ae(3,ie.a),ae(4,J.a),ae(5,Z.c)],e)}(),me=function(){function e(e,t,n,i,o){var r=this;this.widget=t,this.editor=n,this.markdownRenderer=i,this.triggerKeybindingLabel=o,this.borderWidth=1,this.disposables=[],this.el=Object(W.m)(e,Object(W.a)(".details")),this.disposables.push(Object(u.f)(function(){return e.removeChild(r.el)})),this.body=Object(W.a)(".body"),this.scrollbar=new H.a(this.body,{}),Object(W.m)(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=Object(W.m)(this.body,Object(W.a)(".header")),this.close=Object(W.m)(this.header,Object(W.a)("span.close")),this.close.title=m.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(W.m)(this.header,Object(W.a)("p.type")),this.docs=Object(W.m)(this.body,Object(W.a)("p.docs")),this.ariaLabel=null,this.configureFont(),I.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock(function(){return r.scrollbar.scanDomNode()},this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=Object(u.d)(this.renderDisposeable),!e||!ge(e))return this.type.textContent="",this.docs.textContent="",Object(W.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(W.G)(this.el,"no-docs"),"string"==typeof e.completion.documentation)Object(W.G)(this.docs,"markdown-docs"),this.docs.textContent=e.completion.documentation;else{Object(W.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var n=this.markdownRenderer.render(e.completion.documentation);this.renderDisposeable=n,this.docs.appendChild(n.element)}e.completion.detail?(this.type.innerText=e.completion.detail,Object(W.O)(this.type)):(this.type.innerText="",Object(W.B)(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=R.p("{0}{1}",e.completion.detail||"",e.completion.documentation?"string"==typeof e.completion.documentation?e.completion.documentation:e.completion.documentation.value:"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,n=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,i=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,o=e.fontInfo.fontWeight,r=n+"px",s=i+"px";this.el.style.fontSize=r,this.el.style.fontWeight=o,this.type.style.fontFamily=t,this.close.style.height=s,this.close.style.width=s},e.prototype.dispose=function(){this.disposables=Object(u.d)(this.disposables),this.renderDisposeable=Object(u.d)(this.renderDisposeable)},e}(),ve=function(){function e(e,t,n,i,o,r,s,a,u){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.editorBlurTimeout=new L.e,this.showTimeout=new L.e,this.onDidSelectEmitter=new I.a,this.onDidFocusEmitter=new I.a,this.onDidHideEmitter=new I.a,this.onDidShowEmitter=new I.a,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1;var c=r.lookupKeybinding("editor.action.triggerSuggest"),d=c?" ("+c.getLabel()+")":"",h=new Q.a(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=o,this.element=Object(W.a)(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Object(W.f)(this.element,"no-icons"),this.messageElement=Object(W.m)(this.element,Object(W.a)(".message")),this.listElement=Object(W.m)(this.element,Object(W.a)(".tree")),this.details=new me(this.element,this,this.editor,h,d);var p=u.createInstance(fe,this,this.editor,d);this.list=new F.b(this.listElement,this,[p],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose=[Object(V.b)(this.list,i,{listInactiveFocusBackground:de,listInactiveFocusOutline:U.b}),i.onThemeChange(function(e){return l.onThemeChange(e)}),e.onDidLayoutChange(function(){return l.onEditorLayoutChange()}),this.list.onMouseDown(function(e){return l.onListMouseDown(e)}),this.list.onSelectionChange(function(e){return l.onListSelection(e)}),this.list.onFocusChange(function(e){return l.onListFocus(e)}),this.editor.onDidChangeCursorSelection(function(){return l.onCursorSelectionChanged()})],this.suggestWidgetVisible=_.a.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=_.a.MultipleSuggestions.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(i.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDown=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this,i=this.completionModel;i&&e.resolve(k.a.None).then(function(){n.onDidSelectEmitter.fire({item:e,index:t,model:i}),Object(r.a)(m.a("suggestionAriaAccepted","{0}, accepted",e.completion.label)),n.editor.focus()})},e.prototype._getSuggestionAriaAlertLabel=function(e){var t=25===e.completion.kind;return ge(e)?this.expandDocsSettingFromStorage()?t?m.a("ariaCurrentSnippeSuggestionReadDetails","{0}, snippet suggestion. Reading details. {1}",e.completion.label,this.details.getAriaLabel()):m.a("ariaCurrenttSuggestionReadDetails","{0}, suggestion. Reading details. {1}",e.completion.label,this.details.getAriaLabel()):t?m.a("ariaCurrentSnippetSuggestionWithDetails","{0}, snippet suggestion, has details",e.completion.label):m.a("ariaCurrentSuggestionWithDetails","{0}, suggestion, has details",e.completion.label):t?m.a("ariaCurrentSnippetSuggestion","{0}, snippet suggestion",e.completion.label):m.a("ariaCurrentSuggestion","{0}, suggestion",e.completion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(r.a)(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(ue);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(le);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var i=e.getColor(U.J);i&&(this.detailsFocusBorderColor=i.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i),this.currentSuggestionDetails=Object(L.f)(function(e){return n.resolve(e)}),this.currentSuggestionDetails.then(function(){t.list.length1),r)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",re({},s,this.editor.getTelemetryData()))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state&&this.completionModel)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(ge(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(W.B)(this.details.element),Object(W.G)(this.element,"docs-side"),Object(W.G)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),Object(W.O)(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet(function(){Object(W.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)},100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(W.G)(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){if(this.editor.hasModel()){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Object(W.v)(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=Object(W.v)(this.element),s=r.left,a=r.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!ge(this.focusedItem)&&this.firstFocusInCurrentList)return Object(W.G)(this.element,"docs-side"),void Object(W.G)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},be=function(e,t){return function(n,i){t(n,i,e)}},_e=function(){function e(t,n){var i=this;this._editor=t,this._ckAtEnd=e.AtEnd.bindTo(n),this._confListener=this._editor.onDidChangeConfiguration(function(e){return e.contribInfo&&i._update()}),this._update()}return e.prototype.dispose=function(){Object(u.d)(this._confListener,this._selectionListener),this._ckAtEnd.reset()},e.prototype._update=function(){var e=this,t="on"===this._editor.getConfiguration().contribInfo.tabCompletion;if(this._enabled!==t)if(this._enabled=t,this._enabled){var n=function(){if(e._editor.hasModel()){var t=e._editor.getModel(),n=e._editor.getSelection(),i=t.getWordAtPosition(n.getStartPosition());i?e._ckAtEnd.set(i.endColumn===n.getStartPosition().column):e._ckAtEnd.set(!1)}else e._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(n),n()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)},e.AtEnd=new y.f("atEndOfWord",!1),e=ye([be(1,y.e)],e)}(),we=n(68),Me=n(84),Ce=n(22);n.d(t,"SuggestController",function(){return De}),n.d(t,"TriggerSuggestAction",function(){return je});var Le=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ie=function(){return(Ie=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Se=function(e,t){return function(n,i){t(n,i,e)}},xe=function(){function e(e,t,n){var i=this;this._disposables=[],this._disposables.push(t.onDidShow(function(){return i._onItem(t.getFocusedItem())})),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType(function(t){if(i._active){var o=t.charCodeAt(t.length-1);i._active.acceptCharacters.has(o)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(i._active.item)}}))}return e.prototype._onItem=function(e){if(e&&Object(s.l)(e.item.completion.commitCharacters)){for(var t=new Me.b,n=0,i=e.item.completion.commitCharacters;n0&&t.add(o.charCodeAt(0))}this._active={acceptCharacters:t,item:e}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){Object(u.d)(this._disposables)},e}(),De=function(){function e(e,t,n,i,o,r){var s=this;this._editor=e,this._memoryService=n,this._commandService=i,this._contextKeyService=o,this._instantiationService=r,this._toDispose=[],this._sticky=!1,this._model=new z(this._editor,t),this._widget=new L.b(function(){var e=s._instantiationService.createInstance(ve,s._editor);s._toDispose.push(e),s._toDispose.push(e.onDidSelect(function(e){return s._onDidSelectItem(e,!1,!0)},s));var t=new xe(s._editor,e,function(e){return s._onDidSelectItem(e,!1,!0)});s._toDispose.push(t,s._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=_.a.MakesTextEdit.bindTo(s._contextKeyService);return s._toDispose.push(e.onDidFocus(function(e){var t=e.item,i=s._editor.getPosition(),o=t.completion.range.startColumn,r=i.column,a=!0;"smart"!==s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==s._model.state||t.completion.command||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(a=s._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText);n.set(a)})),s._toDispose.push({dispose:function(){n.reset()}}),e}),this._alternatives=new L.b(function(){var e=new C(s._editor,s._contextKeyService);return s._toDispose.push(e),e}),this._toDispose.push(r.createInstance(_e,e)),this._toDispose.push(this._model.onDidTrigger(function(e){s._widget.getValue().showTriggered(e.auto,e.shy?250:50)})),this._toDispose.push(this._model.onDidSuggest(function(e){if(!e.shy){var t=s._memoryService.select(s._editor.getModel(),s._editor.getPosition(),e.completionModel.items);s._widget.getValue().showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.push(this._model.onDidCancel(function(e){s._widget&&!e.retrigger&&s._widget.getValue().hideWidget()})),this._toDispose.push(this._editor.onDidBlurEditorWidget(function(){s._sticky||s._model.cancel()}));var a=_.a.AcceptSuggestionsOnEnter.bindTo(o),u=function(){var e=s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;a.set("on"===e||"smart"===e)};this._toDispose.push(this._editor.onDidChangeConfiguration(function(e){return u()})),u()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=Object(u.d)(this._toDispose),this._widget.dispose(),this._model&&this._model.dispose()},e.prototype._onDidSelectItem=function(e,t,n){var i,o=this;if(!e||!e.item)return this._alternatives.getValue().reset(),void this._model.cancel();if(this._editor.hasModel()){var r=this._editor.getModel(),s=r.getAlternativeVersionId(),u=e.item,l=u.completion,h=u.position,f=this._editor.getPosition().column-h.column;n&&this._editor.pushUndoStop(),Array.isArray(l.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",l.additionalTextEdits.map(function(e){return c.a.replace(d.a.lift(e.range),e.text)})),this._memoryService.memorize(r,this._editor.getPosition(),e.item);var m=l.insertText;4&l.insertTextRules||(m=g.c.escape(m));var v=h.column-l.range.startColumn,y=l.range.endColumn-h.column;p.SnippetController2.get(this._editor).insert(m,v+f,y,!1,!1,!(1&l.insertTextRules)),n&&this._editor.pushUndoStop(),l.command?l.command.id===je.id?this._model.trigger({auto:!0,shy:!1},!0):((i=this._commandService).executeCommand.apply(i,[l.command.id].concat(l.command.arguments?l.command.arguments.slice():[])).catch(a.e),this._model.cancel()):this._model.cancel(),t&&this._alternatives.getValue().set(e,function(e){for(;r.canUndo();){s!==r.getAlternativeVersionId()&&r.undo(),o._onDidSelectItem(e,!1,!1);break}}),this._alertCompletionItem(e.item)}},e.prototype._alertCompletionItem=function(e){var t=e.completion,n=m.a("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText);Object(r.a)(n)},e.prototype.triggerSuggest=function(e){this._editor.hasModel()&&(this._model.trigger({auto:!1,shy:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus())},e.prototype.triggerSuggestAndAcceptBest=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getPosition(),i=function(){n.equals(t._editor.getPosition())&&t._commandService.executeCommand(e.fallback)};I.b.once(this._model.onDidTrigger)(function(e){var n=[];I.b.any(t._model.onDidTrigger,t._model.onDidCancel)(function(){Object(u.d)(n),i()},void 0,n),t._model.onDidSuggest(function(e){var o=e.completionModel;if(Object(u.d)(n),0!==o.items.length){var r=t._memoryService.select(t._editor.getModel(),t._editor.getPosition(),o.items),s=o.items[r];!function(e){if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;var n=t._editor.getPosition(),i=e.completion.range.startColumn,o=n.column;return o-i!==e.completion.insertText.length||t._editor.getModel().getValueInRange({startLineNumber:n.lineNumber,startColumn:i,endLineNumber:n.lineNumber,endColumn:o})!==e.completion.insertText}(s)?i():(t._editor.pushUndoStop(),t._onDidSelectItem({index:r,item:s,model:o},!0,!1))}else i()},void 0,n)}),this._model.trigger({auto:!1,shy:!0}),this._editor.revealLine(n.lineNumber,0),this._editor.focus()}},e.prototype.acceptSelectedSuggestion=function(e){if(this._widget){var t=this._widget.getValue().getFocusedItem();this._onDidSelectItem(t,!!e,!0)}},e.prototype.acceptNextSuggestion=function(){this._alternatives.getValue().next()},e.prototype.acceptPrevSuggestion=function(){this._alternatives.getValue().prev()},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.getValue().hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.getValue().selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.getValue().selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.getValue().selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.getValue().selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.getValue().selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.getValue().selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.getValue().toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.getValue().toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=Ne([Se(1,we.a),Se(2,f.a),Se(3,v.b),Se(4,y.e),Se(5,b.a)],e)}(),je=function(e){function t(){return e.call(this,{id:t.id,label:m.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:y.d.and(h.a.writable,h.a.hasCompletionItemProvider),kbOpts:{kbExpr:h.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return Le(t,e),t.prototype.run=function(e,t){var n=De.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(l.b);Object(l.h)(De),Object(l.f)(je);var Te=l.c.bindToContribution(De.get);Object(l.g)(new Te({id:"acceptSelectedSuggestion",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion(!0)},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:2}})),Object(l.g)(new Te({id:"acceptSelectedSuggestionOnEnter",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion(!1)},kbOpts:{weight:190,kbExpr:y.d.and(h.a.textInputFocus,_.a.AcceptSuggestionsOnEnter,_.a.MakesTextEdit),primary:3}})),Object(l.g)(new Te({id:"hideSuggestWidget",precondition:_.a.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:9,secondary:[1033]}})),Object(l.g)(new Te({id:"selectNextSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(l.g)(new Te({id:"selectNextPageSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:12,secondary:[2060]}})),Object(l.g)(new Te({id:"selectLastSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(l.g)(new Te({id:"selectPrevSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(l.g)(new Te({id:"selectPrevPageSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:11,secondary:[2059]}})),Object(l.g)(new Te({id:"selectFirstSuggestion",precondition:y.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(l.g)(new Te({id:"toggleSuggestionDetails",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(l.g)(new Te({id:"toggleSuggestionFocus",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(l.g)(new Te({id:"insertBestCompletion",precondition:y.d.and(y.d.equals("config.editor.tabCompletion","on"),_e.AtEnd,_.a.Visible.toNegated(),C.OtherSuggestions.toNegated(),p.SnippetController2.InSnippetMode.toNegated()),handler:function(e,t){e.triggerSuggestAndAcceptBest(Object(Ce.h)(t)?Ie({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(l.g)(new Te({id:"insertNextSuggestion",precondition:y.d.and(y.d.equals("config.editor.tabCompletion","on"),C.OtherSuggestions,_.a.Visible.toNegated(),p.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptNextSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:2}})),Object(l.g)(new Te({id:"insertPrevSuggestion",precondition:y.d.and(y.d.equals("config.editor.tabCompletion","on"),C.OtherSuggestions,_.a.Visible.toNegated(),p.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptPrevSuggestion()},kbOpts:{weight:190,kbExpr:h.a.textInputFocus,primary:1026}}))},function(e,t,n){"use strict";n.r(t);n(305);var i=n(1),o=n(22),r=n(8),s=n(15),a=n(38),u=n(4),l=n(3),c=n(5),d=65535,h=function(){function e(e,t,n){if(e.length!==t.length||e.length>d)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=n}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],n=function(n,i){var o=t[t.length-1];return e.getStartLineNumber(o)<=n&&e.getEndLineNumber(o)>=i},i=0,o=this._startIndexes.length;i16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!n(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(i),this._startIndexes[i]=r+((255&a)<<24),this._endIndexes[i]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,n=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===d?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,n=this._startIndexes.length;if(0===n)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),g=function(){function e(e,t){this._updateEventEmitter=new c.a,this._textModel=e,this._decorationProvider=t,this._regions=new h(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var n={};this._decorationProvider.changeDecorations(function(i){for(var o=0,r=e;o=d))break;o(a,c===d),a++}}u=s()}for(;a0)return e},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var r=this._regions.toRegion(i);t&&!t(r,o)||n.push(r),o++,i=r.parentIndex}return n},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){var n=[],i=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length)for(var r=[],s=i,a=this._regions.length;s0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&n.push(u)}else for(s=i,a=this._regions.length;s0)for(var r=0,s=i;r1)){var l=e.getRegionsInside(u,function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==o.isCollapsed(s)){var a=o.getStartLineNumber(s);t.test(i.getLineContent(a))&&r.push(o.toRegion(s))}e.toggleCollapseState(r)}function y(e,t,n){for(var i=e.regions,o=[],r=i.length-1;r>=0;r--)n!==i.isCollapsed(r)&&t===i.getType(r)&&o.push(i.toRegion(r));e.toggleCollapseState(o)}var b=n(24),_=function(){function e(e){this.editor=e,this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(t){return t?e.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e.COLLAPSED_VISUAL_DECORATION=b.a.register({stickiness:1,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),w=n(6),M=n(2),C=n(21),L=function(){function e(e){var t=this;this._updateEventEmitter=new c.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange(function(e){return t.updateHiddenRanges()}),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],n=0,i=0,o=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==I(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,o=null,r=function(e){return o&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,o)||(o=I(t._hiddenRanges,e)),o?o.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function I(e,t){var n=Object(C.f)(e,function(e){return t=0&&e[n].endLineNumber>=t?e[n]:null}var N=n(32),S=5e3,x="indent",D=function(){function e(e){this.editorModel=e,this.id=x}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=N.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i){void 0===i&&(i=S);var o=e.getOptions().tabSize,r=new j(i),s=void 0;n&&(s=new RegExp("("+n.start.source+")|(?:"+n.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var u=e.getLineCount();u>0;u--){var l=e.getLineContent(u),c=b.b.computeIndentLevel(l,o),d=a[a.length-1];if(-1!==c){var h=void 0;if(s&&(h=l.match(s))){if(!h[1]){a.push({indent:-2,line:u,marker:!0});continue}for(var p=a.length-1;p>0&&!a[p].marker;)p--;if(p>0){a.length=p+1,d=a[p],r.insertFirst(u,d.line,c),d.marker=!1,d.indent=c,d.line=u;continue}}if(d.indent>c){do{a.pop(),d=a[a.length-1]}while(d.indent>c);var g=d.line-1;g-u>=1&&r.insertFirst(u,g,c)}d.indent===c?d.line=u:a.push({indent:c,line:u,marker:!1})}else t&&!d.marker&&(d.line=u)}return r.toIndentRanges(e)}(this.editorModel,n,i))},e}(),j=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),n=new Uint32Array(this._length),i=this._length-1,o=0;i>=0;i--,o++)t[o]=this._startIndexes[i],n[o]=this._endIndexes[i];return new h(t,n)}var r=0,s=this._indentOccurrences.length;for(i=0;ithis._foldingRangesLimit){s=i;break}r+=a}}var u=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),n=new Uint32Array(this._foldingRangesLimit),i=this._length-1,o=0;i>=0;i--){var l=this._startIndexes[i],c=e.getLineContent(l),d=b.b.computeIndentLevel(c,u);(d0&&u.end>u.start&&u.end<=r&&i.push({start:u.start,end:u.end,rank:o,kind:u.kind})}}},k.f)});return Promise.all(o).then(function(e){return i})}(this.providers,this.editorModel,e).then(function(e){return e?R(e,t.limit):null})},e.prototype.dispose=function(){},e}();var z=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,n,i){if(!(e>16777215||t>16777215)){var o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=i,this._types[o]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){o=n;break}i+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(n=0,0);no.start)if(u.end<=o.end)r.push(o),o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length);else{if(u.start>o.end){do{o=r.pop()}while(o&&u.start>o.end);o&&r.push(o),o=u}i.add(u.start,u.end,u.kind&&u.kind.value,r.length)}}else o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length)}return i.toIndentRanges()}var W="init",F=function(){function e(e,t,n,i){if(this.editorModel=e,this.id=W,t.length){this.decorationIds=e.deltaDecorations([],t.map(function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:1}}})),this.timeout=setTimeout(n,i)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var n=0,i=this.decorationIds;n0&&(this.rangeProvider=new P(e,n))}return this.foldingStateMemento=null,this.rangeProvider},e.prototype.getFoldingModel=function(){return this.foldingModelPromise},e.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(function(){var t=e.foldingModel;if(!t)return null;var n=e.foldingRegionPromise=Object(s.f)(function(n){return e.getRangeProvider(t.textModel).compute(n)});return n.then(function(i){if(i&&n===e.foldingRegionPromise){var o=e.editor.getSelections(),r=o?o.map(function(e){return e.startLineNumber}):[];t.update(i,r)}return t})}).then(void 0,function(e){return Object(k.e)(e),null}))},e.prototype.onHiddenRangesChanges=function(e){if(this.hiddenRangeModel&&e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},e.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},e.prototype.revealCursor=function(){var e=this,t=this.getFoldingModel();t&&t.then(function(t){if(t){var n=e.editor.getSelections();if(n&&n.length>0){for(var i=[],o=function(n){var o=n.selectionStartLineNumber;e.hiddenRangeModel&&e.hiddenRangeModel.isHidden(o)&&i.push.apply(i,t.getAllRegionsAtLine(o,function(e){return e.isCollapsed&&o>e.startLineNumber}))},r=0,s=n;re.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var n=0;n0,n&&i)?e:void 0;var t,n,i},function(e){Object(z.f)(e)})});return Promise.all(i).then(P.c)}Object(a.e)("_executeHoverProvider",function(e,t){return R(e,t,h.a.None)});var W=n(15),F=function(){function e(e,t,n,i,o){var r=this;this._computer=e,this._state=0,this._hoverTime=o,this._firstWaitScheduler=new W.d(function(){return r._triggerAsyncComputation()},0),this._secondWaitScheduler=new W.d(function(){return r._triggerSyncComputation()},0),this._loadingMessageScheduler=new W.d(function(){return r._showLoadingMessage()},0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,this._errorCallback=n,this._progressCallback=i}return e.prototype.setHoverTime=function(e){this._hoverTime=e},e.prototype._firstWaitTime=function(){return this._hoverTime/2},e.prototype._secondWaitTime=function(){return this._hoverTime/2},e.prototype._loadingMessageTime=function(){return 3*this._hoverTime},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=Object(W.f)(function(t){return e._computer.computeAsync(t)}),this._asyncComputationPromise.then(function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)},function(t){return e._onError(t)})):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):Object(z.e)(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(e){if(0===e)0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e}(),H=n(79),B=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Y=function(e){function t(t,n){var i=e.call(this)||this;return i.disposables=[],i.allowEditorOverflow=!0,i._id=t,i._editor=n,i._isVisible=!1,i._containerDomNode=document.createElement("div"),i._containerDomNode.className="monaco-editor-hover hidden",i._containerDomNode.tabIndex=0,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover-content",i.scrollbar=new H.a(i._domNode,{}),i.disposables.push(i.scrollbar),i._containerDomNode.appendChild(i.scrollbar.getDomNode()),i.onkeydown(i._containerDomNode,function(e){e.equals(9)&&i.hide()}),i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.onDidLayoutChange(function(e){return i.layout()}),i.layout(),i._editor.addContentWidget(i),i._showAtPosition=null,i._showAtRange=null,i}return B(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.P)(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t,n){this._showAtPosition=e,this._showAtRange=t,this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=n,n&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,range:this._showAtRange,preference:[1,2]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=Object(s.d)(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.layout=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,i=t.lineHeight;this._domNode.style.fontSize=n+"px",this._domNode.style.lineHeight=i+"px",this._domNode.style.maxHeight=e+"px",this._domNode.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px"},t}(L.a),V=function(e){function t(t,n){var i=e.call(this)||this;return i._id=t,i._editor=n,i._isVisible=!1,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover hidden",i._domNode.setAttribute("aria-hidden","true"),i._domNode.setAttribute("role","presentation"),i._showAtLineNumber=-1,i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.addOverlayWidget(i),i}return B(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.P)(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),i=this._editor.getScrollTop(),o=this._editor.getConfiguration().lineHeight,r=n-i-(this._domNode.clientHeight-o)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(L.a),Z=n(121),U=n(43),G=n(57),Q=n(72),J=n(141),X=n(169),q=n(110),K=n(65),$=n(62),ee=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),te=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ne=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]this._editor.getModel().getLineCount())return[];var i=b.ColorDetector.get(this._editor),o=t.getLineMaxColumn(n),r=this._editor.getLineDecorations(n),s=!1,a=this._range,l=r.map(function(r){var l=r.range.startLineNumber===n?r.range.startColumn:1,c=r.range.endLineNumber===n?r.range.endColumn:o;if(l>a.startColumn||a.endColumn>c)return null;var d=new u.a(a.startLineNumber,l,a.startLineNumber,c),h=e._markerDecorationsService.getMarker(t,r);if(h)return new re(d,h);var p=i.getColorData(r.range.getStartPosition());if(!s&&p){s=!0;var f=p.colorInfo,m=f.color,v=f.range;return new oe(v,m,p.provider)}if(Object(g.b)(r.options.hoverMessage))return null;var y=[];return r.options.hoverMessage&&(y=Array.isArray(r.options.hoverMessage)?r.options.hoverMessage.slice():[r.options.hoverMessage]),{contents:y,range:d}});return Object(P.c)(l)},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof oe?-1:t instanceof oe?1:0})):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range||void 0,contents:[(new g.a).appendText(o.a("modesContentHover.loading","Loading..."))]}},e}(),ae=function(e){function t(n,i,o,r,a,u,l,c,h){void 0===h&&(h=Q.b);var p=e.call(this,t.ID,n)||this;return p._themeService=o,p._keybindingService=r,p._contextMenuService=a,p._bulkEditService=u,p._commandService=l,p._modeService=c,p._openerService=h,p.renderDisposable=s.a.None,p._messages=[],p._lastRange=null,p._computer=new se(p._editor,i),p._highlightDecorations=[],p._isChangingDecorations=!1,p._hoverOperation=new F(p._computer,function(e){return p._withResult(e,!0)},null,function(e){return p._withResult(e,!1)},p._editor.getConfiguration().contribInfo.hover.delay),p._register(d.k(p.getDomNode(),d.d.FOCUS,function(){p._colorPicker&&d.f(p.getDomNode(),"colorpicker-hover")})),p._register(d.k(p.getDomNode(),d.d.BLUR,function(){d.G(p.getDomNode(),"colorpicker-hover")})),p._register(n.onDidChangeConfiguration(function(e){p._hoverOperation.setHoverTime(p._editor.getConfiguration().contribInfo.hover.delay)})),p}return ee(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=s.a.None,this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,n){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition&&this._showAtPosition.lineNumber===e.startLineNumber){for(var i=[],o=0,r=this._messages.length;o=e.endColumn&&i.push(s)}if(i.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var i=this;this.renderDisposable.dispose(),this._colorPicker=null;var o=Number.MAX_VALUE,r=n[0].range?u.a.lift(n[0].range):null,a=document.createDocumentFragment(),l=!0,c=!1,m=[],v=[];n.forEach(function(e){if(e.range)if(o=Math.min(o,e.range.startColumn),r=r?u.a.plusRange(r,e.range):u.a.lift(e.range),e instanceof oe){c=!0;var t=e.color,n=t.red,f=t.green,b=t.blue,_=t.alpha,M=new p.c(255*n,255*f,255*b,_),C=new p.a(M);if(!i._editor.hasModel())return;var L=i._editor.getModel(),I=new u.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn),N={range:e.range,color:e.color},S=new w(C,[],0),x=new E(a,S,i._editor.getConfiguration().pixelRatio,i._themeService);Object(y.a)(L,N,e.provider,h.a.None).then(function(t){if(S.colorPresentations=t||[],i._editor.hasModel()){var n=i._editor.getModel().getValueInRange(e.range);S.guessColorPresentation(C,n);var o=function(){var e,t;S.presentation.textEdit?(e=[S.presentation.textEdit],t=(t=new u.a(S.presentation.textEdit.range.startLineNumber,S.presentation.textEdit.range.startColumn,S.presentation.textEdit.range.endLineNumber,S.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+S.presentation.textEdit.text.length)):(e=[{identifier:null,range:I,text:S.presentation.label,forceMoveMarkers:!1}],t=I.setEndPosition(I.endLineNumber,I.startColumn+S.presentation.label.length)),i._editor.pushUndoStop(),i._editor.executeEdits("colorpicker",e),S.presentation.additionalTextEdits&&(e=S.presentation.additionalTextEdits.slice(),i._editor.executeEdits("colorpicker",e),i.hide()),i._editor.pushUndoStop(),I=t},r=function(t){return Object(y.a)(L,{range:I,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},e.provider,h.a.None).then(function(e){S.colorPresentations=e||[]})},l=S.onColorFlushed(function(e){r(e).then(o)}),c=S.onDidChangeColor(r);i._colorPicker=x,i.showAt(I.getStartPosition(),I,i._shouldFocus),i.updateContents(a),i._colorPicker.layout(),i.renderDisposable=Object(s.c)([l,c,x].concat(m))}})}else e instanceof re?(v.push(e),l=!1):e.contents.filter(function(e){return!Object(g.b)(e)}).forEach(function(e){var t=ie("div.hover-row.markdown-hover"),n=d.m(t,ie("div.hover-contents")),o=new Z.a(i._editor,i._modeService,i._openerService);m.push(o.onDidRenderCodeBlock(function(){n.className="hover-contents code-hover-contents",i.onContentsChange()}));var r=o.render(e);n.appendChild(r.element),a.appendChild(t),m.push(r),l=!1})}),v.length&&(v.forEach(function(e){return a.appendChild(i.renderMarkerHover(e))}),a.appendChild(this.renderMarkerStatusbar(v[0]))),c||l||(this.showAt(new f.a(e.startLineNumber,o),r,this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,r?[{range:r,options:t._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1},t.prototype.renderMarkerHover=function(e){var t=this,n=ie("div.hover-row"),i=d.m(n,ie("div.marker.hover-contents")),o=e.marker,r=o.source,s=o.message,a=o.code,u=o.relatedInformation;this._editor.applyFontInfo(i);var l=d.m(i,ie("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,r||a){var c=d.m(i,ie("span"));c.style.opacity="0.6",c.style.paddingLeft="6px",c.innerText=r&&a?r+"("+a+")":r||"("+a+")"}if(Object(P.l)(u))for(var h=function(e,n,o,r){var s=d.m(i,ie("div"));s.style.marginTop="8px";var a=d.m(s,ie("a"));a.innerText=Object(G.b)(n)+"("+o+", "+r+"): ",a.style.cursor="pointer",a.onclick=function(e){e.stopPropagation(),e.preventDefault(),t._openerService&&t._openerService.open(n.with({fragment:o+","+r})).catch(z.e)};var u=d.m(s,ie("span"));u.innerText=e,p._editor.applyFontInfo(u)},p=this,g=0,f=u;g0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var n=this;Object(s.d)(this._renderDisposeables),this._renderDisposeables=[];var i=document.createDocumentFragment();t.forEach(function(e){var t=n._markdownRenderer.render(e.value);n._renderDisposeables.push(t),i.appendChild(Object(d.a)("div.hover-row",void 0,t.element))}),this.updateContents(i),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(V),de=n(174),he=n(51),pe=n(73),ge=n(118),fe=n(33);n.d(t,"ModesHoverController",function(){return be});var me=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ve=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ye=function(e,t){return function(n,i){t(n,i,e)}},be=function(){function e(e,t,n,i,o,r,s,a,u){var l=this;this._editor=e,this._openerService=t,this._modeService=n,this._markerDecorationsService=i,this._keybindingService=o,this._contextMenuService=r,this._bulkEditService=s,this._commandService=a,this._themeService=u,this._toUnhook=[],this._isMouseDown=!1,this._hoverClicked=!1,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(function(e){e.contribInfo&&(l._hideWidgets(),l._unhookEvents(),l._hookEvents())})}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._hookEvents=function(){var e=this,t=function(){return e._hideWidgets()},n=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=n.enabled,this._isHoverSticky=n.sticky,this._isHoverEnabled?(this._toUnhook.push(this._editor.onMouseDown(function(t){return e._onEditorMouseDown(t)})),this._toUnhook.push(this._editor.onMouseUp(function(t){return e._onEditorMouseUp(t)})),this._toUnhook.push(this._editor.onMouseMove(function(t){return e._onEditorMouseMove(t)})),this._toUnhook.push(this._editor.onKeyDown(function(t){return e._onKeyDown(t)})),this._toUnhook.push(this._editor.onDidChangeModelDecorations(function(){return e._onModelDecorationsChanged()}))):this._toUnhook.push(this._editor.onMouseMove(t)),this._toUnhook.push(this._editor.onMouseLeave(t)),this._toUnhook.push(this._editor.onDidChangeModel(t)),this._toUnhook.push(this._editor.onDidScrollChange(function(t){return e._onEditorScrollChanged(t)}))},e.prototype._unhookEvents=function(){this._toUnhook=Object(s.d)(this._toUnhook)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorScrollChanged=function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;9!==t||e.target.detail!==ae.ID?12===t&&e.target.detail===ce.ID||(12!==t&&e.target.detail!==ce.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible()||this._isHoverSticky&&9===t&&e.target.detail===ae.ID||this._isHoverSticky&&12===t&&e.target.detail===ce.ID)){if(7===t){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var i=[],o=0,r=0,s=t.length,a=1,d=e.getLineCount();a<=d;a++){var h=e.getLineContent(a),p=h.length+1,g=0;if(!(r=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var I=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(f,1),i.startLineNumber+1,l);if(null!==I){L=u.q(e.getLineContent(i.startLineNumber));if((D=_(I,r))!==(j=_(L,r))){var N=D-j;this.getIndentEditsOfMovingBlock(e,t,i,r,a,N)}}}}else t.addEditOperation(new c.a(i.startLineNumber,1,i.startLineNumber,1),v+"\n")}else{var S;if(f=i.startLineNumber-1,m=e.getLineContent(f),t.addEditOperation(new c.a(f,1,f+1,1),null),t.addEditOperation(new c.a(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+m),this.shouldAutoIndent(e,i))if(d.getLineContent=function(t){return t===f?e.getLineContent(i.startLineNumber):e.getLineContent(t)},null!==(S=this.matchEnterRule(e,l,r,i.startLineNumber,i.startLineNumber-2)))0!==S&&this.getIndentEditsOfMovingBlock(e,t,i,r,a,S);else{var x=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(i.startLineNumber,1),f,l);if(null!==x){var D,j,T=u.q(e.getLineContent(i.startLineNumber));if((D=_(x,r))!==(j=_(T,r))){N=D-j;this.getIndentEditsOfMovingBlock(e,t,i,r,a,N)}}}}}this._selectionId=t.trackSelection(i)}},e.prototype.buildIndentConverter=function(e,t,n){return{shiftIndent:function(i){return v.a.shiftIndent(i,i.length+1,e,t,n)},unshiftIndent:function(i){return v.a.unshiftIndent(i,i.length+1,e,t,n)}}},e.prototype.matchEnterRule=function(e,t,n,i,o,r){for(var s=o;s>=1;){var a=void 0;if(a=s===o&&void 0!==r?r:e.getLineContent(s),u.y(a)>=0)break;s--}if(s<1||i>e.getLineCount())return null;var l=e.getLineMaxColumn(s),d=b.a.getEnterAction(e,new c.a(s,l,s,l));if(d){var h=d.indentation,p=d.enterAction;p.indentAction===y.a.None?h=d.indentation+p.appendText:p.indentAction===y.a.Indent?h=d.indentation+p.appendText:p.indentAction===y.a.IndentOutdent?h=d.indentation:p.indentAction===y.a.Outdent&&(h=t.unshiftIndent(d.indentation)+p.appendText);var g=e.getLineContent(i);if(this.trimLeft(g).indexOf(this.trimLeft(h))>=0){var f=u.q(e.getLineContent(i)),m=u.q(h),v=b.a.getIndentMetadata(e,i);return null!==v&&2&v&&(m=t.unshiftIndent(m)),_(m,n)-_(f,n)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==b.a.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,i,o,r){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=e.getLineContent(s),l=u.q(a),d=w(_(l,i)+r,i,o);d!==l&&(t.addEditOperation(new c.a(s,1,s,l.length+1),d),s===n.endLineNumber&&n.endColumn<=l.length+1&&""===d&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=o)return null;for(var r=[],s=i;s<=o;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:i,endLineNumber:o,before:r,after:a}}n.d(t,"AbstractSortLinesAction",function(){return O}),n.d(t,"SortLinesAscendingAction",function(){return A}),n.d(t,"SortLinesDescendingAction",function(){return E}),n.d(t,"TrimTrailingWhitespaceAction",function(){return P}),n.d(t,"DeleteLinesAction",function(){return z}),n.d(t,"IndentLinesAction",function(){return R}),n.d(t,"InsertLineBeforeAction",function(){return F}),n.d(t,"InsertLineAfterAction",function(){return H}),n.d(t,"AbstractDeleteAllToBoundaryAction",function(){return B}),n.d(t,"DeleteAllLeftAction",function(){return Y}),n.d(t,"DeleteAllRightAction",function(){return V}),n.d(t,"JoinLinesAction",function(){return Z}),n.d(t,"TransposeAction",function(){return U}),n.d(t,"AbstractCaseAction",function(){return G}),n.d(t,"UpperCaseAction",function(){return Q}),n.d(t,"LowerCaseAction",function(){return J});var I,N=(I=function(e,t){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}I(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),S=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return N(t,e),t.prototype.run=function(e,t){for(var n=[],i=0,o=t.getSelections()||[];i1&&(d-=1,p=i.getLineMaxColumn(d)),r.push(l.a.replace(new g.a(d,p,h,f),"")),s.push(new g.a(d-o,c.positionColumn,d-o,c.positionColumn)),o+=c.endLineNumber-c.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map(function(e){var t=e.endLineNumber;return e.startLineNumber=t[o].startLineNumber?i.endLineNumber=t[o].endLineNumber:(n.push(i),i=t[o]);return n.push(i),n},t}(s.b),R=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:i.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:f.a.writable,kbOpts:{kbExpr:f.a.editorTextFocus,primary:2137,weight:100}})||this}return N(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.indent(n.context.config,t.getModel(),t.getSelections())),t.pushUndoStop())},t}(s.b),W=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:i.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:f.a.writable,kbOpts:{kbExpr:f.a.editorTextFocus,primary:2135,weight:100}})||this}return N(t,e),t.prototype.run=function(e,t){r.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)},t}(s.b),F=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:i.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:f.a.writable,kbOpts:{kbExpr:f.a.editorTextFocus,primary:3075,weight:100}})||this}return N(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertBefore(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),H=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:i.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:f.a.writable,kbOpts:{kbExpr:f.a.editorTextFocus,primary:2051,weight:100}})||this}return N(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertAfter(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),B=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return N(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelection(),i=this._getRangesToDelete(t),o=[],r=0,s=i.length-1;r0){var s=t.startLineNumber-o;r=new g.a(s,t.startColumn,s,t.startColumn)}else r=new g.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=r:i.push(r)}),n&&i.unshift(n),i},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();if(null===t)return[];var n=t,i=e.getModel();return null===i?[]:(n.sort(c.a.compareRangesUsingStarts),n=n.map(function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineContent(t).length+1;return new c.a(t,n,e.startLineNumber,1)}return new c.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return e}))},t}(B),V=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:i.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:f.a.writable,kbOpts:{kbExpr:f.a.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})||this}return N(t,e),t.prototype._getEndCursorState=function(e,t){for(var n=null,i=[],o=0,r=t.length;oe.endLineNumber+1?(o.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});o.push(r);var s=t.getModel();if(null!==s){for(var a=[],u=[],d=i,h=0,p=0,f=o.length;p=1){var S=!0;""===C&&(S=!1),!S||" "!==C.charAt(C.length-1)&&"\t"!==C.charAt(C.length-1)||(S=!1,C=C.replace(/[\s\uFEFF\xA0]+$/g," "));var x=I.substr(N-1);C+=(S?" ":"")+x,y=S?x.length+1:x.length}else y=0}var D=new c.a(v,1,b,_);if(!D.isEmpty()){var j=void 0;m.isEmpty()?(a.push(l.a.replace(D,C)),j=new g.a(D.startLineNumber-h,C.length-y+1,v-h,C.length-y+1)):m.startLineNumber===m.endLineNumber?(a.push(l.a.replace(D,C)),j=new g.a(m.startLineNumber-h,m.startColumn,m.endLineNumber-h,m.endColumn)):(a.push(l.a.replace(D,C)),j=new g.a(m.startLineNumber-h,m.startColumn,m.startLineNumber-h,C.length-w)),null!==c.a.intersectRanges(D,i)?d=j:u.push(j)}h+=D.endLineNumber-D.startLineNumber}u.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()}}}},t}(s.b),U=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:i.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:f.a.writable})||this}return N(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=[],r=0,s=n.length;r=d){if(l.lineNumber===i.getLineCount())continue;var h=new c.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),p=i.getValueInRange(h).split("").reverse().join("");o.push(new a.a(new g.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),p))}else{h=new c.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber,l.column+1),p=i.getValueInRange(h).split("").reverse().join("");o.push(new a.b(h,p,new g.a(l.lineNumber,l.column+1,l.lineNumber,l.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}},t}(s.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return N(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=[],r=0,s=n.length;r=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},k=function(e,t){return function(n,i){t(n,i,e)}},O=l.a,A=function(){function e(e,t,n,i){var o=this;this.editor=e,this.allowEditorOverflow=!0,this.markdownRenderer=new f.a(e,i,n),this.model=new j(e),this.keyVisible=_.Visible.bindTo(t),this.keyMultipleSignatures=_.MultipleSignatures.bindTo(t),this.visible=!1,this.disposables=[],this.disposables.push(this.model.onChangedHints(function(e){e?(o.show(),o.render(e)):o.hide()}))}return e.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=O(".editor-widget.parameter-hints-widget");var t=l.m(this.element,O(".wrapper"));t.tabIndex=-1;var n=l.m(t,O(".buttons")),i=l.m(n,O(".button.previous")),o=l.m(n,O(".button.next"));Object(c.b)(Object(c.a)(i,"click"))(this.previous,this,this.disposables),Object(c.b)(Object(c.a)(o,"click"))(this.next,this,this.disposables),this.overloads=l.m(t,O(".overloads"));var r=O(".body");this.scrollbar=new h.a(r,{}),this.disposables.push(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=l.m(r,O(".signature")),this.docs=l.m(r,O(".docs")),this.editor.addContentWidget(this),this.hide(),this.element.style.userSelect="text",this.disposables.push(this.editor.onDidChangeCursorSelection(function(t){e.visible&&e.editor.layoutContentWidget(e)}));var s=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};s(),p.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(s,null,this.disposables),this.disposables.push(this.editor.onDidLayoutChange(function(t){return e.updateMaxHeight()})),this.updateMaxHeight()},e.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(function(){return l.f(e.element,"visible")},100),this.editor.layoutContentWidget(this))},e.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,l.G(this.element,"visible"),this.editor.layoutContentWidget(this))},e.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null},e.prototype.render=function(e){var t=e.signatures.length>1;l.P(this.element,"multiple",t),this.keyMultipleSignatures.set(t),this.signature.innerHTML="",this.docs.innerHTML="";var n=e.signatures[e.activeSignature];if(n){var r=l.m(this.signature,O(".code")),s=n.parameters.length>0,a=this.editor.getConfiguration().fontInfo;if(r.style.fontSize=a.fontSize+"px",r.style.fontFamily=a.fontFamily,s)this.renderParameters(r,n,e.activeParameter);else l.m(r,O("span")).textContent=n.label;Object(o.d)(this.renderDisposeables),this.renderDisposeables=[];var u=n.parameters[e.activeParameter];if(u&&u.documentation){var c=O("span.documentation");if("string"==typeof u.documentation)c.textContent=u.documentation;else{var h=this.markdownRenderer.render(u.documentation);l.f(h.element,"markdown-docs"),this.renderDisposeables.push(h),c.appendChild(h.element)}l.m(this.docs,O("p",{},c))}if(l.P(this.signature,"has-docs",!!n.documentation),void 0===n.documentation);else if("string"==typeof n.documentation)l.m(this.docs,O("p",{},n.documentation));else{h=this.markdownRenderer.render(n.documentation);l.f(h.element,"markdown-docs"),this.renderDisposeables.push(h),l.m(this.docs,h.element)}var p=String(e.activeSignature+1);if(e.signatures.length<10&&(p+="/"+e.signatures.length),this.overloads.textContent=p,u){var g=this.getParameterLabel(n,e.activeParameter);this.announcedLabel!==g&&(d.a(i.a("hint","{0}, hint",g)),this.announcedLabel=g)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,n){var i=this.getParameterLabelOffsets(t,n),o=i[0],r=i[1],s=document.createElement("span");s.textContent=t.label.substring(0,o);var a=document.createElement("span");a.textContent=t.label.substring(o,r),a.className="parameter active";var u=document.createElement("span");u.textContent=t.label.substring(r),l.m(e,s,a,u)},e.prototype.getParameterLabel=function(e,t){var n=e.parameters[t];return"string"==typeof n.label?n.label:e.label.substring(n.label[0],n.label[1])},e.prototype.getParameterLabelOffsets=function(e,t){var n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;var i=e.label.lastIndexOf(n.label);return i>=0?[i,i+n.label.length]:[0,0]}return[0,0]},e.prototype.next=function(){this.model&&(this.editor.focus(),this.model.next())},e.prototype.previous=function(){this.model&&(this.editor.focus(),this.model.previous())},e.prototype.cancel=function(){this.model&&this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(e){this.model&&this.model.trigger(e,0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=Object(o.d)(this.disposables),this.renderDisposeables=Object(o.d)(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=T([k(1,a.e),k(2,L.a),k(3,g.a)],e)}();Object(N.e)(function(e,t){var n=e.getColor(I.x);if(n){var i=e.type===N.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var o=e.getColor(I.w);o&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+o+"; }");var r=e.getColor(I.Jb);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(I.Ib);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")}),n.d(t,"TriggerParameterHintsAction",function(){return W});var E=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),P=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},z=function(e,t){return function(n,i){t(n,i,e)}},R=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(A,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(e){this.widget.trigger(e)},e.prototype.dispose=function(){Object(o.d)(this.widget)},e.ID="editor.controller.parameterHints",e=P([z(1,r.a)],e)}(),W=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:i.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})||this}return E(t,e),t.prototype.run=function(e,t){var n=R.get(t);n&&n.trigger({triggerKind:y.w.Invoke})},t}(u.b);Object(u.h)(R),Object(u.f)(W);var F=u.c.bindToContribution(R.get);Object(u.g)(new F({id:"closeParameterHints",precondition:_.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:9,secondary:[1033]}})),Object(u.g)(new F({id:"showPrevParameterHint",precondition:a.d.and(_.Visible,_.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(u.g)(new F({id:"showNextParameterHint",precondition:a.d.and(_.Visible,_.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,n){"use strict";n.r(t);var i=n(15),o=n(13),r=n(4),s=n(90),a=n(3),u=n(10),l=n(21),c=n(29),d=n(30),h=n(55);function p(e,t){var n=[],i=u.b.ordered(e),r=i.map(function(i){return Promise.resolve(i.provideCodeLenses(e,t)).then(function(e){if(Array.isArray(e))for(var t=0,o=e;tt.symbol.range.startLineNumber?1:i.indexOf(e.provider)i.indexOf(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0})})}Object(a.j)("_executeCodeLensProvider",function(e,t){var n=t.resource,i=t.itemResolveCount;if(!(n instanceof d.a))throw Object(o.b)();var r=e.get(h.a).getModel(n);if(!r)throw Object(o.b)();var s=[];return p(r,c.a.None).then(function(e){for(var t=[],n=function(e){void 0===i||Boolean(e.symbol.command)?s.push(e.symbol):i-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(r,e.symbol,c.a.None)).then(function(t){return s.push(t||e.symbol)}))},o=0,a=e;ono commands";else{for(var n=[],i=0;i"+r+"",this._commands[i]=o):s=""+r+"",n.push(s)}}this._domNode.innerHTML=n.join(" | "),this._editor.layoutContentWidget(this)}},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands[e.id]:void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){if(this._editor.hasModel()){var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),C=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),n=0,i=t.length;n a:hover { color: "+i+" !important; }")});var I=n(33),N=n(48);n.d(t,"CodeLensContribution",function(){return D});var S=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},x=function(e,t){return function(n,i){t(n,i,e)}},D=function(){function e(e,t,n){var i=this;this._editor=e,this._commandService=t,this._notificationService=n,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel(function(){return i._onModelChange()})),this._globalToDispose.push(this._editor.onDidChangeModelLanguage(function(){return i._onModelChange()})),this._globalToDispose.push(this._editor.onDidChangeConfiguration(function(e){var t=i._isEnabled;i._isEnabled=i._editor.getConfiguration().contribInfo.codeLens,t!==i._isEnabled&&i._onModelChange()})),this._globalToDispose.push(u.b.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=Object(r.d)(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null),this._localToDispose=Object(r.d)(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&u.b.has(t)){for(var n=0,a=u.b.all(t);n0&&e._detectVisibleLenses.schedule()})),this._localToDispose.push(this._editor.onDidLayoutChange(function(t){e._detectVisibleLenses.schedule()})),this._localToDispose.push(Object(r.f)(function(){if(e._editor.getModel()){var t=s.b.capture(e._editor);e._editor.changeDecorations(function(t){e._editor.changeViewZones(function(n){e._disposeAllLenses(t,n)})}),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)})),this._localToDispose.push(this._editor.onDidChangeConfiguration(function(t){if(t.fontInfo)for(var n=0,i=e._lenses;ni||(n&&n[n.length-1].symbol.range.startLineNumber===l?n.push(u):(n=[u],o.push(n)))}var c=s.b.capture(this._editor);this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=0,r=0,s=new C;re.length)return!1;for(var o=0;o=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,o,r){var s,a=t.startLineNumber,u=t.startColumn,l=t.endLineNumber,d=t.endColumn,h=o.getLineContent(a),p=o.getLineContent(l),g=h.lastIndexOf(n,u-1+n.length),f=p.indexOf(i,d-1-i.length);if(-1!==g&&-1!==f)if(a===l){h.substring(g+n.length,f).indexOf(i)>=0&&(g=-1,f=-1)}else{var m=h.substring(g+n.length),v=p.substring(0,f);(m.indexOf(i)>=0||v.indexOf(i)>=0)&&(g=-1,f=-1)}-1!==g&&-1!==f?(g+n.length0&&32===p.charCodeAt(f-1)&&(i=" "+i,f-=1),s=e._createRemoveBlockCommentOperations(new c.a(a,g+n.length+1,l,f+1),n,i)):(s=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===s.length?i:null);for(var y=0,b=s;ya?r-1:r}},e}(),m=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return m(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getModel(),i=[],o=t.getSelections(),r=n.getOptions(),s=0,a=o;s0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?Object(_.h)(a.map(function(e){return function(){return Promise.resolve(e.provideDocumentFormattingEdits(n,i,s)).catch(v.f)}}),r.l).then(function(e){return t.computeMoreMinimalEdits(n.uri,e)}):I(e,t,n,n.getFullModelRange(),i,8|o,s)}function S(e,t,n,i,o,r){var a=f.r.ordered(n);return e.publicLog("formatterInfo",{type:"ontype",language:n.getLanguageIdentifier().language,count:a.length}),0===a.length?Promise.resolve(void 0):a[0].autoFormatTriggerCharacters.indexOf(o)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(n,i,o,r,s.a.None)).catch(v.f).then(function(e){return t.computeMoreMinimalEdits(n.uri,e)})}Object(c.j)("_executeFormatRangeProvider",function(e,t){var n=t.resource,i=t.range,o=t.options;if(!(n instanceof y.a&&p.a.isIRange(i)))throw Object(v.b)();var r=e.get(b.a).getModel(n);if(!r)throw Object(v.b)("resource");return I(e.get(M.a),e.get(m.a),r,p.a.lift(i),o,1,s.a.None)}),Object(c.j)("_executeFormatDocumentProvider",function(e,t){var n=t.resource,i=t.options;if(!(n instanceof y.a))throw Object(v.b)("resource");var o=e.get(b.a).getModel(n);if(!o)throw Object(v.b)("resource");return N(e.get(M.a),e.get(m.a),o,i,1,s.a.None)}),Object(c.j)("_executeFormatOnTypeProvider",function(e,t){var n=t.resource,i=t.position,o=t.ch,r=t.options;if(!(n instanceof y.a&&w.a.isIPosition(i)&&"string"==typeof o))throw Object(v.b)();var s=e.get(b.a).getModel(n);if(!s)throw Object(v.b)("resource");return S(e.get(M.a),e.get(m.a),s,w.a.lift(i),o,r)});var x=n(53),D=function(){function e(){}return e._handleEolEdits=function(e,t){for(var n=void 0,i=[],o=0,r=t;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},P=function(e,t){return function(n,i){t(n,i,e)}};function z(e){if((e=e.filter(function(e){return e.range})).length){for(var t=e[0].range,n=1;n1)){var n=this._editor.getModel(),i=this._editor.getPosition(),o=!1,s=this._editor.onDidChangeModelContent(function(e){if(e.isFlush)return o=!0,void s.dispose();for(var t=0,n=e.changes.length;t1)){var t=this.editor.getModel();R(this.telemetryService,this.workerService,this.editor,e,t.getFormattingOptions(),s.a.None)}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(u.d)(this.callOnDispose),this.callOnModel=Object(u.d)(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=E([P(1,m.a),P(2,M.a)],e)}(),B=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:j.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:g.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return A(t,e),t.prototype.run=function(e,t){if(t.hasModel()){var n=e.get(m.a);return W(e.get(M.a),n,t,t.getModel().getFormattingOptions(),s.a.None)}},t}(c.b),Y=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:j.a("formatSelection.label","Format Selection"),alias:"Format Code",precondition:k.d.and(g.a.writable),kbOpts:{kbExpr:g.a.editorTextFocus,primary:Object(a.a)(2089,2084),weight:100},menuOpts:{when:k.d.and(g.a.hasDocumentSelectionFormattingProvider,g.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return A(t,e),t.prototype.run=function(e,t){if(t.hasModel()){var n=e.get(m.a);return R(e.get(M.a),n,t,1,t.getModel().getFormattingOptions(),s.a.None)}},t}(c.b);Object(c.h)(F),Object(c.h)(H),Object(c.f)(B),Object(c.f)(Y),T.a.registerCommand("editor.action.format",function(e){var t=e.get(d.a).getFocusedCodeEditor();if(t&&t.hasModel()){var n=e.get(m.a),i=e.get(M.a);return t.getSelection().isEmpty()?W(i,n,t,t.getModel().getFormattingOptions(),s.a.None):R(i,n,t,1,t.getModel().getFormattingOptions(),s.a.None)}})},function(e,t,n){"use strict";n.r(t);var i,o=n(1),r=n(3),s=n(6),a=n(2),u=function(){function e(e,t){this._selection=e,this._isMovingLeft=t}return e.prototype.getEditOperations=function(e,t){var n=this._selection;if(this._selectionId=t.trackSelection(n),n.startLineNumber===n.endLineNumber&&(!this._isMovingLeft||0!==n.startColumn)&&(this._isMovingLeft||n.endColumn!==e.getLineMaxColumn(n.startLineNumber))){var i,o,r,s=n.selectionStartLineNumber,u=e.getLineContent(s);this._isMovingLeft?(i=u.substring(0,n.startColumn-2),o=u.substring(n.startColumn-1,n.endColumn-1),r=u.substring(n.startColumn-2,n.startColumn-1)+u.substring(n.endColumn-1)):(i=u.substring(0,n.startColumn-1)+u.substring(n.endColumn-1,n.endColumn),o=u.substring(n.startColumn-1,n.endColumn-1),r=u.substring(n.endColumn));var l=i+o+r;t.addEditOperation(new a.a(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new a.a(s,1,s,1),l),this._cutStartIndex=n.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+n.endColumn-n.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moved&&(n=(n=n.setStartPosition(n.startLineNumber,this._cutStartIndex)).setEndPosition(n.startLineNumber,this._cutEndIndex)),n},e}(),l=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(t,n){var i=e.call(this,n)||this;return i.left=t,i}return l(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=[],i=0,o=t.getSelections();ithis.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},b=function(e,t){return function(n,i){t(n,i,e)}},_=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,n){var i=this;this.currentRequest&&this.currentRequest.cancel();var o=this.editor.getSelection(),a=this.editor.getModel();if(a&&o){var u=o;if(u.startLineNumber===u.endLineNumber){var l=new d.a(this.editor,5),h=a.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=Object(f.f)(function(e){return i.editorWorkerService.navigateValueSet(h,u,n)}),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&l.validate(i.editor)){var o=r.a.lift(n.range),a=n.range,d=n.value.length-(u.endColumn-u.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},d>1&&(u=new s.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+d-1));var h=new c(o,u,n.value);i.editor.pushUndoStop(),i.editor.executeCommand(t,h),i.editor.pushUndoStop(),i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[{range:a,options:e.DECORATION}]),i.decorationRemover&&i.decorationRemover.cancel(),i.decorationRemover=Object(f.j)(350),i.decorationRemover.then(function(){return i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[])}).catch(m.e)}}).catch(m.e)):Promise.resolve(void 0)}}},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=g.a.register({className:"valueSetReplacement"}),e=y([b(1,l.a)],e)}(),w=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:o.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3154,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=_.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)},t}(u.b),M=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:o.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3156,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=_.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)},t}(u.b);Object(u.h)(_),Object(u.f)(w),Object(u.f)(M),Object(h.e)(function(e,t){var n=e.getColor(p.d);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")})},function(e,t,n){"use strict";n.r(t);n(382);var i=n(1),o=n(15),r=n(29),s=n(13),a=n(76),u=n(4),l=n(14),c=n(3),d=n(24),h=n(10),p=n(173),g=n(30),f=n(2),m=n(55),v=n(33),y=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,"range",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(e){var t=this;if(this._link.url)try{return"string"==typeof this._link.url?Promise.resolve(g.a.parse(this._link.url)):Promise.resolve(this._link.url)}catch(e){return Promise.reject(new Error("invalid"))}return"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,e)).then(function(n){return t._link=n||t._link,t._link.url?t.resolve(e):Promise.reject(new Error("missing"))}):Promise.reject(new Error("missing"))},e}();function b(e,t){var n=[],i=h.q.ordered(e).reverse().map(function(i){return Promise.resolve(i.provideLinks(e,t)).then(function(e){if(Array.isArray(e)){var t=e.map(function(e){return new y(e,i)});n=function(e,t){var n,i,o,r,s=[];for(n=0,o=0,i=e.length,r=t.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},S=function(e,t){return function(n,i){t(n,i,e)}},x=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},D=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0&&0===n.indexOf(":")){for(var m=null,v=null,y=0,b=0;b0)):y++}v&&v.setGroupLabel(this.typeToLabel(m||"",y))}else a.length>0&&a[0].setGroupLabel(i.a("symbols","symbols ({0})",a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return i.a("modules","modules ({0})",t);case"class":return i.a("class","classes ({0})",t);case"interface":return i.a("interface","interfaces ({0})",t);case"method":return i.a("method","methods ({0})",t);case"function":return i.a("function","functions ({0})",t);case"property":return i.a("property","properties ({0})",t);case"variable":return i.a("variable","variables ({0})",t);case"var":return i.a("variable2","variables ({0})",t);case"constructor":return i.a("_constructor","constructors ({0})",t);case"call":return i.a("call","calls ({0})",t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),o=n.getLabel().toLowerCase(),r=i.localeCompare(o);if(0!==r)return r;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),o=n.getType(),r=i.localeCompare(o);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),u=s.localeCompare(a);if(0!==u)return u}var l=t.getRange(),c=n.getRange();return l.startLineNumber-c.startLineNumber},t}(v.a);Object(u.f)(w)},function(e,t,n){"use strict";n.r(t);var i=n(1),o=n(13),r=n(11),s=n(119),a=n(3),u=n(6),l=n(4),c=(n(388),n(9)),d=n(2),h=n(7),p=new r.f("renameInputVisible",!1),g=function(){function e(e,t,n){var i=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._visibleContextKey=p.bindTo(n),this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),this._disposables.push(t.onThemeChange(function(e){return i.onThemeChange(e)}))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=Object(l.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",Object(i.a)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(h.M),n=e.getColor(h.O),i=e.getColor(h.Kb),o=e.getColor(h.N);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=n?n.toString():null,this._inputField.style.borderWidth=o?"1px":"0px",this._inputField.style.borderStyle=o?"solid":"none",this._inputField.style.borderColor=o?o.toString():"none",this._domNode.style.boxShadow=i?" 0 2px 8px "+i:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[2,1]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,n,i){var o=this;this._position=new c.a(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",n.toString()),this._inputField.setAttribute("selectionEnd",i.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var r=[],s=function(){Object(l.d)(r),o._hide()};return new Promise(function(n){o._currentCancelInput=function(e){return o._currentAcceptInput=null,o._currentCancelInput=null,n(e),!0},o._currentAcceptInput=function(){0!==o._inputField.value.trim().length&&o._inputField.value!==t?(o._currentAcceptInput=null,o._currentCancelInput=null,n(o._inputField.value)):o.cancelInput(!0)};r.push(o._editor.onDidChangeCursorSelection(function(){var t=o._editor.getPosition();t&&d.a.containsPosition(e,t)||o.cancelInput(!0)})),r.push(o._editor.onDidBlurEditorWidget(function(){return o.cancelInput(!1)})),o._show()}).then(function(e){return s(),e},function(e){return s(),Promise.reject(e)})},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))},100)},e.prototype._hide=function(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)},e}(),f=n(17),m=n(10),v=n(52),y=n(125),b=n(90),_=n(48),w=n(118),M=n(30),C=n(35),L=n(29),I=n(15);n.d(t,"rename",function(){return O}),n.d(t,"RenameAction",function(){return E});var N,S=(N=function(e,t){return(N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}N(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),x=function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},D=function(e,t){return function(n,i){t(n,i,e)}},j=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},T=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0},e.prototype.resolveRenameLocation=function(e){return j(this,void 0,void 0,function(){var t,n,i;return T(this,function(o){switch(o.label){case 0:return(t=this._providers[0])?t.resolveRenameLocation?[4,t.resolveRenameLocation(this.model,this.position,e)]:[3,2]:[2,void 0];case 1:n=o.sent(),o.label=2;case 2:return!n&&(i=this.model.getWordAtPosition(this.position))?[2,{range:new d.a(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word}]:[2,n]}})})},e.prototype.provideRenameEdits=function(e,t,n,o){return j(this,void 0,void 0,function(){var r,s;return T(this,function(a){switch(a.label){case 0:return(r=this._providers[t])?[4,r.provideRenameEdits(this.model,this.position,e,o)]:[2,{edits:[],rejectReason:n.join("\n")}];case 1:return(s=a.sent())?s.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(s.rejectReason),o)]:[2,s]:[2,this.provideRenameEdits(e,t+1,n.concat(i.a("no result","No result.")),o)]}})})},e}();function O(e,t,n){return j(this,void 0,void 0,function(){return T(this,function(i){return[2,new k(e,t).provideRenameEdits(n,0,[],L.a.None)]})})}var A=function(e){function t(t,n,i,o,r,s){var a=e.call(this)||this;return a.editor=t,a._notificationService=n,a._bulkEditService=i,a._progressService=o,a._contextKeyService=r,a._themeService=s,a._renameOperationIdPool=1,a._register(a.editor.onDidChangeModel(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeModelLanguage(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeCursorSelection(function(){return a.onModelChanged()})),a}return S(t,e),t.get=function(e){return e.getContribution(t.ID)},Object.defineProperty(t.prototype,"renameInputField",{get:function(){return this._renameInputField||(this._renameInputField=this._register(new g(this.editor,this._themeService,this._contextKeyService))),this._renameInputField},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return t.ID},t.prototype.run=function(){return j(this,void 0,void 0,function(){var e,t=this;return T(this,function(n){return this._activeRename&&this._activeRename.operation.cancel(),e=this._renameOperationIdPool++,this._activeRename={id:e,operation:Object(I.f)(function(n){return t.doRename(n,e)})},[2,this._activeRename.operation]})})},t.prototype.doRename=function(e,t){return j(this,void 0,void 0,function(){var n,o,r,s,a,u,l,c,h=this;return T(this,function(p){switch(p.label){case 0:if(!this.editor.hasModel())return[2,void 0];if(n=this.editor.getPosition(),!(o=new k(this.editor.getModel(),n)).hasProvider())return[2,void 0];p.label=1;case 1:return p.trys.push([1,3,,4]),s=o.resolveRenameLocation(e),this._progressService.showWhile(s,250),[4,s];case 2:return r=p.sent(),[3,4];case 3:return a=p.sent(),y.a.get(this.editor).showMessage(a||i.a("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),n),[2,void 0];case 4:return r?r.rejectReason?(y.a.get(this.editor).showMessage(r.rejectReason,n),[2,void 0]):this._activeRename&&this._activeRename.id===t?(u=this.editor.getSelection(),l=0,c=r.text.length,d.a.isEmpty(u)||d.a.spansMultipleLines(u)||!d.a.containsRange(r.range,u)||(l=Math.max(0,u.startColumn-r.range.startColumn),c=Math.min(r.range.endColumn,u.endColumn)-r.range.startColumn),[2,this.renameInputField.getInput(r.range,r.text,l,c).then(function(t){if("boolean"!=typeof t){h.editor.focus();var n=new b.a(h.editor,15),s=Promise.resolve(o.provideRenameEdits(t,0,[],e).then(function(e){if(h.editor.hasModel()){if(!e.rejectReason)return h._bulkEditService.apply(e,{editor:h.editor}).then(function(e){e.ariaSummary&&Object(v.a)(i.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",r.text,t,e.ariaSummary))});n.validate(h.editor)?y.a.get(h.editor).showMessage(e.rejectReason,h.editor.getPosition()):h._notificationService.info(e.rejectReason)}},function(e){return h._notificationService.error(i.a("rename.failed","Rename failed to execute.")),Promise.reject(e)}));return h._progressService.showWhile(s,250),s}t&&h.editor.focus()})]):[2,void 0]:[2,void 0]}})})},t.prototype.acceptRenameInput=function(){this._renameInputField&&this._renameInputField.acceptInput()},t.prototype.cancelRenameInput=function(){this._renameInputField&&this._renameInputField.cancelInput(!0)},t.prototype.onModelChanged=function(){this._activeRename&&(this._activeRename.operation.cancel(),this._activeRename=void 0)},t.ID="editor.contrib.renameController",t=x([D(1,_.a),D(2,w.a),D(3,s.a),D(4,r.e),D(5,f.c)],t)}(l.a),E=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:i.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:r.d.and(u.a.writable,u.a.hasRenameProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:60,weight:100},menuOpts:{group:"1_modification",order:1.1}})||this}return S(t,e),t.prototype.runCommand=function(t,n){var i=this,r=t.get(C.a),s=Array.isArray(n)&&n||[void 0,void 0],a=s[0],u=s[1];return M.a.isUri(a)&&c.a.isIPosition(u)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then(function(e){e&&(e.setPosition(u),e.invokeWithinContext(function(t){return i.reportTelemetry(t,e),i.run(t,e)}))},o.e):e.prototype.runCommand.call(this,t,n)},t.prototype.run=function(e,t){var n=A.get(t);return n?n.run():Promise.resolve()},t}(a.b);Object(a.h)(A),Object(a.f)(E);var P=a.c.bindToContribution(A.get);Object(a.g)(new P({id:"acceptRenameInput",precondition:p,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(a.g)(new P({id:"cancelRenameInput",precondition:p,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.e)("_executeDocumentRenameProvider",function(e,t,n){var i=n.newName;if("string"!=typeof i)throw Object(o.b)("newName");return O(e,t,i)})},function(e,t,n){"use strict";n.r(t);var i=n(21),o=n(29),r=n(3),s=n(9),a=n(2),u=n(20),l=n(6),c=n(10),d=n(1),h=n(4),p=n(8),g=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,o=t;i=0;u--){if(95===(d=o.charCodeAt(u))||45===d)break;if(Object(p.w)(d)&&Object(p.x)(c))break;c=d}for(u+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new a.a(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber)),kind:"statement.line"})},e}(),f=n(175),m=n(33);n.d(t,"provideSelectionRanges",function(){return N});var v,y=(v=function(e,t){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),b=function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},_=function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e}(),M=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e._id)},e.prototype.dispose=function(){Object(h.d)(this._selectionListener)},e.prototype.getId=function(){return e._id},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getSelections(),r=this._editor.getModel();if(c.u.has(r)){var s=Promise.resolve(void 0);return this._state||(s=N(r,n.map(function(e){return e.getPosition()}),o.a.None).then(function(e){if(i.l(e)&&e.length===n.length&&t._editor.hasModel()&&i.e(t._editor.getSelections(),n,function(e,t){return e.equalsSelection(t)})){for(var o=function(t){e[t]=e[t].filter(function(e){return e.containsPosition(n[t].getStartPosition())&&e.containsPosition(n[t].getEndPosition())}),e[t].unshift(n[t])},r=0;r=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var o=n.range.getStartPosition();this._editor.setPosition(o),this._editor.revealPositionInCenter(o,t)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},e.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},e.prototype.dispose=function(){Object(r.d)(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=[],this.disposed=!0},e}()},function(e,t,n){"use strict";n(400);var i,o=n(1),r=n(0),s=n(25),a=n(120),u=n(15),l=n(5),c=n(4),d=n(28),h=n(69),p=n(90),g=n(35),f=n(130),m=(n(402),n(80)),v=n(79),y=n(65),b=n(3),_=n(86),w=n(9),M=n(31),C=n(70),L=n(54),I=n(11),N=n(7),S=n(17),x=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),D=function(){function e(e,t,n,i){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=n,this.modifiedLineEnd=i}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),j=function(){return function(e){this.entries=e}}(),T=function(e){function t(t){var n=e.call(this)||this;return n._width=0,n._diffEditor=t,n._isVisible=!1,n.shadow=Object(s.b)(document.createElement("div")),n.shadow.setClassName("diff-review-shadow"),n.actionBarContainer=Object(s.b)(document.createElement("div")),n.actionBarContainer.setClassName("diff-review-actions"),n._actionBar=n._register(new m.a(n.actionBarContainer.domNode)),n._actionBar.push(new y.a("diffreview.close",o.a("label.close","Close"),"close-diff-review",!0,function(){return n.hide(),Promise.resolve(null)}),{label:!1,icon:!0}),n.domNode=Object(s.b)(document.createElement("div")),n.domNode.setClassName("diff-review monaco-editor-background"),n._content=Object(s.b)(document.createElement("div")),n._content.setClassName("diff-review-content"),n.scrollbar=n._register(new v.a(n._content.domNode,{})),n.domNode.domNode.appendChild(n.scrollbar.getDomNode()),n._register(t.onDidUpdateDiff(function(){n._isVisible&&(n._diffs=n._compute(),n._render())})),n._register(t.getModifiedEditor().onDidChangeCursorPosition(function(){n._isVisible&&n._render()})),n._register(t.getOriginalEditor().onDidFocusEditorWidget(function(){n._isVisible&&n.hide()})),n._register(t.getModifiedEditor().onDidFocusEditorWidget(function(){n._isVisible&&n.hide()})),n._register(r.k(n.domNode.domNode,"click",function(e){e.preventDefault();var t=r.r(e.target,"diff-review-row");t&&n._goToRow(t)})),n._register(r.k(n.domNode.domNode,"keydown",function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),n._goToRow(n._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),n._goToRow(n._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),n.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),n.accept())})),n._diffs=[],n._currentDiff=null,n}return x(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,n=0,i=this._diffs.length;n0){var y=e[r-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,v=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var b=g-3+1,_=f-3+1;if(bC)S+=N=C-S,x+=N;if(x>L)S+=N=L-x,x+=N;h[p++]=new D(w,S,M,x),i[o++]=new j(h)}var T=i[0].entries,k=[],O=0;for(r=1,s=i.length;rg)&&(g=_),0!==w&&(0===f||wm)&&(m=M)}var C=document.createElement("div");C.className="diff-review-row";var L=document.createElement("div");L.className="diff-review-cell diff-review-summary";var I=g-p+1,N=m-f+1;L.appendChild(document.createTextNode(l+1+"/"+this._diffs.length+": @@ -"+p+","+I+" +"+f+","+N+" @@")),C.setAttribute("data-line",String(f));var S=function(e){return 0===e?o.a("no_lines","no lines"):1===e?o.a("one_line","1 line"):o.a("more_lines","{0} lines",e)},x=S(I),D=S(N);C.setAttribute("aria-label",o.a({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.']},"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}",l+1,this._diffs.length,p,x,f,D)),C.appendChild(L),C.setAttribute("role","listitem"),d.appendChild(C);var j=f;for(v=0,y=c.length;v=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Q=function(e,t){return function(n,i){t(n,i,e)}},J=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter(function(e){return!t._zonesMap[String(e.id)]})},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones(function(e){for(var n=0,i=t._zones.length;n0?o/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=r+1:(i=r,o=r)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=o?i+Math.min(s,r):i+r-o+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=r?n+Math.min(s,o):n+o-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=G([Q(2,F.a),Q(3,I.e),Q(4,Y.a),Q(5,g.a),Q(6,S.c),Q(7,Z.a)],t)}(c.a),K=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n}return U(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(N.j)||N.g).transparent(2),n=(e.getColor(N.l)||N.h).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,o,r,s){o=o.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,o,r,s,n),u=this._getOriginalEditorDecorations(e,t,n,r,s),l=this._getModifiedEditorDecorations(e,t,n,r,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.modified}}},t}(c.a),$=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},d=new $(this.modifiedForeignVZ),h=new $(this.originalForeignVZ),p=0,g=this.lineChanges.length;p<=g;p++){var f=p0?-1:0),s=f.modifiedStartLineNumber+(f.modifiedEndLineNumber>0?-1:0),o=f.originalEndLineNumber>0?f.originalEndLineNumber-f.originalStartLineNumber+1:0,i=f.modifiedEndLineNumber>0?f.modifiedEndLineNumber-f.modifiedStartLineNumber+1:0,a=Math.max(f.originalStartLineNumber,f.originalEndLineNumber),u=Math.max(f.modifiedStartLineNumber,f.modifiedEndLineNumber)):(a=r+=1e7+o,u=s+=1e7+i);for(var m,v=[],y=[];d.current&&d.current.afterLineNumber<=u;){var b=void 0;b=d.current.afterLineNumber<=s?r-s+d.current.afterLineNumber:a;var _=null;f&&f.modifiedStartLineNumber<=d.current.afterLineNumber&&d.current.afterLineNumber<=f.modifiedEndLineNumber&&(_=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),v.push({afterLineNumber:b,heightInLines:d.current.heightInLines,domNode:null,marginDomNode:_}),d.advance()}for(;h.current&&h.current.afterLineNumber<=a;){b=void 0;b=h.current.afterLineNumber<=r?s-r+h.current.afterLineNumber:u,y.push({afterLineNumber:b,heightInLines:h.current.heightInLines,domNode:null}),h.advance()}if(null!==f&&ae(f))(m=this._produceOriginalFromDiff(f,o,i))&&v.push(m);if(null!==f&&ue(f))(m=this._produceModifiedFromDiff(f,o,i))&&y.push(m);var w=0,M=0;for(v=v.sort(l),y=y.sort(l);w=L.heightInLines?(C.heightInLines-=L.heightInLines,M++):(L.heightInLines-=C.heightInLines,w++)}for(;w2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=o,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-q.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,n,i,o){return new oe(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,l=e.length;ut?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(ee),re=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return U(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,o,r){return new se(e,t,n,i,o,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,u=e.length;a'])}p+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),h.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var v=document.createElement("div");return v.className="inline-deleted-margin-view-zone",v.innerHTML=u.join(""),h.a.applyFontInfoSlow(v,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:p*d,domNode:m,marginDomNode:v}},t.prototype._renderOriginalLine=function(e,t,n,i,o,r,s){var a=t.getLineTokens(o),u=a.getLineContent(),l=B.a.filter(r,o,1,u.length+1);s.appendASCIIString('');var c=L.d.isBasicASCII(u,t.mightContainNonBasicASCII()),d=L.d.containsRTL(u,c,t.mightContainRTL()),h=Object(C.c)(new C.b(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,n.fontInfo.canUseHalfwidthRightwardsArrow,u,!1,c,d,0,a,l,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures),s);s.appendASCIIString("
");var p=h.characterMapping.getAbsoluteOffsets();return p.length>0?p[p.length-1]:0},t}(ee);function ae(e){return e.modifiedEndLineNumber>0}function ue(e){return e.originalEndLineNumber>0}Object(S.e)(function(e,t){var n=e.getColor(N.j);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(N.l);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var o=e.getColor(N.k);o&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var r=e.getColor(N.m);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(N.Ab);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(N.i);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")})},function(e,t,n){self.MonacoEnvironment=function(e){return{getWorkerUrl:function(t,n){var i="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"";return(i?i.replace(/\/$/,"")+"/":"")+e[n]}}}({editorWorkerService:"editor.worker.js",css:"css.worker.js",html:"html.worker.js",json:"json.worker.js",typescript:"typescript.worker.js",javascript:"typescript.worker.js",less:"css.worker.js",scss:"css.worker.js",handlebars:"html.worker.js",razor:"html.worker.js"}),n(176),n(178),n(257),n(179),n(180),n(254),n(153),n(255),n(181),n(74),n(182),n(258),n(131),n(250),n(183),n(256),n(140),n(184),n(141),n(185),n(251),n(259),n(186),n(187),n(252),n(260),n(188),n(253),n(189),n(261),n(190),n(191),n(262),n(263),n(111),n(249),n(192),n(139),n(193),n(194),n(122),n(195),e.exports=n(394),n(197),n(198),n(199),n(200),n(201),n(202),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(218),n(219),n(220),n(221),n(222),n(223),n(224),n(225),n(226),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(196),n(246),n(247),n(248)},function(e,t,n){try{jQuery=n(410),n(411)}catch(e){0}if("undefined"==typeof jQuery)0;else{0;var i=function(e){"use strict";var t,n,i,o=8,r=33,s=34,a=35,u=36,l=37,c=38,d=39,h=40,p=46,g=function(e,t,n){if(e.setSelectionRange)e.focus(),e.setSelectionRange(t,n);else if(e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}},f=function(e){return function(){for(var e,t=[],n=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),i=0;is&&r.length-a>s;)a++;0,a--,this.lw_mostRecentValue.length;var u=r.substring(s,r.length-a);this.lw_liveWritingJsonData[n]={p:"input",t:t,r:u,ps:s,pe:this.lw_mostRecentValue.length-a,cs:i,ce:o}}else this.lw_PASTE_TRIGGER?"paste"==this.lw_liveWritingJsonData[n-1].p&&this.lw_liveWritingJsonData[n-1].r.length+this.lw_mostRecentValue.length==r.length+1&&"\n"==this.lw_mostRecentValue[this.lw_mostRecentValue.length-1]&&(this.lw_liveWritingJsonData[n-1].n=!0):this.lw_CUT_TRIGGER&&"cut"==this.lw_liveWritingJsonData[n-1].p&&this.lw_liveWritingJsonData[n-1].s!=i&&(this.lw_liveWritingJsonData[n-1].s=i);this.lw_UNDO_TRIGGER=!1,this.lw_REDO_TRIGGER=!1,this.lw_PASTE_TRIGGER=!1,this.lw_CUT_TRIGGER=!1,this.lw_keyDownState=!1,this.lw_mostRecentValue=r},D=function(e,t){console.log(e);var n=e.getDoc().getEditor(),i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"c",t:i,d:t},n.lw_justAdded=!0},j=function(e,t){var n=t,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"c",t:i,d:e}},T=function(e,t,n){var i=e.getDoc().getEditor(),o=(new Date).getTime()-i.lw_startTime,r=i.lw_liveWritingJsonData.length,s=e.getScrollInfo();i.lw_liveWritingJsonData[r]={p:"s",t:o,f:s.left,to:s.top}},k=function(e,t){var n=e,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"s",t:i,n:t,y:"left"}},O=function(e,t){console.log(t,"numbeeeeerrrrrrrrrrrrrrrrrrrrrrr");var n=e,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"s",t:i,n:t,y:"top"}},A=function(e,t){var n=t,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"u",t:i,d:t.session.selection.getRange(),b:t.session.selection.isBackwards()+0}},E=function(e){var t=e.getDoc().getEditor();if(t.lw_justAdded)t.lw_justAdded=!1;else{var n=e.getDoc().getCursor("from"),i=e.getDoc().getCursor("to"),o=(new Date).getTime()-t.lw_startTime,r=t.lw_liveWritingJsonData.length;t.lw_liveWritingJsonData[r]={p:"u",t:o,s:n,e:i}}},P=function(){var e=this;if(!e.lw_pause&&(e.lw_data_index<0&&(e.lw_data_index=0),e.lw_data_index!=e.lw_data.length)){var t=e.lw_startTime,n=(new Date).getTime(),i=t+e.lw_data[e.lw_data_index].t/e.lw_playback-n;for(0;null!=e.lw_data[e.lw_data_index]&&i<0&&e.lw_data_index2e3&&(i=1e3/e.lw_playback,e.lw_startTime=n-e.lw_data[e.lw_data_index].t/e.lw_playback+i),e.lw_next_event=setTimeout(function(){e.lw_triggerPlay(!1)},i)}},z=function(e,t){var n=this,i=n.lw_data[n.lw_data_index];if(n.getDoc().getEditor().focus(),"c"==i.p){var o=i.d,r=o.from.line,s=o.from.ch,a=(o.from.line,o.from.ch,o.origin,o.text);if(e){var u=o.removed,l={line:a.length-1+r,ch:1==a.length?s+a[0].length:a[u.length-1].length};n.getDoc().setSelection(o.from,l,{scroll:!0}),u=u.join("\n"),n.getDoc().replaceSelection(u)}else a=a.join("\n"),n.getDoc().setSelection(o.from,o.to,{scroll:!0}),n.getDoc().replaceSelection(a)}else if("u"==i.p)n.getDoc().setSelection(i.s,i.e,{scroll:!0});else if("i"==i.p){var c=i.n?i.n:0;n.userInputRespond[c](i.d)}else"s"==i.p&&n.scrollTo(i.f,i.to);e?n.lw_data_index--:n.lw_data_index++,n.lw_data_index==n.lw_data.length&&n.lw_finaltext!=n.getValue()&&console.log("There is discrepancy. Do something"),t||n.lw_scheduleNextEvent()},R=function(t,n){var i=this,o=i.lw_data[i.lw_data_index];if(console.log(o,"event"),i.focus(),"c"==o.p){var r=o.d;console.log(r,"55555555-----------55555555555");var s=r.start.row,a=r.start.column;r.end.row,r.end.column;if("insert"==r.action)if(t)i.session.doc.remove(r),console.log(i.session.doc,"((((((((((((((((((((((");else{var u=r.lines.join("\n");i.moveCursorTo(s,a),i.insert(u)}else if("remove"==r.action)if(t){u=r.lines.join("\n");i.moveCursorTo(s,a),i.insert(u)}else i.session.doc.remove(r);else 0}else if("u"==o.p)i.session.selection.setSelectionRange(o.d,Boolean(o.b));else if("i"==o.p){var l=o.n?o.n:0;i.userInputRespond[l](o.d)}else"s"==o.p&&("left"==o.y?i.session.setScrollLeft(o.n):"top"==o.y&&i.session.setScrollTop(o.n));t?i.lw_data_index--:i.lw_data_index++,i.lw_data_index==i.lw_data.length&&(i.lw_finaltext!=i.getValue()&&console.log("There is discrepancy. Do something"),e(".play").trigger("click")),n||i.lw_scheduleNextEvent()},W=function(t,n){var i=function(e,t,n,i){var o=t.split("\n");if(console.log(o,"row",n,e),e>t.length)return t;let r="";for(var s in o){if(s==n-1)if(i>1&&!o[s].replace(/\s/g,"").length)console.log(o[s],"iiiiiiiiiit");else for(let t=0;t1?(g=(p=o.getValue()).length-g,c=p.substring(0,g-1),o.setValue(c),o.setPosition(r.d.position)):(c=(p=o.getValue()).substring(0,g-1),o.setValue(c),o.setPosition(r.d.position))}else o.setPosition(r.d.position)}else"s"==r.p&&("left"==r.y?o.setScrollLeft(r.n):"top"==r.y&&o.setScrollTop(r.n));t?o.lw_data_index--:o.lw_data_index++,o.lw_data_index==o.lw_data.length&&(o.lw_data_index=o.lw_data.length,e(".play").trigger("click")),n||o.lw_scheduleNextEvent()},F=function(){var t=this,n=t.lw_data[t.lw_data_index],i=n.s,r=n.e;if(t.focus(),i!=r&&(void 0!==t.selectionStart&&(t.selectionStart=i,t.selectionEnd=r),document.selection&&document.selection.createRange)){t.select();document.selection.createRange();t.collapse(!0),t.moveEnd("character",r),t.moveStart("character",i),t.select()}if("keypress"==n.p){var s=n.k,a=n.c;t.version<=1&&(a=String.fromCharCode(s)),"undefined"!=a&&(13==s&&(a="\n"),document.selection?(t.focus(),sel=document.selection.createRange(),sel.text=a):t.value=t.value.substring(0,i)+a+t.value.substring(r,t.value.length),g(t,r+1,r+1)),t.version<=1&&(s==o?0==t.version?(t.value=t.value.substring(0,i)+t.value.substring(r+1,t.value.length),g(t,i,i)):(i==r&&i--,t.value=t.value.substring(0,i)+t.value.substring(r,t.value.length),g(t,i,i)):s==p?(i==r&&r++,t.value=t.value.substring(0,i)+t.value.substring(r,t.value.length),g(t,i,i)):v(s)&&g(t,i,r))}else if("keydown"==n.p){(s=n.k)==o?(i==r&&i--,t.value=t.value.substring(0,i)+t.value.substring(r,t.value.length),g(t,i,i)):s==p?(i==r&&r++,t.value=t.value.substring(0,i)+t.value.substring(r,t.value.length),g(t,i,i)):v(s)&&g(t,i,r)}else if("input"==n.p){i=n.ps,r=n.pe;t.value;var u=n.r;t.value=t.value.substring(0,i)+u+t.value.substring(r),g(t,n.cs,n.ce)}else if("snapshot"==n.p)t.value=n.v;else if("cut"==n.p){t.value;t.value=t.value.substring(0,i)+t.value.substring(r,t.value.length),g(t,i,i)}else if("paste"==n.p){t.value;t.value=t.value.substring(0,i)+n.r+t.value.substring(r,t.value.length),g(t,r+n.r.length,r+n.r.length),n.n&&(t.value=t.value.substring(0,t.value.length-1))}else"draganddrop"==n.p?(t.value=t.value.substring(0,n.ds)+t.value.substring(n.de,t.value.length),t.value=t.value.substring(0,i)+n.r+t.value.substring(i,t.value.length),g(t,i,r)):"scroll"==n.p?t.scrollTop=n.h:"userinput"==n.p||"i"==n.p?t.userInputRespond[n.n](n.d):"mouseUp"==n.p&&g(t,i,r);t.lw_data_index++,t.lw_data_index==t.lw_data.length&&(t.lw_finaltext!=t.value&&console.log("There is discrepancy. Do something"),e(".play").trigger("click")),t.lw_scheduleNextEvent()},H=function(t){if(!t.lw_pause){var n=((new Date).getTime()-t.lw_startTime)*t.lw_playback;t.lw_sliderValue=n,e(".livewriting_slider").slider("value",n),n>t.lw_endTime?Y(t):setTimeout(function(){H(t)},100)}},B=function(t){e("#lw_toolbar_play").button("option",{label:"pause",icons:{primary:"ui-icon-pause"}}),t.lw_pause=!1;var n=e(".livewriting_slider").slider("value"),i=(new Date).getTime();t.lw_startTime=i-n/t.lw_playback,t.lw_scheduleNextEvent(),H(t)},Y=function(t){t.lw_pause=!0,clearTimeout(t.lw_next_event);e("#lw_toolbar_play").button("option",{label:"play",icons:{primary:"ui-icon-play"}})},V=function(t,n){n.empty(),n.draggable(),n.append(""),n.append(''),e(".livewriting_slider").append(""),e(".livewriting_speed").button(),e(".lw_toolbar_speed").button({text:!1,icons:{primary:"ui-icon-triangle-1-s"}}).click(function(){e("#lw_playback_slider").toggle()}),e("#lw_toolbar_setting").button({text:!1,icons:{primary:"ui-icon-gear"}}).click(function(){console.log("for now, nothing happens")}),e("#lw_playback_slider").slider({orientation:"vertical",range:"min",min:-20,max:60,value:0,slide:function(n,i){var o=e("#lw_playback_slider").slider("value")/10;t.lw_playback=Math.pow(2,o);var r=e(".livewriting_slider").slider("value"),s=(new Date).getTime();t.lw_startTime=s-r/t.lw_playback,e(".livewriting_speed>span").text(t.lw_playback.toFixed(1)+" X")},stop:function(t,n){e("#lw_playback_slider").hide()}}),e(".livewriting_toolbar_wrapper").toggleClass(".ui-widget-header"),e("#lw_toolbar_beginning").button({text:!1,icons:{primary:"ui-icon-seek-start"}}).click(function(){!function(t){"ace"==t.lw_type?t.setValue(t.lw_initialText):"codemirror"==t.lw_type?t.getDoc().setValue(t.lw_initialText):"monaco"==t.lw_type&&t.setValue(t.lw_initialText),t.lw_data_index=0,Y(t),e(".livewriting_slider").slider("value",0)}(t)}),e("#lw_toolbar_slower").button({text:!1,icons:{primary:"ui-icon-minusthick"}}).click(function(){t.lw_playback=t.lw_playback/2,t.lw_playback<.25&&(t.lw_playback*=2);var n=e(".livewriting_slider").slider("value"),i=(new Date).getTime();t.lw_startTime=i-n/t.lw_playback,e(".livewriting_speed").text(t.lw_playback)}),e("#lw_toolbar_play").button({text:!1,icons:{primary:"ui-icon-pause"}}).click(function(){"pause"===e(this).text()?Y(t):B(t),e(this).button("option",void 0)}),e("#lw_toolbar_faster").button({text:!1,icons:{primary:"ui-icon-plusthick"}}).click(function(){t.lw_playback=2*t.lw_playback,t.lw_playback>64&&(t.lw_playback/=2);var n=e(".livewriting_slider").slider("value"),i=(new Date).getTime();t.lw_startTime=i-n/t.lw_playback,e(".livewriting_speed").text(t.lw_playback)}),e("#lw_toolbar_end").button({text:!1,icons:{primary:"ui-icon-seek-end"}}).click(function(){!function(t){var n=e(".livewriting_slider").slider("option","max");"ace"==t.lw_type?(t.setValue(t.lw_finaltext),t.moveCursorTo(0,0)):"codemirror"==t.lw_type?(t.getDoc().setValue(t.lw_finaltext),t.getDoc().setSelection({line:0,ch:0},{line:0,ch:0},{scroll:!0})):"monaco"==t.lw_type&&t.setValue(t.lw_finaltext),t.lw_data_index=t.lw_data.length-1,Y(t),e(".livewriting_slider").slider("value",n)}(t)}),e("#lw_toolbar_stat").button({text:!1,icons:{primary:"ui-icon-image"}}).click(function(t){e("#lw_toolbar_stat .ui-button-text").toggleClass("ui-button-text-toggle"),e("#livewriting_histogram").toggle(),e("div.livewriting_slider_wrapper").toggleClass("histogram_slider_wrapper")}),e("#lw_toolbar_skip").button({text:!1,icons:{primary:"ui-icon-arrowreturnthick-1-n"}}).click(function(n){t.lw_skip_inactive=!t.lw_skip_inactive,e("#lw_toolbar_skip .ui-button-text").toggleClass("ui-button-text-toggle"),t.lw_skip_inactive?(clearTimeout(t.lw_next_event),t.lw_scheduleNextEvent(),e(".ui-slider-inactive-region").css("background-color","#ccc"),e("div.livewriting_slider").css("background","#F49C25")):(e(".ui-slider-inactive-region").css("background-color","#fff"),e("div.livewriting_slider").css("background","#D4C3C3"))})},Z=function(t){var n=t.lw_data[t.lw_data.length-1].t;"ace"==t.lw_type?(e(".ace_editor").length,e(".ace_editor").after("")):"codemirror"==t.lw_type?(e(".CodeMirror").length,e(".CodeMirror").after("")):"monaco"==t.lw_type&&(e(".monaco_editor").length,0==e(".livewriting_navbar").length&&e(".monaco_editor").after(""));var i=e(".livewriting_navbar");V(t,i);e(".livewriting_slider").slider({min:0,max:n+1,slide:function(e,n){!function(e,t){var n=t,i=(new Date).getTime();if(e.lw_startTime=i-n/e.lw_playback,e.lw_pause||clearTimeout(e.lw_next_event),e.lw_sliderValue>n)for(;e.lw_data_index>0&&ne.lw_data[e.lw_data_index].t;)e.lw_triggerPlay(!1,!0);e.lw_sliderValue=n,e.lw_pause||e.lw_scheduleNextEvent()}(t,n.value)}});e(".livewriting_slider").slider("value",0)},U=function(o,r,s,a){o.lw_settings=e.extend({name:"Default live writing textarea",startTime:null,stateMouseDown:!1,writeMode:null,readMode:null,noDataMsg:"I know you feel in vain but do not have anything to store yet. ",leaveWindowMsg:"You haven't finished your post yet. Do you want to leave without finishing?"},s),o.lw_type=r,o.lw_startTime=(new Date).getTime(),o.lw_liveWritingJsonData=[],o.lw_initialText=a,o.lw_mostRecentValue=a,o.lw_prevSelectionStart=0,o.lw_prevSelectionEnd=0,o.lw_keyDownState=!1,o.lw_UNDO_TRIGGER=!1,o.lw_REDO_TRIGGER=!1,o.lw_PASTE_TRIGGER=!1,o.lw_CUT_TRIGGER=!1,o.lw_skip_inactive=!1,o.lw_getCursorTextAreaPosition=m,o.userInputRespond={};var u=f("aid");u?("codemirror"==o.lw_type&&o.options.placeholder&&o.setOption("placeholder",""),Q(o,u),o.lw_writemode=!1,null!=o.lw_settings.readMode&&o.lw_settings.readMode()):(o.lw_writemode=!0,"textarea"==r?(o.value=o.lw_initialText,o.onkeyup=y,o.onkeypress=w,o.onkeydown=_,o.onmouseup=M,o.onpaste=N,o.oncut=I,o.onscroll=C,o.ondrop=L,o.ondblclick=b,o.oninput=x):"codemirror"==r?(o.setValue(o.lw_initialText),o.on("change",D),o.on("cursorActivity",E),o.on("scroll",T)):"ace"==r?(o.setValue(o.lw_initialText),o.on("change",j),o.on("changeSelection",A),o.session.on("changeScrollLeft",function(e){k(o,e)}),o.session.on("changeScrollTop",function(e){O(o,e)})):"monaco"==r&&(o.setValue(o.lw_initialText),o.onDidChangeModel(e=>{t.dispose(),n.dispose(),i.dispose()}),t=o.onDidChangeModelContent(t=>{""!==t.changes[0].text&&function(t,n){console.log(e(".editor-widget.suggest-widget")),e(".editor-widget").css("display","none"),e(".monaco-list-rows").html(""),console.log(t,"event"),console.log(n,"editor");var i=n,o=(new Date).getTime()-i.lw_startTime,r=i.lw_liveWritingJsonData.length;i.lw_liveWritingJsonData[r]={p:"c",t:o,d:t}}(t,o)}),n=o.onDidChangeCursorPosition(e=>{!function(e,t){console.log(e,"rrrrr");var n=t,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"u",t:i,d:e,b:0}}(e,o)}),i=o.onDidScrollChange(e=>{!function(e,t){var n=e,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"s",t:i,n:t,y:"left"}}(o,e.scrollLeft),function(e,t){var n=e,i=(new Date).getTime()-n.lw_startTime,o=n.lw_liveWritingJsonData.length;n.lw_liveWritingJsonData[o]={p:"s",t:i,n:t,y:"top"}}(o,e.scrollTop)})),o.onUserInput=S,o.lw_writemode=!0,o.lw_dragAndDrop=!1,null!=o.lw_settings.writeMode&&o.lw_settings.writeMode(),e(window).onbeforeunload=function(){return setting.levaeWindowMsg})},G=function(e){var t={version:4,playback:1};return t.editor_type=e.lw_type,t.initialtext=e.lw_initialText,t.action=e.lw_liveWritingJsonData,t.localEndtime=(new Date).getTime(),t.localStarttime=e.lw_startTime,"textarea"==e.lw_type?t.finaltext=e.value:"codemirror"==e.lw_type?t.finaltext=e.getValue():"ace"==e.lw_type?t.finaltext=e.getValue():"monaco"==e.lw_type&&(t.finaltext=e.getValue()),t},Q=function(t,n,i){i=i||"play",e.post(i,JSON.stringify({aid:n}),function(e,n,i){var o=JSON.parse(i.responseText);X(t,o)},"text").fail(function(e,t,n){alert("LiveWritingAPI: play failed: "+e.responseText)})},J=function(e){return.3+.7*Math.pow(2*e-Math.pow(e,2),.5)},X=function(o,r){"codemirror"==o.lw_type?o.lw_triggerPlay=z:"textarea"==o.lw_type?o.lw_triggerPlay=F:"monaco"==o.lw_type?o.lw_triggerPlay=W:"ace"==o.lw_type&&(o.lw_triggerPlay=R,o.lw_ace_Range=ace.require("ace/range").Range,o.setReadOnly(!0),o.$blockScrolling=1/0),"textarea"==o.lw_type?(o.onkeyup=null,o.onkeypress=null,o.onkeydown=null,o.onmouseup=null,o.onpaste=null,o.oncut=null,o.onscroll=null,o.ondrop=null,o.ondblclick=null,o.oninput=null):"codemirror"==o.lw_type?(o.off("change",D),o.off("cursorActivity",E),o.off("scroll",T)):"monaco"==o.lw_type?(t.dispose(),n.dispose(),i.dispose()):"ace"==o.lw_type&&(o.off("change",j),o.off("changeSelection",A),o.session.off("changeScrollLeft",function(e){k(o,e)}),o.session.off("changeScrollTop",function(e){O(o,e)})),o.lw_scheduleNextEvent=P,o.focus(),o.lw_version=r.version,o.lw_playback=r.playback?r.playback:1,o.lw_type=r.editor_type?r.editor_type:"textarea",o.lw_finaltext=r.finaltext?r.finaltext:"",o.lw_initialText=r.initialtext?r.initialtext:"","codemirror"==o.lw_type?o.setValue(o.lw_initialText):"textarea"==o.lw_type?o.value=o.lw_initialText:"ace"==o.lw_type?o.setValue(o.lw_initialText):"monaco"==o.lw_type&&o.setValue(o.lw_initialText),o.lw_data_index=0,o.lw_data=r.action,o.lw_endTime=o.lw_data[o.lw_data.length-1].t;var s=(new Date).getTime();o.lw_startTime=s,Z(o),"ace"==o.lw_type&&(o.session.getMode().getNextLineIndent=function(){return""},o.session.getMode().checkOutdent=function(){return!1}),B(o);o.lw_data[0].t,o.lw_playback;(function(e){if("ace"==e.lw_type||"codemirror"==e.lw_type||"monaco"==e.lw_type){for(var t=document.getElementById("livewriting_histogram").getContext("2d"),n=e.lw_data[e.lw_data.length-1].t+1,i=new Array(480).fill(0),o=new Array(480).fill(0),r=-1,s=0;sr&&(r=l)}var c=0;for(s=0;s<480;s++)i[s]>0&&(c=J(i[s]/r),t.fillStyle="#97DB97",t.fillRect(1*s,25*(1-c),1,25*c)),o[s]>0&&(c=J(o[s]/r),t.fillStyle="#EB5555",t.fillRect(1*s,25,1,25*c))}else console.error("histogram only supports ace editor / codemirror for now. ")})(o);for(var a=o.lw_data[o.lw_data.length-1].t+1,u=0,l=0;l2e3){var c=(o.lw_data[l].t-u)/a;if(c<.001)continue;var d=e("");d.css("left",u/a*100+"%"),d.css("width",100*c+"%"),d.addClass("ui-slider-inactive-region"),e(".livewriting_slider").append(d)}u=o.lw_data[l].t}};return function(t,n,i,o){var r;if(1==e(this).length?r=e(this)[0]:e(this)==Object&&(r=this),"string"!=typeof t)return alert("LiveWritingAPI: livewriting textarea need a string message"),r;if(null==r||"undfined"==typeof r)return alert("LiveWritingAPI: no object found for livewritingtexarea"),r;if("reset"==t)r.lw_startTime=(new Date).getTime();else{if("create"==t)return"object"!=typeof i&&void 0!==i?(alert("LiveWritingAPI: the 3rd argument should be the options array."),r):"textarea"!=n&&"codemirror"!=n&&"ace"!=n&&"monaco"!=n?(alert("LiveWritingAPI: Creating live writing text area only supports either textarea, codemirror or ace editor. "),r):e(this).length>1?(alert("LiveWritingAPI: Please, have only one textarea in a page"),r):(void 0===o&&(o=""),U(r,n,i,o),r);if("post"==t){if("string"!=typeof n)return void alert("LiveWritingAPI: you have to specify url "+n);if("function"!=typeof o||null==o)return void alert("LiveWritingAPI: you have to specify a function that will run when server responded. \n"+i);!function(t,n,i,o){if(0==t.lw_liveWritingJsonData.length)return alert(t.lw_settings.noDataMsg),void o(!1);var r=G(t);r.useroptions=i,e.post(n,JSON.stringify(r),function(t,n,i){if(o){var r=JSON.parse(i.responseText);o&&o(!0,r.aid),e(window).onbeforeunload=!1}e(window).onbeforeunload=!1},"json").fail(function(e,t,n){var i=JSON.parse(n.responseText);o&&o(!1,i)})}(r,n,i,o)}else if("play"==t){if("string"!=typeof n)return void alert("LiveWritingAPI: Unrecogniazble article id:"+n);if("string"!=typeof i)return void alert("LiveWritingAPI: Unrecogniazble url address"+i);var s=n;"codemirror"==r.lw_type&&r.options.placeholder&&r.setOption("placeholder",""),Q(r,s,i)}else{if("playJson"==t){if("object"!=typeof n&&"string"!=typeof n)return void alert("LiveWritingAPI: playJson require data object:"+n);var a;if("object"==typeof n)a=n;else try{a=JSON.parse(n)}catch(e){return!1}return r.lw_writemode=!1,r.onkeyup=null,r.onkeypress=null,r.onkeydown=null,r.onmouseup=null,r.onpaste=null,r.oncut=null,r.onscroll=null,r.ondragstart=null,r.ondragend=null,r.ondrop=null,r.ondblclick=null,r.oninput=null,"codemirror"==r.lw_type&&r.options.placeholder&&r.setOption("placeholder",""),void X(r,a)}if("registerEvent"==t){if("string"!=typeof n)return void alert("LiveWritingAPI: Unrecogniazble article id:"+aid)}else if("userinput"==t){if("number"!=typeof n||null==n)return void alert("LiveWritingAPI: you have to specify a index number of the user-input function (can be any number) that will run when user-input is done"+n);r.onUserInput(n,i)}else if("register"==t){if("function"!=typeof i||null==i)return void alert("LiveWritingAPI: you have to specify a function that will run when user-input is done"+n);if("number"!=typeof n||null==n)return void alert("LiveWritingAPI: you have to specify a function that will run when user-input is done"+n);r.userInputRespond[n]=i}else if("returnactiondata"==t)return G(r)}}}}(jQuery);e.exports&&(e.exports=i)}},function(e,t,n){var i=n(359);"string"==typeof i&&(i=[[e.i,i,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(27)(i,o);i.locals&&(e.exports=i.locals)},function(e,t,n){"use strict";n.r(t);n(415),n(176),n(187),n(186),n(185),n(189),n(261),n(191),n(192);var i=n(129);for(var o in i)"default"!==o&&function(e){n.d(t,e,function(){return i[e]})}(o)},function(e,t,n){var i;
+/*!
+ * jQuery JavaScript Library v3.4.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2019-05-01T21:04Z
+ */
+/*!
+ * jQuery JavaScript Library v3.4.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2019-05-01T21:04Z
+ */
+!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,o){"use strict";var r=[],s=n.document,a=Object.getPrototypeOf,u=r.slice,l=r.concat,c=r.push,d=r.indexOf,h={},p=h.toString,g=h.hasOwnProperty,f=g.toString,m=f.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},b=function(e){return null!=e&&e===e.window},_={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var i,o,r=(n=n||s).createElement("script");if(r.text=e,t)for(i in _)(o=t[i]||t.getAttribute&&t.getAttribute(i))&&r.setAttribute(i,o);n.head.appendChild(r).parentNode.removeChild(r)}function M(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?h[p.call(e)]||"object":typeof e}var C=function(e,t){return new C.fn.init(e,t)},L=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function I(e){var t=!!e&&"length"in e&&e.length,n=M(e);return!y(e)&&!b(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}C.fn=C.prototype={jquery:"3.4.1",constructor:C,length:0,toArray:function(){return u.call(this)},get:function(e){return null==e?u.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=C.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return C.each(this,e)},map:function(e){return this.pushStack(C.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+z+")"+z+"*"),Z=new RegExp(z+"|>"),U=new RegExp(F),G=new RegExp("^"+R+"$"),Q={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+z+"*(even|odd|(([+-]|)(\\d*)n|)"+z+"*(?:([+-]|)"+z+"*(\\d+)|))"+z+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+z+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+z+"*((?:-\\d)?\\d*)"+z+"*\\)|)(?=[^-]|$)","i")},J=/HTML$/i,X=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+z+"?|("+z+")|.)","ig"),ne=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},ie=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,oe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){h()},se=_e(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(j=A.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){O={apply:j.length?function(e,t){k.apply(e,A.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function ae(e,t,i,o){var r,a,l,c,d,g,v,y=t&&t.ownerDocument,M=t?t.nodeType:9;if(i=i||[],"string"!=typeof e||!e||1!==M&&9!==M&&11!==M)return i;if(!o&&((t?t.ownerDocument||t:w)!==p&&h(t),t=t||p,f)){if(11!==M&&(d=$.exec(e)))if(r=d[1]){if(9===M){if(!(l=t.getElementById(r)))return i;if(l.id===r)return i.push(l),i}else if(y&&(l=y.getElementById(r))&&b(t,l)&&l.id===r)return i.push(l),i}else{if(d[2])return O.apply(i,t.getElementsByTagName(e)),i;if((r=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(i,t.getElementsByClassName(r)),i}if(n.qsa&&!S[e+" "]&&(!m||!m.test(e))&&(1!==M||"object"!==t.nodeName.toLowerCase())){if(v=e,y=t,1===M&&Z.test(e)){for((c=t.getAttribute("id"))?c=c.replace(ie,oe):t.setAttribute("id",c=_),a=(g=s(e)).length;a--;)g[a]="#"+c+" "+be(g[a]);v=g.join(","),y=ee.test(e)&&ve(t.parentNode)||t}try{return O.apply(i,y.querySelectorAll(v)),i}catch(t){S(e,!0)}finally{c===_&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,i,o)}function ue(){var e=[];return function t(n,o){return e.push(n+" ")>i.cacheLength&&delete t[e.shift()],t[n+" "]=o}}function le(e){return e[_]=!0,e}function ce(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),o=n.length;o--;)i.attrHandle[n[o]]=t}function he(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function ge(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function fe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&se(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return le(function(t){return t=+t,le(function(n,i){for(var o,r=e([],n.length,t),s=r.length;s--;)n[o=r[s]]&&(n[o]=!(i[o]=n[o]))})})}function ve(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ae.support={},r=ae.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!J.test(t||n&&n.nodeName||"HTML")},h=ae.setDocument=function(e){var t,o,s=e?e.ownerDocument||e:w;return s!==p&&9===s.nodeType&&s.documentElement?(g=(p=s).documentElement,f=!r(p),w!==p&&(o=p.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",re,!1):o.attachEvent&&o.attachEvent("onunload",re)),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(p.getElementsByClassName),n.getById=ce(function(e){return g.appendChild(e).id=_,!p.getElementsByName||!p.getElementsByName(_).length}),n.getById?(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n=t.getElementById(e);return n?[n]:[]}}):(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n,i,o,r=t.getElementById(e);if(r){if((n=r.getAttributeNode("id"))&&n.value===e)return[r];for(o=t.getElementsByName(e),i=0;r=o[i++];)if((n=r.getAttributeNode("id"))&&n.value===e)return[r]}return[]}}),i.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],o=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},i.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&f)return t.getElementsByClassName(e)},v=[],m=[],(n.qsa=K.test(p.querySelectorAll))&&(ce(function(e){g.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+z+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+z+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+_+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+_+"+*").length||m.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+z+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),g.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=K.test(y=g.matches||g.webkitMatchesSelector||g.mozMatchesSelector||g.oMatchesSelector||g.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),v.push("!=",F)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=K.test(g.compareDocumentPosition),b=t||K.test(g.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},x=t?function(e,t){if(e===t)return d=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===i?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?E(c,e)-E(c,t):0:4&i?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,i=0,o=e.parentNode,r=t.parentNode,s=[e],a=[t];if(!o||!r)return e===p?-1:t===p?1:o?-1:r?1:c?E(c,e)-E(c,t):0;if(o===r)return he(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?he(s[i],a[i]):s[i]===w?-1:a[i]===w?1:0},p):p},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),n.matchesSelector&&f&&!S[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var i=y.call(e,t);if(i||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){S(t,!0)}return ae(t,p,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),b(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var o=i.attrHandle[t.toLowerCase()],r=o&&D.call(i.attrHandle,t.toLowerCase())?o(e,t,!f):void 0;return void 0!==r?r:n.attributes||!f?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},ae.escape=function(e){return(e+"").replace(ie,oe)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,i=[],o=0,r=0;if(d=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(x),d){for(;t=e[r++];)t===e[r]&&(o=i.push(r));for(;o--;)e.splice(i[o],1)}return c=null,e},o=ae.getText=function(e){var t,n="",i=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[i++];)n+=o(t);return n},(i=ae.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ae.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=s(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=L[e+" "];return t||(t=new RegExp("(^|"+z+")"+e+"("+z+"|$)"))&&L(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(i){var o=ae.attr(i,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(H," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,i,o){var r="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,d,h,p,g,f=r!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,b=!1;if(m){if(r){for(;f;){for(h=t;h=h[f];)if(a?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;g=f="only"===e&&!g&&"nextSibling"}return!0}if(g=[s?m.firstChild:m.lastChild],s&&y){for(b=(p=(l=(c=(d=(h=m)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===M&&l[1])&&l[2],h=p&&m.childNodes[p];h=++p&&h&&h[f]||(b=p=0)||g.pop();)if(1===h.nodeType&&++b&&h===t){c[e]=[M,p,b];break}}else if(y&&(b=p=(l=(c=(d=(h=t)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===M&&l[1]),!1===b)for(;(h=++p&&h&&h[f]||(b=p=0)||g.pop())&&((a?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++b||(y&&((c=(d=h[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[M,b]),h!==t)););return(b-=o)===i||b%i==0&&b/i>=0}}},PSEUDO:function(e,t){var n,o=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return o[_]?o(t):o.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var i,r=o(e,t),s=r.length;s--;)e[i=E(e,r[s])]=!(n[i]=r[s])}):function(e){return o(e,0,n)}):o}},pseudos:{not:le(function(e){var t=[],n=[],i=a(e.replace(B,"$1"));return i[_]?le(function(e,t,n,o){for(var r,s=i(e,null,o,[]),a=e.length;a--;)(r=s[a])&&(e[a]=!(t[a]=r))}):function(e,o,r){return t[0]=e,i(t,null,r,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return ae(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||o(t)).indexOf(e)>-1}}),lang:le(function(e){return G.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=f?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===g},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:fe(!1),disabled:fe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return X.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me(function(){return[0]}),last:me(function(e,t){return[t-1]}),eq:me(function(e,t,n){return[n<0?n+t:n]}),even:me(function(e,t){for(var n=0;nt?t:n;--i>=0;)e.push(i);return e}),gt:me(function(e,t,n){for(var i=n<0?n+t:n;++i1?function(t,n,i){for(var o=e.length;o--;)if(!e[o](t,n,i))return!1;return!0}:e[0]}function Me(e,t,n,i,o){for(var r,s=[],a=0,u=e.length,l=null!=t;a-1&&(r[l]=!(s[l]=d))}}else v=Me(v===s?v.splice(g,v.length):v),o?o(null,s,v,u):O.apply(s,v)})}function Le(e){for(var t,n,o,r=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],u=s?1:0,c=_e(function(e){return e===t},a,!0),d=_e(function(e){return E(t,e)>-1},a,!0),h=[function(e,n,i){var o=!s&&(i||n!==l)||((t=n).nodeType?c(e,n,i):d(e,n,i));return t=null,o}];u1&&we(h),u>1&&be(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,o=e.length>0,r=function(r,s,a,u,c){var d,g,m,v=0,y="0",b=r&&[],_=[],w=l,C=r||o&&i.find.TAG("*",c),L=M+=null==w?1:Math.random()||.1,I=C.length;for(c&&(l=s===p||s||c);y!==I&&null!=(d=C[y]);y++){if(o&&d){for(g=0,s||d.ownerDocument===p||(h(d),a=!f);m=e[g++];)if(m(d,s||p,a)){u.push(d);break}c&&(M=L)}n&&((d=!m&&d)&&v--,r&&b.push(d))}if(v+=y,n&&y!==v){for(g=0;m=t[g++];)m(b,_,s,a);if(r){if(v>0)for(;y--;)b[y]||_[y]||(_[y]=T.call(u));_=Me(_)}O.apply(u,_),c&&!r&&_.length>0&&v+t.length>1&&ae.uniqueSort(u)}return c&&(M=L,l=w),b};return n?le(r):r}(r,o))).selector=e}return a},u=ae.select=function(e,t,n,o){var r,u,l,c,d,h="function"==typeof e&&e,p=!o&&s(e=h.selector||e);if(n=n||[],1===p.length){if((u=p[0]=p[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&f&&i.relative[u[1].type]){if(!(t=(i.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(r=Q.needsContext.test(e)?0:u.length;r--&&(l=u[r],!i.relative[c=l.type]);)if((d=i.find[c])&&(o=d(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ve(t.parentNode)||t))){if(u.splice(r,1),!(e=o.length&&be(u)))return O.apply(n,o),n;break}}return(h||a(e,p))(o,t,!f,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},n.sortStable=_.split("").sort(x).join("")===_,n.detectDuplicates=!!d,h(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),ce(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||de(P,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),ae}(n);C.find=N,C.expr=N.selectors,C.expr[":"]=C.expr.pseudos,C.uniqueSort=C.unique=N.uniqueSort,C.text=N.getText,C.isXMLDoc=N.isXML,C.contains=N.contains,C.escapeSelector=N.escape;var S=function(e,t,n){for(var i=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&C(e).is(n))break;i.push(e)}return i},x=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=C.expr.match.needsContext;function j(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var T=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function k(e,t,n){return y(t)?C.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?C.grep(e,function(e){return e===t!==n}):"string"!=typeof t?C.grep(e,function(e){return d.call(t,e)>-1!==n}):C.filter(t,e,n)}C.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?C.find.matchesSelector(i,e)?[i]:[]:C.find.matches(e,C.grep(t,function(e){return 1===e.nodeType}))},C.fn.extend({find:function(e){var t,n,i=this.length,o=this;if("string"!=typeof e)return this.pushStack(C(e).filter(function(){for(t=0;t1?C.uniqueSort(n):n},filter:function(e){return this.pushStack(k(this,e||[],!1))},not:function(e){return this.pushStack(k(this,e||[],!0))},is:function(e){return!!k(this,"string"==typeof e&&D.test(e)?C(e):e||[],!1).length}});var O,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||O,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:A.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:s,!0)),T.test(i[1])&&C.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=s.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this)}).prototype=C.fn,O=C(s);var E=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function z(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&C.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?C.uniqueSort(r):r)},index:function(e){return e?"string"==typeof e?d.call(C(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),C.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return z(e,"nextSibling")},prev:function(e){return z(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return x((e.parentNode||{}).firstChild,e)},children:function(e){return x(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(j(e,"template")&&(e=e.content||e),C.merge([],e.childNodes))}},function(e,t){C.fn[e]=function(n,i){var o=C.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=C.filter(i,o)),this.length>1&&(P[e]||C.uniqueSort(o),E.test(e)&&o.reverse()),this.pushStack(o)}});var R=/[^\x20\t\r\n\f]+/g;function W(e){return e}function F(e){throw e}function H(e,t,n,i){var o;try{e&&y(o=e.promise)?o.call(e).done(t).fail(n):e&&y(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}C.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return C.each(e.match(R)||[],function(e,n){t[n]=!0}),t}(e):C.extend({},e);var t,n,i,o,r=[],s=[],a=-1,u=function(){for(o=o||e.once,i=t=!0;s.length;a=-1)for(n=s.shift();++a-1;)r.splice(n,1),n<=a&&a--}),this},has:function(e){return e?C.inArray(e,r)>-1:r.length>0},empty:function(){return r&&(r=[]),this},disable:function(){return o=s=[],r=n="",this},disabled:function(){return!r},lock:function(){return o=s=[],n||t||(r=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],s.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!i}};return l},C.extend({Deferred:function(e){var t=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],i="pending",o={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return C.Deferred(function(n){C.each(t,function(t,i){var o=y(e[i[4]])&&e[i[4]];r[i[1]](function(){var e=o&&o.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(e,i,o){var r=0;function s(e,t,i,o){return function(){var a=this,u=arguments,l=function(){var n,l;if(!(e=r&&(i!==F&&(a=void 0,u=[n]),t.rejectWith(a,u))}};e?c():(C.Deferred.getStackHook&&(c.stackTrace=C.Deferred.getStackHook()),n.setTimeout(c))}}return C.Deferred(function(n){t[0][3].add(s(0,n,y(o)?o:W,n.notifyWith)),t[1][3].add(s(0,n,y(e)?e:W)),t[2][3].add(s(0,n,y(i)?i:F))}).promise()},promise:function(e){return null!=e?C.extend(e,o):o}},r={};return C.each(t,function(e,n){var s=n[2],a=n[5];o[n[1]]=s.add,a&&s.add(function(){i=a},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),s.add(n[3].fire),r[n[0]]=function(){return r[n[0]+"With"](this===r?void 0:this,arguments),this},r[n[0]+"With"]=s.fireWith}),o.promise(r),e&&e.call(r,r),r},when:function(e){var t=arguments.length,n=t,i=Array(n),o=u.call(arguments),r=C.Deferred(),s=function(e){return function(n){i[e]=this,o[e]=arguments.length>1?u.call(arguments):n,--t||r.resolveWith(i,o)}};if(t<=1&&(H(e,r.done(s(n)).resolve,r.reject,!t),"pending"===r.state()||y(o[n]&&o[n].then)))return r.then();for(;n--;)H(o[n],s(n),r.reject);return r.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&B.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},C.readyException=function(e){n.setTimeout(function(){throw e})};var Y=C.Deferred();function V(){s.removeEventListener("DOMContentLoaded",V),n.removeEventListener("load",V),C.ready()}C.fn.ready=function(e){return Y.then(e).catch(function(e){C.readyException(e)}),this},C.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==e&&--C.readyWait>0||Y.resolveWith(s,[C]))}}),C.ready.then=Y.then,"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(C.ready):(s.addEventListener("DOMContentLoaded",V),n.addEventListener("load",V));var Z=function(e,t,n,i,o,r,s){var a=0,u=e.length,l=null==n;if("object"===M(n))for(a in o=!0,n)Z(e,t,a,n[a],!0,r,s);else if(void 0!==i&&(o=!0,y(i)||(s=!0),l&&(s?(t.call(e,i),t=null):(l=t,t=function(e,t,n){return l.call(C(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){$.remove(this,e)})}}),C.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=K.get(e,t),n&&(!i||Array.isArray(n)?i=K.access(e,t,C.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=C.queue(e,t),i=n.length,o=n.shift(),r=C._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===t&&n.unshift("inprogress"),delete r.stop,o.call(e,function(){C.dequeue(e,t)},r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:C.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),C.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ve=/^$|^module$|\/(?:java|ecma)script/i,ye={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function be(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&j(e,t)?C.merge([e],n):n}function _e(e,t){for(var n=0,i=e.length;n-1)o&&o.push(r);else if(l=ae(r),s=be(d.appendChild(r),"script"),l&&_e(s),n)for(c=0;r=s[c++];)ve.test(r.type||"")&&n.push(r);return d}we=s.createDocumentFragment().appendChild(s.createElement("div")),(Me=s.createElement("input")).setAttribute("type","radio"),Me.setAttribute("checked","checked"),Me.setAttribute("name","t"),we.appendChild(Me),v.checkClone=we.cloneNode(!0).cloneNode(!0).lastChild.checked,we.innerHTML="",v.noCloneChecked=!!we.cloneNode(!0).lastChild.defaultValue;var Ie=/^key/,Ne=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function xe(){return!0}function De(){return!1}function je(e,t){return e===function(){try{return s.activeElement}catch(e){}}()==("focus"===t)}function Te(e,t,n,i,o,r){var s,a;if("object"==typeof t){for(a in"string"!=typeof n&&(i=i||n,n=void 0),t)Te(e,a,n,i,t[a],r);return e}if(null==i&&null==o?(o=n,i=n=void 0):null==o&&("string"==typeof n?(o=i,i=void 0):(o=i,i=n,n=void 0)),!1===o)o=De;else if(!o)return e;return 1===r&&(s=o,(o=function(e){return C().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=C.guid++)),e.each(function(){C.event.add(this,t,o,i,n)})}function ke(e,t,n){n?(K.set(e,t,!1),C.event.add(e,t,{namespace:!1,handler:function(e){var i,o,r=K.get(this,t);if(1&e.isTrigger&&this[t]){if(r.length)(C.event.special[t]||{}).delegateType&&e.stopPropagation();else if(r=u.call(arguments),K.set(this,t,r),i=n(this,t),this[t](),r!==(o=K.get(this,t))||i?K.set(this,t,!1):o={},r!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else r.length&&(K.set(this,t,{value:C.event.trigger(C.extend(r[0],C.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===K.get(e,t)&&C.event.add(e,t,xe)}C.event={global:{},add:function(e,t,n,i,o){var r,s,a,u,l,c,d,h,p,g,f,m=K.get(e);if(m)for(n.handler&&(n=(r=n).handler,o=r.selector),o&&C.find.matchesSelector(se,o),n.guid||(n.guid=C.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return void 0!==C&&C.event.triggered!==t.type?C.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(R)||[""]).length;l--;)p=f=(a=Se.exec(t[l])||[])[1],g=(a[2]||"").split(".").sort(),p&&(d=C.event.special[p]||{},p=(o?d.delegateType:d.bindType)||p,d=C.event.special[p]||{},c=C.extend({type:p,origType:f,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&C.expr.match.needsContext.test(o),namespace:g.join(".")},r),(h=u[p])||((h=u[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,i,g,s)||e.addEventListener&&e.addEventListener(p,s)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,c):h.push(c),C.event.global[p]=!0)},remove:function(e,t,n,i,o){var r,s,a,u,l,c,d,h,p,g,f,m=K.hasData(e)&&K.get(e);if(m&&(u=m.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(p=f=(a=Se.exec(t[l])||[])[1],g=(a[2]||"").split(".").sort(),p){for(d=C.event.special[p]||{},h=u[p=(i?d.delegateType:d.bindType)||p]||[],a=a[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=r=h.length;r--;)c=h[r],!o&&f!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(r,1),c.selector&&h.delegateCount--,d.remove&&d.remove.call(e,c));s&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,g,m.handle)||C.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)C.event.remove(e,p+t[l],n,i,!0);C.isEmptyObject(u)&&K.remove(e,"handle events")}},dispatch:function(e){var t,n,i,o,r,s,a=C.event.fix(e),u=new Array(arguments.length),l=(K.get(this,"events")||{})[a.type]||[],c=C.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(r=[],s={},n=0;n-1:C.find(o,this,null,[l]).length),s[o]&&r.push(i);r.length&&a.push({elem:l,handlers:r})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/
+