diff --git a/AnnieJS2Html5Demo.zip b/AnnieJS2Html5Demo.zip new file mode 100644 index 0000000000000000000000000000000000000000..990b71f80add301195330cf064b8fddeaaeb03ac Binary files /dev/null and b/AnnieJS2Html5Demo.zip differ diff --git a/FacePhotoDemo.fla b/teachWeb/FacePhotoDemo.fla similarity index 100% rename from FacePhotoDemo.fla rename to teachWeb/FacePhotoDemo.fla diff --git a/aObjectDemo.fla b/teachWeb/aObjectDemo.fla similarity index 100% rename from aObjectDemo.fla rename to teachWeb/aObjectDemo.fla diff --git a/ajaxDemo.fla b/teachWeb/ajaxDemo.fla similarity index 100% rename from ajaxDemo.fla rename to teachWeb/ajaxDemo.fla diff --git a/teachWeb/annie2xAPIObj.json b/teachWeb/annie2xAPIObj.json new file mode 100644 index 0000000000000000000000000000000000000000..72f1261797f9d1808cf7e5b026b5bcfec104bf45 --- /dev/null +++ b/teachWeb/annie2xAPIObj.json @@ -0,0 +1,303 @@ +[ + { + "children": [ + { + "name": "annie.Trace", + "scene": "traceDemo", + "classObj": "traceDemo.TraceDemo", + "title": "调试打印", + "isMake": true + }, + { + "name": "annie.AObject", + "scene": "aObjectDemo", + "classObj": "aObjectDemo.AObjectDemo", + "title": "annie.AObject基类", + "isMake": true + }, + { + "name": "annie.DisplayObject", + "scene": "displayObjectDemo", + "classObj": "displayObjectDemo.DisplayObjectDemo", + "title": "显示对象基类", + "isMake": true + }, + { + "name": "annie.Bitmap", + "scene": "bitmapDemo", + "classObj": "bitmapDemo.BitmapDemo", + "title": "图形显示对象", + "isMake": true + }, + { + "name": "annie.Shape", + "scene": "shapeDemo", + "classObj": "shapeDemo.ShapeDemo", + "title": "矢量显示对象", + "isMake": true + }, + { + "name": "annie.TextField", + "scene": "textFieldDemo", + "classObj": "textFieldDemo.TextFieldDemo", + "title": "文本显示对象", + "isMake": true + }, + { + "name": "annie.FloatDisplay", + "scene": "floatDisplayDemo", + "classObj": "floatDisplayDemo.FloatDisplayDemo", + "title": "悬浮显示对象", + "isMake": true + }, + { + "name": "annie.Input", + "scene": "inputDemo", + "classObj": "inputDemo.InputDemo", + "title": "输入显示对象", + "isMake": true + }, + { + "name": "annie.Sprite", + "scene": "spriteDemo", + "classObj": "spriteDemo.SpriteDemo", + "title": "容器显示对象", + "isMake": true + }, + { + "name": "annie.BlendMode", + "scene": "blendModeDemo", + "classObj": "blendModeDemo.BlendModeDemo", + "title": "混合模式", + "isMake": true + }, + { + "name": "annie.MovieClip", + "scene": "movieClipDemo", + "classObj": "movieClipDemo.MovieClipDemo", + "title": "动画显示对象", + "isMake": true + }, + { + "name": "annie.Stage", + "scene": "stageDemo", + "classObj": "stageDemo.StageDemo", + "title": "舞台显示对象", + "isMake": true + }, + { + "name": "annie.Event", + "scene": "eventDemo", + "classObj": "eventDemo.EventDemo", + "title": "事件类", + "isMake": true + }, + { + "name": "annie.MouseEvent", + "scene": "mouseEventDemo", + "classObj": "mouseEventDemo.MouseEventDemo", + "title": "鼠标(触摸)事件", + "isMake": true + }, + { + "name": "annie.TouchEvent", + "scene": "touchEventDemo", + "classObj": "touchEventDemo.TouchEventDemo", + "title": "多点触摸事件", + "isMake": true + }, + { + "name": "annie.globalDispatcher", + "scene": "globalDispatcherDemo", + "classObj": "globalDispatcherDemo.GlobalDispatcherDemo", + "title": "单例事件触发器", + "isMake": true + }, + { + "name": "annie.Timer", + "scene": "timerDemo", + "classObj": "timerDemo.TimerDemo", + "title": "定时器", + "isMake": true + }, + { + "name": "annie.Tween", + "scene": "tweenDemo", + "classObj": "tweenDemo.TweenDemo", + "title": "Tween", + "isMake": true + }, + { + "name": "annie.Sound", + "scene": "soundDemo", + "classObj": "soundDemo.SoundDemo", + "title": "声音", + "isMake": true + }, + { + "name": "annie.Video", + "scene": "videoDemo", + "classObj": "videoDemo.VideoDemo", + "title": "视频", + "isMake": true + }, + { + "name": "annie.Filters", + "scene": "filtersDemo", + "classObj": "filtersDemo.FiltersDemo", + "title": "滤镜", + "isMake": true + }, + { + "name": "annie.Point", + "scene": "pointDemo", + "classObj": "pointDemo.PointDemo", + "title": "Point", + "isMake": true + }, + { + "name": "annie.Rectangle", + "scene": "rectangleDemo", + "classObj": "rectangleDemo.RectangleDemo", + "title": "Rectangle", + "isMake": true + }, + { + "name": "annie.URLLoader", + "scene": "urlLoaderDemo", + "classObj": "urlLoaderDemo.UrlLoaderDemo", + "title": "资源加载类", + "isMake": true + }, + { + "name": "annie.Ajax", + "scene": "ajaxDemo", + "classObj": "ajaxDemo.AjaxDemo", + "title": "Ajax", + "isMake": true + }, + { + "name": "annie.jsonp", + "scene": "jsonpDemo", + "classObj": "jsonpDemo.JsonpDemo", + "title": "jsonp", + "isMake": true + }, + { + "name": "annie.navigateToURL", + "scene": "navigateToURLDemo", + "classObj": "navigateToURLDemo.NavigateToURLDemo", + "title": "链接跳转", + "isMake": true + }, + { + "name": "annie.sendToURL", + "scene": "sendToURLDemo", + "classObj": "sendToURLDemo.SendToURLDemo", + "title": "向后台只传不收", + "isMake": true + }, + { + "name": "annie.getQueryString", + "scene": "getQueryStringDemo", + "classObj": "getQueryStringDemo.GetQueryStringDemo", + "title": "获取地址栏上的参数", + "isMake": true + }, + { + "name": "annie.LoadScene", + "scene": "loadSceneDemo", + "classObj": "loadSceneDemo.LoadSceneDemo", + "title": "加载场景", + "isMake": true + }, + { + "name": "annie.isLoadedScene", + "scene": "isLoadedSceneDemo", + "classObj": "isLoadedSceneDemo.IsLoadedSceneDemo", + "title": "判断场景是否加载完成", + "isMake": true + }, + { + "name": "annie.unLoadScene", + "scene": "unLoadSceneDemo", + "classObj": "unLoadSceneDemo.UnLoadSceneDemo", + "title": "卸载加载过的场景", + "isMake": true + }, + { + "name": "annie.toDisplayDataURL", + "scene": "toDisplayDataURLDemo", + "classObj": "toDisplayDataURLDemo.ToDisplayDataURLDemo", + "title": "将显示对象截图", + "isMake": true + }, + { + "name": "annie.osType", + "scene": "osTypeDemo", + "classObj": "osTypeDemo.OsTypeDemo", + "title": "判断系统类型", + "isMake": true + }, + { + "name": "annieUI.ScrollPage", + "scene": "scrollPageDemo", + "classObj": "scrollPageDemo.ScrollPageDemo", + "title": "长页面组件", + "isMake": true + }, + { + "name": "annieUI.ScrollList", + "scene": "scrollListDemo", + "classObj": "scrollListDemo.ScrollListDemo", + "title": "滚动列表组件", + "isMake": true + }, + { + "name": "annieUI.SlidePage", + "scene": "slidePageDemo", + "classObj": "slidePageDemo.SlidePageDemo", + "title": "翻页组件", + "isMake": true + }, + { + "name": "annieUI.FlipBook", + "scene": "flipBookDemo", + "classObj": "flipBookDemo.FlipBookDemo", + "title": "电子杂志组件", + "isMake": true + }, + { + "name": "annieUI.FacePhoto", + "scene": "facePhotoDemo", + "classObj": "facePhotoDemo.FacePhotoDemo", + "title": "头像或图片加载组件", + "isMake": true + }, + { + "name": "annieUI.DrawingBoard", + "scene": "drawingBoardDemo", + "classObj": "drawingBoardDemo.DrawingBoardDemo", + "title": "画板组件", + "isMake": true + }, + { + "name": "annieUI.ScratchCard", + "scene": "scratchCardDemo", + "classObj": "scratchCardDemo.ScratchCardDemo", + "title": "刮刮卡组件", + "isMake": true + }, + { + "name": "annieUI.Scroller", + "scene": "scrollerDemo", + "classObj": "scrollerDemo.ScrollerDemo", + "title": "Scroller管理类", + "isMake": true + } + ], + "isFolder": true, + "title": "基础案例", + "tooltip": "annie" + } +] \ No newline at end of file diff --git a/bitmapDemo.fla b/teachWeb/bitmapDemo.fla similarity index 100% rename from bitmapDemo.fla rename to teachWeb/bitmapDemo.fla diff --git a/blendModeDemo.fla b/teachWeb/blendModeDemo.fla similarity index 100% rename from blendModeDemo.fla rename to teachWeb/blendModeDemo.fla diff --git a/teachWeb/cn/statics/images/icon/arrow-down.png b/teachWeb/cn/statics/images/icon/arrow-down.png new file mode 100755 index 0000000000000000000000000000000000000000..dbc69af8fba8c70615f174dfb18fcf91afb48bb7 Binary files /dev/null and b/teachWeb/cn/statics/images/icon/arrow-down.png differ diff --git a/teachWeb/cn/statics/images/icon/arrow-up.png b/teachWeb/cn/statics/images/icon/arrow-up.png new file mode 100755 index 0000000000000000000000000000000000000000..5abb4211df09164b3b08c2dafb2fd6c6c7d5f04f Binary files /dev/null and b/teachWeb/cn/statics/images/icon/arrow-up.png differ diff --git a/teachWeb/cn/statics/js/easytree/extends/searchtree.js b/teachWeb/cn/statics/js/easytree/extends/searchtree.js new file mode 100755 index 0000000000000000000000000000000000000000..c2ef90c1c4a61f1421aae5a737029e8260643c2d --- /dev/null +++ b/teachWeb/cn/statics/js/easytree/extends/searchtree.js @@ -0,0 +1,124 @@ +///easytree 扩展函数 +var easyTreeExtends = (function(){ + ///传入 easytree 对象 + var ext = function( easytree ) { + this.easytree = easytree; + } + ///搜索某个节点 + ext.prototype.search = function ( txt ) { + if( txt ){ + var nodes = this.easytree.getAllNodes(); + } else { + console.warn( "wrong input serch val" ); + } + res = []; + return searchNode( nodes,txt ); + } + var res = []; + function searchNode(nodes, txt) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + var t = n.text; + console.log("打印————————",txt) + if( n.text.match(txt) ) { + //sava result + res.push( n ); + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + searchNode(n.children, txt); + } + } + + return res; + } + ///获取首个节点 + ext.prototype.getHomeNode = function ( nodes,toggleNode,callback ) { + var easytree = this.easytree; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + ///不渲染不显示节点 + if(n.in_use === false) { + continue; + } + if (n.children && n.children.length > 0) { // if has children + this.getHomeNode( n.children,toggleNode,callback ); + if( toggleNode ) { + easytree.toggleNode( n.id ); + } + break; + } else { + callback( n ); + break; + } + } + } + ///根据 filename / id 字段获取 node 节点 + ext.prototype.getNodeByFileName = function (nodes,name,links,type) { + var easytree = this.easytree; + var i = 0; + if( !nodes ) { + nodes = easytree.getAllNodes(); + } + if( !links) { + links = []; + } + + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + switch (type) { + case "id": + var t = n.id; + break; + default: + var t = n.name; + break; + } + if (t == name) { + return n; + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + ///links获得层级结构 + links.push( n.id ); + var node = this.getNodeByFileName(n.children, name, links, type); + if ( node ) { + node.links = links; + return node; + } + } + } + return null; + } + ///折叠node + ext.prototype.toggleNode = function (node,nodes) { + var easytree = this.easytree; + if(!nodes) + nodes = easytree.getAllNodes(); + + var pid = node.id.split("_"); + var str = ""; + for(var i in pid) { + if( i == 0) { + str = pid[i] + } else if( i == pid.length - 1) { + break; + } else { + str += "_" + pid[i]; + } + } + + var parentsNode = easytree.getNode(str); + + if( parentsNode ) { + if( !parentsNode.isExpanded ){ + easytree.toggleNode( parentsNode.id ); + this.toggleNode( parentsNode,nodes ); + } + } else { + return str; + } + } + return ext; +})(); \ No newline at end of file diff --git a/teachWeb/cn/statics/js/easytree/jquery-ts.easytree.js b/teachWeb/cn/statics/js/easytree/jquery-ts.easytree.js new file mode 100755 index 0000000000000000000000000000000000000000..671119d13357315812d1784f0550296428b6d9ce --- /dev/null +++ b/teachWeb/cn/statics/js/easytree/jquery-ts.easytree.js @@ -0,0 +1,1088 @@ +/*! + * jQuery EasyTree Plugin + * http://www.EasyJsTree.com + * + * Copyright 2014 Matthew Rand + * Released under the MIT license + * V1.0.1 + */ + + +(function ($) { + $.fn.easytree = function (options) { + var jQueryContext = this; + var easyTree = new EasyTree(jQueryContext, options); + + return easyTree; + }; + + /* Example node */ + // var node = {} + // node.children = []; + // node.isActive = false; + // node.isFolder = false; + // node.isExpanded = false; + // node.isLazy = false; + // node.iconUrl = ''; + // node.id = ''; + // node.href = ''; + // node.hrefTarget = ''; + // node.lazyUrl = ''; + // node.lazyUrlJson = ''; + // node.liClass = ''; + // node.text = ''; + // node.textCss = ''; + // node.tooltip = ''; + // node.uiIcon = ''; + + var EasyTree = function (jQueryContext, options) { + + var _settings = { + allowActivate: true, + data: null, + dataUrl: null, + dataUrlJson: null, + disableIcons: false, + enableDnd: false, // drag 'n' drop + ordering: null, // ordered || orderedFolder + slidingTime: 100, + minOpenLevels: 0, + + // events + building: null, + built: null, + toggling: null, + toggled: null, + opening: null, + opened: null, + openLazyNode: null, + closing: null, + closed: null, + canDrop: null, + dropping: null, + dropped: null, + stateChanged: null + }; + + + var $this; + var _nodes = null; + var _dnd = new Object(); // initiate internal dnd helper object + + this.init = function (jQueryContext, options) { + + _settings = $.extend(_settings, options); + + init(); + + $this = jQueryContext; + + var json = ''; + if (_settings.dataUrl) { + ajaxService(_settings.dataUrl, _settings.dataUrlJson, function (data) { + json = convertInputDataToJson(data); + if (!json) { + alert("EasyTree: Invalid data!"); + return this; + } + buildTree(json); + return this; + }); + } + else if (_settings.data) { + json = convertInputDataToJson(_settings.data); + if (!json) { + alert("EasyTree: Invalid data!"); + return this; + } + buildTree(json); + } + else { + + json = convertInputDataToJson($this.text()); + if (!json) { + alert("EasyTree: Invalid data!"); + return this; + } + buildTree(json); + } + return this; + }; + //public helpers + this.options = _settings; + this.rebuildTree = function (data) { + var json = data ? convertInputDataToJson(data) : _nodes; + if (!json) { + alert("EasyTree: Invalid data!"); + } + buildTree(json); + }; + this.getAllNodes = function () { + return _nodes; + }; + this.getNode = function (id) { + return getNode(_nodes, id); + }; + this.addNode = function (sourceNode, targetId) { + + if (!targetId) { // if blank targetId add to root node + _nodes.push(sourceNode); + return; + } + + var targetNode = getNode(_nodes, targetId); + + if (!sourceNode) { + return; + } + + if (!targetNode.children) { + targetNode.children = []; + } + + targetNode.children.push(sourceNode); + }; + this.removeNode = function (id) { + removeNode(_nodes, id); + }; + this.activateNode = function (id) { + unactivateAll(_nodes); + + if (!_settings.allowActivate) { + return; + } + + var node = getNode(_nodes, id); + if (!node) { return; } + + node.isActive = true; + $('#' + node.id).addClass('easytree-active'); + }; + this.toggleNode = function (id) { + var node = getNode(_nodes, id); + if (!node) { return; } + + toggleNodeBegin(null, _nodes, node); + }; + this.toggleNodes = function (item) { + if (!item) { return; } + + toggleNodeBegin(null, _nodes, item); + }; + + // events + function nodeClick(event) { + var id = getElementId(this); + var nodes = event.data; + var node = getNode(nodes, id); + if (!node) { return; } + + unactivateAll(nodes); + + if (!_settings.allowActivate) { + return; + } + + node.isActive = true; + $('#' + node.id).addClass('easytree-active'); + + if (_settings.stateChanged) { // fire stateChanged event + var j = getMinifiedJson(nodes); + _settings.stateChanged(nodes, j,node); + } + } + function toggleNodeEvt(event) { + + var id = getElementId(this); + var nodes = event.data; + var node = getNode(nodes, id); + if (!node) { return; } + + toggleNodeBegin(event, nodes, node); + } + + function toggleNodeBegin(event, nodes, node) { + var ret = ''; // return value of event + if (_settings.toggling) { // fire toggling event + ret = _settings.toggling(event, nodes, node); + if (ret === false) { + console.log("点击触发0",node) + return false; + } + } + + if (node.isExpanded) { // if closing node + if (_settings.closing) { // fire closing event + ret = _settings.closing(event, nodes, node); + if (ret === false) { + console.log("点击触发",node) + return false; + } + } + } + else { // if opening node + if (_settings.opening) { // fire opening event + ret = _settings.opening(event, nodes, node); + if (ret === false) { + return false; + } + } + } + + if (node.isLazy && !node.isExpanded) { // if opening a lazy node + console.log("点击触发2",node) + var hasChildren = node.children && node.children.length > 0; + ret = true; + if (_settings.openLazyNode) { // fire openLazyNode event + ret = _settings.openLazyNode(event, nodes, node, hasChildren); + } + if (node.lazyUrl && ret !== false) { + ajaxService(node.lazyUrl, node.lazyUrlJson, function (data) { + if (data.d) { + data = data.d; + } + + var json = convertInputDataToJson(data); + if ($.isArray(json)) { + node.children = json; + } + else { + node.children = []; + node.children.push(json); + } + + buildTree(nodes); + toggleNodeEnd(event, nodes, node); + }); + + return false; + } + } + toggleNodeEnd(event, nodes, node); + } + function toggleNodeEnd(event, nodes, node) { + if (node.isExpanded) { // if closing node + openCloseNode(nodes, node.id, "close"); + renderNode(node, "close"); + + if (_settings.closed) { // fire closed event + _settings.closed(event, nodes, node); + } + } + else { // if opening node + openCloseNode(nodes, node.id, "open"); + renderNode(node, "open"); + + if (_settings.opened) { // fire opened event + _settings.opened(event, nodes, node); + } + } + + if (_settings.toggled) { // fire toggled event + var ret = _settings.toggled(event, nodes, node); + } + } + + // dnd + function dragStart(event) { + if (!_settings.enableDnd) { return; } + + var el = event.target; + while (el) { + if (el.className.indexOf("easytree-draggable") > -1) { + break; + } + el = el.parentElement; + } + + if (!el) { return; } // not draggable, no 'easytree-draggable' class found + + unsourceAll(_nodes); + unactivateAll(_nodes); + $('#' + el.id).addClass('easytree-drag-source'); + + resetDnd(_dnd); + _dnd.createClone = !(el.className.indexOf("easytree-no-clone") > -1); + _dnd.dragok = true; + _dnd.sourceEl = el; + _dnd.sourceId = el.id; + _dnd.sourceNode = getNode(_nodes, _dnd.sourceId); + + return false; + } + function drag(event) { + if (!_dnd.dragok) { return; } + if (!_settings.enableDnd) { return; } + + if (_dnd.createClone) { + if (!_dnd.clone) { + _dnd.clone = createClone(_dnd.sourceEl); + $(_dnd.clone).appendTo('body'); + } + + _dnd.clone.style.left = (event.pageX + 5) + "px"; + _dnd.clone.style.top = (event.pageY) + "px"; + } + + var targetEl = getDroppableTargetEl(event.clientX, event.clientY); + if (!targetEl) { + hideDragHelpers(); + _dnd.targetEl = null; + _dnd.targetId = null; + _dnd.targetNode = null; + _dnd.canDrop = false; + return; + } + if (targetEl.id == _dnd.targetId) { // return if drag target hasn't changed + return; + } + + _dnd.canDrop = false; // assume false unless explicitly true + + window.clearTimeout(_dnd.openDelayTimeout); + + _dnd.targetEl = targetEl; + _dnd.targetId = targetEl.id; + _dnd.targetNode = getNode(_nodes, _dnd.targetId); + + log('source:' + (_dnd.sourceNode && _dnd.sourceNode.text ? _dnd.sourceNode.text : _dnd.sourceId)); + log('target:' + (_dnd.targetNode && _dnd.targetNode.text ? _dnd.targetNode.text : _dnd.targetId)); + log('isAncester:' + isAncester(_dnd.sourceNode, _dnd.targetId)); + + var $target = $('#' + _dnd.targetId); + + if (isAncester(_dnd.sourceNode, _dnd.targetId)) { // don't allow drops to ancesters + showRejectDragHelper(); + return; + } + if (_dnd.targetId == _dnd.sourceId) { // don't allow drops to self + hideDragHelpers(); + return; + } + + if (_settings.canDrop) { + var isSourceNode = _dnd.sourceNode != null; + var source = isSourceNode ? _dnd.sourceNode : _dnd.sourceEl; + var isTargetNode = _dnd.targetNode != null; + var target = isTargetNode ? _dnd.targetNode : _dnd.targetEl; + + var ret = _settings.canDrop(event, _nodes, isSourceNode, source, isTargetNode, target); + if (ret === true) { // user forces accept + showAcceptDragHelper(); + _dnd.canDrop = true; + _dnd.openDelayTimeout = window.setTimeout(function () { + openCloseNode(_nodes, _dnd.targetId, 'open'); + renderNode(_dnd.targetNode, 'open'); + }, 600); + return; + } + else if (ret === false) { // user forces reject + showRejectDragHelper(); + return; + } + } + + if ($target.hasClass('easytree-reject')) { + showRejectDragHelper(); + } + else if ($target.hasClass('easytree-accept')) { + showAcceptDragHelper(); + _dnd.canDrop = true; + _dnd.openDelayTimeout = window.setTimeout(function () { + openCloseNode(_nodes, _dnd.targetId, 'open'); + renderNode(_dnd.targetNode, 'open'); + }, 600); + } + else { + hideDragHelpers(); + } + + return false; + } + function dragEnd(event) { + // define variables to send in events + var isSourceNode = _dnd.sourceNode != null; + var source = isSourceNode ? _dnd.sourceNode : _dnd.sourceEl; + var isTargetNode = _dnd.targetNode != null; + var target = isTargetNode ? _dnd.targetNode : _dnd.targetEl; + var canDrop = _dnd.canDrop; + + hideDragHelpers(); + $('#_st_clone_').remove(); + // $(document).off("mousemove", "**"); + + if (source === null || target === null) { + resetDnd(_dnd); + return false; + } + + if (_settings.dropping) { // fire dropping event + var ret = _settings.dropping(event, _nodes, isSourceNode, source, isTargetNode, target, canDrop); + if (ret === false) { + resetDnd(_dnd); + return; + } + } + + if (_dnd.targetNode && _dnd.sourceNode && canDrop) { // internal drop + if (!_dnd.targetNode.children) { + _dnd.targetNode.children = []; + } + + removeNode(_nodes, _dnd.sourceId); + _dnd.targetNode.children.push(_dnd.sourceNode); + } + + if (canDrop) { + if (_settings.dropped) { // fire dropped event + _settings.dropped(event, _nodes, isSourceNode, source, isTargetNode, target); + } + buildTree(_nodes); + } + + resetDnd(_dnd); + + return false; + } + function createClone(sourceEl) { + $(sourceEl).remove(".easytree-expander"); + var clone = $(sourceEl).clone().remove(".easytree-expander").removeClass('easytree-drag-source')[0]; + var firstChild = clone.children[0]; + if (firstChild && firstChild.className == 'easytree-expander') { + clone.removeChild(firstChild); + } + clone.style.display = 'block'; + clone.style.position = "absolute"; + clone.style.opacity = 0.5; + clone.id = '_st_clone_'; + clone.style.zIndex = 1000; + + return clone; + } + function getDroppableTargetEl(clientX, clientY) { + var targetEl = document.elementFromPoint(clientX, clientY); + + while (targetEl) { + if (targetEl.className.indexOf('easytree-droppable') > -1) { + return targetEl; + } + targetEl = targetEl.parentElement; + } + + return null; + } + function resetDnd(dnd) { + dnd.canDrop = false; + dnd.createClone = true; + dnd.clone = null; + dnd.dragok = false; + dnd.openDelayTimeout = null; + dnd.targetEl = null; + dnd.targetId = null; + dnd.targetNode = null; + dnd.sourceEl = null; + dnd.sourceId = null; + dnd.sourceNode = null; + } + + // tree manipulation + function getElementId(el) { + while (el != null) { + if (el.id) { + return el.id; + } + el = el.parentElement; + } + return null; + } + function getNode(nodes, id) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + var t = n.text; + if (n.id == id) { + return n; + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + var node = getNode(n.children, id); + if (node) { + return node; + } + } + } + + return null; + } + function isAncester(node, id) { + var i = 0; + if (!node || !node.children || node.children.length == 0) { + return false; + } + for (i = 0; i < node.children.length; i++) { + var n = node.children[i]; + var t = n.text; + if (n.id == id) { + return true; + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + var ancester = isAncester(n, id); + if (ancester) { // if true + return ancester; + } + } + } + + return false; + } + function removeNode(nodes, id) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + var t = n.text; + if (n.id == id) { + nodes.splice(i, 1); + return; + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + removeNode(n.children, id); + } + } + } + function openCloseNode(nodes, id, openOrClose) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + var t = n.text; + if (n.id == id) { + n.isExpanded = openOrClose == "open"; + return; + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + openCloseNode(n.children, id, openOrClose); + } + } + } + function unactivateAll(nodes) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + n.isActive = false; + + $('#' + n.id).removeClass('easytree-active'); + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + unactivateAll(n.children); + } + } + } + function unsourceAll(nodes) { + var i = 0; + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + $('#' + n.id).removeClass('easytree-drag-source'); + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + unsourceAll(n.children); + } + } + } + function sort(nodes) { + var i = 0; + + nodes = nodes.sort(function (n1, n2) { + var n1Text = n1.text.toLowerCase(); + var n2Text = n2.text.toLowerCase(); + if (!n1Text) { n1Text = "a"; } // take into account empty text, so it is below folders + if (!n2Text) { n2Text = "a"; } + + if (_settings.ordering.toLowerCase().indexOf('folder') > -1 && n1.isFolder) { + n1Text = "______" + n1Text; + } + if (_settings.ordering.toLowerCase().indexOf('folder') > -1 && n2.isFolder) { + n2Text = "______" + n2Text; + } + var reverse = _settings.ordering.indexOf(" DESC") == -1 ? 1 : -1; + if (n1Text < n2Text) { //sort string ascending + return -1 * reverse; + } + if (n1Text > n2Text) { + return 1 * reverse; + } + return 0;//default return value (no sorting) + }); + + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + sort(n.children); + } + } + + return nodes; + } + function giveUniqueIds(nodes, level, id) { + var i = 0; + if (!level) { + level = 0; + id = "_st_node_" + id + "_"; + } + for (i = 0; i < nodes.length; i++) { + var n = nodes[i]; + + if (!n.id) { // if no id so generate one // || n.id.indexOf('_st_node_') == 0 + n.id = id + i.toString(); + } + var hasChildren = n.children && n.children.length > 0; + if (hasChildren) { + giveUniqueIds(n.children, level + 1, id + i + "_"); + } + } + } + + // rendering + function buildTree(nodes) { + if (!nodes) { return; } + + //console.log(nodes); + //删除不显示节点 + for( var i=0; i < nodes.length; i++ ) { + if( nodes[i].inmenu === false) { + console.log(nodes.splice(i,1)); + } else if ( nodes[i].children ) { + for(var j = 0 ; j < nodes[i].children.length; j++) { + if(nodes[i].children[j].inmenu === false){ + // console.log(nodes[i].children.splice(j,1)); + } + } + } + } + + var s1 = new Date(); + + if (_settings.building) { // fire building event + var ret = _settings.building(nodes); + if (ret === false) { + return false; + } + } + + var s2 = new Date(); + + if (_settings.ordering) { + nodes = sort(nodes); + } + + var s3 = new Date(); + + var uniqueId = Math.floor(Math.random() * 10000); + giveUniqueIds(nodes, 0, uniqueId); + + var s4 = new Date(); + + _nodes = nodes; // global _nodes used to give public access +// console.log(_nodes); + var html = getNodesAsHtml(nodes, 0, true); + + var s5 = new Date(); + + $this[0].innerHTML = html; + + var s6 = new Date(); + + $($this.selector + " .easytree-node").on("click", nodes, nodeClick); + $($this.selector + " .easytree-expander").on("click", nodes, toggleNodeEvt); + + $($this.selector + " .easytree-icon").on("click", nodes, toggleNodeEvt); + $($this.selector + " .easytree-title").on("click", nodes, toggleNodeEvt); + + var s7 = new Date(); + + if (_settings.enableDnd) { + $(document).on("mousedown", dragStart); + $(document).on("mousemove", drag); + $(document).on("mouseup", dragEnd); + } + + var s8 = new Date(); + + if (_settings.built) { // fire built event + _settings.built(nodes); + } + + var s9 = new Date(); + + if (_settings.stateChanged) { // fire stateChanged event + var j = getMinifiedJson(nodes); + _settings.stateChanged(nodes, j); + } + + var s10 = new Date(); + + + var t1 = s2 - s1; + var t2 = s3 - s2; + var t3 = s4 - s3; + var t4 = s5 - s4; + var t5 = s6 - s5; + var t6 = s7 - s6; + var t7 = s8 - s7; + var t8 = s9 - s8; + var t9 = s10 - s9; + var total = s10 - s1; + } + function getNodesAsHtml(nodes, level, display) { + var html = ''; + var i = 0; + + var ulCss = ""; + if (level == 0) { + ulCss += "ui-easytree easytree-container easytree-focused"; + } + + var forceOpenNode = level < _settings.minOpenLevels; + + var ulStyle = level == 0 || display || forceOpenNode ? "" : " style='display:none' "; + html += ''; + + return html; + } + function getSpanCss(node, lastSibling) { + var hasChildren = node.children && node.children.length > 0; + var spanCss = "easytree-node "; + if (_settings.enableDnd) { + spanCss += " easytree-draggable "; + } + if (node.liClass) { + spanCss += node.liClass; + } + if (node.isFolder && _settings.enableDnd) { + spanCss += " easytree-droppable easytree-accept "; + } + else if (_settings.enableDnd) { + spanCss += " easytree-droppable easytree-reject "; + } + + if (node.isActive && _settings.allowActivate) { + spanCss += " easytree-active "; + } + + spanCss += getExpCss(node, lastSibling); + + var ico = node.isExpanded ? "e" : "c"; + if (node.isFolder) { + ico += "f"; + } + spanCss += " easytree-ico-" + ico; + + return spanCss; + } + function getExpCss(node, lastSibling) { + var hasChildren = node.children && node.children.length > 0; + var exp = ""; + if (!hasChildren && node.isLazy) { + exp = "c"; + } + else if (!hasChildren) { + exp = "n"; + } + else if (node.isExpanded) { + exp = "e"; + } + else { + exp = "c"; + } + //exp = !hasChildren ? "n" : node.isExpanded ? "e" : "c"; + if (lastSibling) { + exp += "l"; + } + + return " easytree-exp-" + exp; + } + function getIconHtml(node) { + var html = ''; + if (_settings.disableIcons) { + return html; + } + if (node.uiIcon) { + return ''; + } + if (node.iconUrl) { + return ''; + } + + return ''; + } + function getTitleHtml(node) { + // console.log("node___",node) + var html = ''; + var tooltip = node.tooltip ? 'title="' + node.tooltip + '"' : ""; + + var titleCss = "easytree-title"; + if (node.textCss) { + titleCss += " " + node.textCss; + } + + html += ''; + + if (node.href) { + html += ' -1) { // change arrow/expander class + var expClassEnd = classes.indexOf(' ', expClassStart); + var expClass = expClassEnd > -1 ? classes.substring(expClassStart, expClassEnd) : classes.substring(expClassStart); + $('#' + node.id).removeClass(expClass); + $('#' + node.id).addClass(getExpCss(node, false)); + } + + var parentLi = $('#' + node.id).parents('li').first(); + var childUl = parentLi.children('ul').first(); + + var slideTime = parseInt(_settings.slidingTime, 10); + if (openOrClose == "close") { + childUl.slideUp(slideTime); + } + else { + childUl.slideDown(slideTime); + } + } + + // helpers + function hideDragHelpers() { + $("#easytree-reject").hide(); + $("#easytree-accept").hide(); + } + function showAcceptDragHelper() { + $("#easytree-accept").show(); + $("#easytree-reject").hide(); + + } + function showRejectDragHelper() { + $("#easytree-reject").show(); + $("#easytree-accept").hide(); + } + function getMinifiedJson(nodes) { // to increase the chance it can be stored in a 4kb cookie + var j = JSON.stringify ? JSON.stringify(nodes) : 'Please import json2.js'; // for IE6/7 please import json2.js + while (j.indexOf(',"children":[]') > -1) { + j = j.replace(',"children":[]', ''); + } + while (j.indexOf('"liClass":"",') > -1) { + j = j.replace('"liClass":"",', ''); + } + while (j.indexOf('"textCss":"",') > -1) { + j = j.replace('"textCss":"",', ''); + } + while (j.indexOf('"isExpanded":false,') > -1) { + j = j.replace('"isExpanded":false,', ''); + } + while (j.indexOf('"isActive":false,') > -1) { + j = j.replace('"isActive":false,', ''); + } + while (j.indexOf('"isFolder":false,') > -1) { + j = j.replace('"isFolder":false,', ''); + } + while (j.indexOf('"isLazy":false,') > -1) { + j = j.replace('"isLazy":false,', ''); + } + + return j; + } + + // initialisation + function init() { + initDragHelpers(); + resetDnd(_dnd); + $(document).on("mousemove", function (event) { + var top = event.pageY; + var left = event.pageX; + + document.getElementById('easytree-reject').style.top = (top + 10) + 'px'; + document.getElementById('easytree-reject').style.left = (left + 17) + 'px'; + document.getElementById('easytree-accept').style.top = (top + 10) + 'px'; + document.getElementById('easytree-accept').style.left = (left + 17) + 'px'; + }); + } + function initDragHelpers() { + if (!$("#easytree-reject").length) { + var dragRejectHtml = '
'; + dragRejectHtml += ''; + dragRejectHtml += '
'; + + $('body').append(dragRejectHtml); + } + if (!$("#easytree-accept").length) { + var dragAcceptHtml = '
'; + dragAcceptHtml += ''; + dragAcceptHtml += '
'; + + $('body').append(dragAcceptHtml); + } + } + function ajaxService(actionUrl, json, callBack) { + $.ajax({ + url: actionUrl, + type: "POST", + contentType: "application/json; charset=utf-8", + data: json, + success: callBack, + error: function (jqXHR, textStatus, errorThrown) { + alert("Error: " + jqXHR.responseText); + } + }); + } + function convertInputDataToJson(data) { + var json = null; + if (typeof data == 'object') { + json = data; + } + else if (typeof data == 'string') { + data = $.trim(data); + if (data.indexOf('[') == 0 || data.indexOf('{') == 0) // assume json + { + json = $.parseJSON(data); + } + else { + json = convertHtmlToJson(data); // parse html in json object + } + } + + return json; + } + function convertHtmlToJson(html) { + var i = 0; + var $html = $(html); + var nodes = []; + var children = $html.children().each(function (index) { + nodes.push(convertHtmlToNode(this)); + }); + + return nodes; + } + function convertHtmlToNode(element) { + var $el = $(element); + var node = {}; + var data = $el.data(); + + node.isActive = $el.hasClass('isActive'); + $el.removeClass('isActive'); + node.isFolder = $el.hasClass('isFolder'); + $el.removeClass('isFolder'); + node.isExpanded = $el.hasClass('isExpanded'); + $el.removeClass('isExpanded'); + node.isLazy = $el.hasClass('isLazy'); + $el.removeClass('isLazy'); + + node.uiIcon = data.uiicon; + node.liClass = $el.attr('class'); + node.id = $el.attr('id'); + + var $a = $el.children('a'); + if ($a) { + node.href = $a.attr('href'); + node.hrefTarget = $a.attr('target'); + } + + var $img = $el.children('img'); + if ($img) { + node.iconUrl = $img.attr('src'); + } + + node.textCss = ''; + var $span = $el.children('span'); + if ($span && $span.attr('class')) { + node.textCss += $span.attr('class') + ' '; + } + $span = $a.children('span'); + if ($span && $span.attr('class')) { + node.textCss += $span.attr('class') + ' '; + } + $span = $img.children('span'); + if ($span && $span.attr('class')) { + node.textCss += $span.attr('class') + ' '; + } + + node.text = getNodeValue($el[0]);//$.trim($el.first().text()); + node.tooltip = $el.attr('title'); + + node.children = []; + var $li = $el.children('ul').children('li').each(function (index) { + node.children.push(convertHtmlToNode(this)); + }); + + return node; + } + function getNodeValue(el) { + var i = 0; + for (i = 0; i < el.childNodes.length; i++) { + var child = el.childNodes[i]; + while (child) { + if (child.nodeType == 3 && $.trim(child.nodeValue).length > 0) { + return $.trim(child.nodeValue); + } + child = child.firstChild; + } + } + return ''; + } + + this.init(jQueryContext, options); + + // other + function log(message) { + if (!message) { + message = 'null'; + } + console.log(message); + } + + } +}(jQuery)); \ No newline at end of file diff --git a/teachWeb/cn/statics/js/frontend.min.js b/teachWeb/cn/statics/js/frontend.min.js new file mode 100755 index 0000000000000000000000000000000000000000..b17cb5e75cad2e8d5b20a2e046e276a98f636cc5 --- /dev/null +++ b/teachWeb/cn/statics/js/frontend.min.js @@ -0,0 +1 @@ +/*! dev.egret.com - v1.0.0 - 2016-08-03 */function yx_confirm(a){Wind.use("artDialog","iframeTools",function(){art.dialog(a)})}function resultTip(a){var b=0!=a.error?"success":"warning",c='",c=$(c),c.appendTo($("body")).fadeIn(function(){}).delay(4500).fadeOut(function(){c.remove(),a.callback&&a.callback()})}function popPos(a){var b,c=!1,d="fixed",e=$(window).height(),f=a.outerHeight();$.browser.msie&&$.browser.version<7&&(c=!0,d="absolute"),b=e'+a.info+"
").appendTo(b.parent()).fadeIn("slow").delay(1e3).fadeOut(function(){}):"fail"===a.state&&($(''+a.info+"").appendTo(b.parent()).fadeIn("fast"),b.removeProp("disabled").removeClass("disabled")),"success"===a.state){var g=c.siblings(".comments"),h=b.parents(".comment-area").find(".comment-tpl").html(),i=$(h);i.attr("data-id",a.data.id);var j=c.find(".comment-postbox"),k=j.val();i.find(".comment-content .content").html(k),g.append(i),j.val(""),"mdDocComment"===b.attr("data")&&$("#comments").html(a.info)}}}),!1})})}function comment_reply(a){$(".comments .comment-reply-submit").hide();var b=$(a),c=b.parents(".comments > .comment> .comment-body"),d=b.parents(".comment").data("id"),e=c.find(".comment-reply-submit");if(e.length)e.show();else{var f=c.parents(".comment-area").find(".comment-reply-box-tpl").html();e=$(f),c.append(e)}e.find(".textbox").focus(),e.data("replyid",d)}function comment_reply_bak(a){$(".comments .comment-reply-submit").hide();var b=$(a),c=b.parents(".comments > .comment> .comment-body"),d=b.parents(".comment").data("id"),e=c.find(".comment-reply-submit");if(e.length)e.show();else{var f=c.parents(".comment-area").find(".comment-reply-box-tpl").html();e=$(f),c.append(e)}e.find(".textbox").focus(),e.data("replyid",d)}function comment_submit(a){Wind.use("noty",function(){if(null!=$("#main-menu-user-nicename")&&""==$("#main-menu-user-nicename").text())return void alert("未登录状态不能评论!");var b=$(a),c=b.parents(".comment-reply-submit"),d=c.find(".textbox"),e=d.val();if(""==e)return void d.focus();var f=b.parents(".comments > .comment> .comment-body"),g=f.parents(".comment-area").find(".comment-tpl").html(),h=$(g),i=c.data("replyid"),j=$(".comments [data-id='"+i+"']"),k=j.data("username"),l="回复 "+k+":"+e;h.find(".comment-content .content").html(l),c.before(h);var m=b.parents(".comment-area").find(".comment-form"),n=m.attr("action"),o=m.find("[name='post_table']").val(),p=m.find("[name='post_id']").val(),q=j.data("uid");$.post(n,{post_table:o,post_id:p,to_uid:q,parentid:i,content:e,url:encodeURIComponent(location.href)},function(a){0==a.status&&(noty({text:a.info,type:"error",layout:"center"}),h.remove()),1==a.status&&(h.attr("data-id",a.data.id),d.val(""))},"json"),c.hide()})}function reloadPage(a){a||(a=window);var b=a.location;b.href=b.pathname+b.search}function redirect(a){location.href=a}function getCookie(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d5&&e[5],g=new Date;null!=c&&0!=c||(c=1),g.setTime(g.getTime()+864e5*c),document.cookie=a+"="+escape(b)+"; path=/"+(1==f?"; secure":"")+";expires="+g.toGMTString()}function openwinx(a,b,c,d){c||(c=screen.width),d||(d=screen.height),window.open(a,b)}function confirmurl(a,b){Wind.use("artDialog","iframeTools",function(){art.dialog.confirm(b,function(){location.href=a},function(){art.dialog.tips("你取消了操作")})})}function open_iframe_dialog(a,b,c){var d={title:b,lock:!0,opacity:0,width:"95%"};d=c?$.extend(d,c):d,Wind.use("artDialog","iframeTools",function(){art.dialog.open(a,d)})}var is_yx_modal_a=!0;yx_count_btn(),yx_favorite_btn(),function(){$.ajaxSetup({complete:function(a){},data:{},error:function(a,b,c){}}),""!==document.createElement("input").placeholder&&$("[placeholder]").focus(function(){var a=$(this);a.val()==a.attr("placeholder")&&(a.val(""),a.removeClass("placeholder"))}).blur(function(){var a=$(this);""!=a.val()&&a.val()!=a.attr("placeholder")||(a.addClass("placeholder"),a.val(a.attr("placeholder")))}).blur().parents("form").submit(function(){$(this).find("[placeholder]").each(function(){var a=$(this);a.val()==a.attr("placeholder")&&a.val("")})}),$("a.J_dialog").length&&Wind.use("artDialog","iframeTools",function(){$(".J_dialog").on("click",function(a){a.preventDefault();var b=this,c=$(b);art.dialog.open($(this).prop("href"),{close:function(){return b.focus(),!0},title:c.prop("title")})}).attr("role","button")});var ajaxForm_list=$("form.J_ajaxForm");ajaxForm_list.length&&Wind.use("ajaxForm","noty",function(){$.browser.msie&&ajaxForm_list.on("submit",function(a){a.preventDefault()}),$("button.J_ajax_submit_btn").on("click",function(e){e.preventDefault();var btn=$(this),form=btn.parents("form.J_ajaxForm");if(!btn.data("loading")){if(btn.data("subcheck")){if(btn.parent().find("span").remove(),form.find("input.J_check:checked").length){var msg=btn.data("msg");msg?noty({text:msg,type:"confirm",layout:"center",timeout:!1,modal:!0,buttons:[{addClass:"btn btn-primary",text:"确定",onClick:function(a){a.close(),btn.data("subcheck",!1),btn.click()}},{addClass:"btn btn-danger",text:"取消",onClick:function(a){a.close()}}]}):(btn.data("subcheck",!1),btn.click())}else noty({text:"请至少选择一项",type:"error",layout:"center"});return!1}$.browser.msie&&form.find("[placeholder]").each(function(){var a=$(this);a.val()==a.attr("placeholder")&&a.val("")}),form.ajaxSubmit({url:btn.data("action")?btn.data("action"):form.attr("action"),dataType:"json",beforeSubmit:function(a,b,c){btn.data("loading",!0);var d=btn.text();btn.text(d+"中...").prop("disabled",!0).addClass("disabled")},success:function(data,statusText,xhr,$form){var text=btn.text();if(btn.removeClass("disabled").text(text.replace("中...","")).parent().find("span").remove(),"success"===data.state)noty({text:data.info,type:"success",layout:"center"});else if("fail"===data.state){var $verify_img=form.find(".verify_img");$verify_img.length&&$verify_img.attr("src",$verify_img.attr("src")+"&refresh="+Math.random()),noty({text:data.info,type:"error",layout:"center"}),btn.removeProp("disabled").removeClass("disabled")}if(data.type)return"function"===data.type?eval(data.name+"()"):"modal-content-add"===data.type&&$("#"+data.name).html(data.info),void(null!==data.modal&&eval("$('#"+data.modal+"').modal('"+data.modalshow+"')"));if(data.referer){var wait=btn.data("wait");wait||(wait=1500),window.parent.art?wait?setTimeout(function(){window.parent.location.href=data.referer},wait):window.parent.location.href=data.referer:wait?setTimeout(function(){window.location.href=data.referer},wait):window.location.href=data.referer}else"success"===data.state&&reloadPage(window.parent.art?window.parent:window)},complete:function(){btn.data("loading",!1)}})}})}),$("#J_dialog_close").on("click",function(a){a.preventDefault();try{art.dialog.close()}catch(a){Wind.use("artDialog","iframeTools",function(){art.dialog.close()})}}),$("a.J_ajax_del").length&&Wind.use("noty",function(){$(".J_ajax_del").on("click",function(a){a.preventDefault();var b=this,c=$(b),d=c.prop("href"),e=c.data("msg");noty({text:e,type:"confirm",layout:"center",timeout:!1,modal:!0,buttons:[{addClass:"btn btn-primary",text:"确定",onClick:function(a){a.close(),$.getJSON(d).done(function(a){"success"===a.state?a.referer?location.href=a.referer:reloadPage(window):"fail"===a.state&&alert(a.info)})}},{addClass:"btn btn-danger",text:"取消",onClick:function(a){a.close()}}]})})}),$("a.J_ajax_dialog_btn").length&&Wind.use("noty",function(){$(".J_ajax_dialog_btn").on("click",function(a){a.preventDefault();var b=this,c=$(b),d=c.prop("href"),e=c.data("msg");noty({text:e,type:"confirm",layout:"center",timeout:!1,modal:!0,buttons:[{addClass:"btn btn-primary",text:"确定",onClick:function(a){a.close(),$.getJSON(d).done(function(a){"success"===a.state?a.referer?location.href=a.referer:reloadPage(window):"fail"===a.state&&art.dialog.alert(a.info)})}},{addClass:"btn btn-danger",text:"取消",onClick:function(a){a.close()}}]})})});var ajax_refresh=$("a.J_ajax_refresh"),refresh_lock=!1;ajax_refresh.length&&ajax_refresh.on("click",function(a){return a.preventDefault(),!refresh_lock&&(refresh_lock=!0,void $.post(this.href,function(a){refresh_lock=!1,"success"===a.state?a.referer?location.href=a.referer:reloadPage(window):"fail"===a.state&&Wind.art.dialog.alert(a.info)},"json"))});var dateInput=$("input.J_date");dateInput.length&&Wind.use("datePicker",function(){dateInput.datePicker()});var dateTimeInput=$("input.J_datetime");dateTimeInput.length&&Wind.use("datePicker",function(){dateTimeInput.datePicker({time:!0})});var $J_action_btn=$("a.J_action_btn");$J_action_btn.length&&Wind.use("noty",function(){$J_action_btn.on("click",function(a){a.preventDefault();var b=$(this),c=b.prop("href");$.post(c,{},function(a){"success"===a.state?a.info&¬y({text:a.info,type:"success",layout:"center"}):"fail"===a.state&¬y({text:a.info,type:"error",layout:"center"})},"json")})})}(),yx_comment_form(); \ No newline at end of file diff --git a/teachWeb/cn/statics/js/jquery-migrate.min.js b/teachWeb/cn/statics/js/jquery-migrate.min.js new file mode 100755 index 0000000000000000000000000000000000000000..54034b451a21c8ce15e8585300e0988f02f66d52 --- /dev/null +++ b/teachWeb/cn/statics/js/jquery-migrate.min.js @@ -0,0 +1,5 @@ +/** + * Created by FCX on 9/10/2015. + */ +/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ +jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window); \ No newline at end of file diff --git a/teachWeb/cn/statics/js/jquery.min.js b/teachWeb/cn/statics/js/jquery.min.js new file mode 100755 index 0000000000000000000000000000000000000000..fad9ab1237c61d675c38599bcaaa063b7de5bb12 --- /dev/null +++ b/teachWeb/cn/statics/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("'; + $("body").append(inntHtml); + $("#mobile_popiframe").load(call); + + if(selectNode.backgroundColor==undefined || selectNode.backgroundColor===""){ + selectNode.backgroundColor="rgba(47, 79, 79, 0)"; + }else if(selectNode.backgroundColor.length<=3) + { + document.getElementById("mobile_popiframe").style.backgroundImage="url("+examplePath+"bg/"+selectNode.backgroundColor+".jpg)"; + }else{ + document.getElementById("playground-result").style.backgroundColor=selectNode.backgroundColor; + } + + this.int(); + + + }, + +mouseClose: function() { + $("#popWinClose").on('mouseenter', + function() { + $(this).css("background-image", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJwSURBVEhLvZbLSiNBFIb7DVyKiIgb17oQRRAXgor6CIIIeQKXMksfxYUbFbMZRh0Yb6ODMgEddCVmoWkRLzFekukxfay/+lRbqSqTVob+4CyqzuVPV59TaS8JYRhmhM0Ly5MB9tiX4fDPIQq0CpsT9sC1G4JYzmnlMskQCRPCrrnOh0EuanC5+ojAL5wXc5/LUW5qitba2ynreTWGPfgQY4JaXNaNKfZ0dkY7g4OWyHuGWOTovCuKI+AYib+8TF+bmpyF6xlykKuD2iwTITbQIPE7Q4Kr2EdMF0VtaLCcFJxjnzySzzyZaaihHy80WE4Kxq3vemcns7PStzsyYvn+zMxQUCzSRne35UMtBTSUWIb3ZKeZSRCrBoH0lwsF2u7vj32/JyepWi5L3/3hIW319dXkwvTuhRYE53kt29tMMAlub2lvdJRy09MUVqu8G3GxsGDlo6YCWhCMryvXnO0OD1PF9zkiQj5VGPIqonhwQOsdHVY+aiqgVfMIZrCy7YEBCm5uOMqmdHTkFFOmk0gQ9nNoiF4eHznyjed8nr41NztzlOkkFsQ7cwmWz89ps6fHmaNMJ5Gg7MZKhaNs/pVK8thduTCdhk2DOVNjoXg6PaW/V1e8ikBj7Y2NWflW06BVee0cC/x6nYfjY/nOfnR1yRHRucxmrXzXWNQdfNwgGGpwt79Pa21tsQ+XAC4D4K+s0GpLS00uzBp8vm3qXm1bvb1UWFyk752dlu/X+Dj5S0vOTnVebUAsUr+80/17AmIjvT9ghXCk94mhMEUBOg3t7ZpT7MGnd6OioZgCRyAsnc9EhUhI70PYRBT4T5/6nvcKYG1hElXAZggAAAAASUVORK5CYII=)"); + + }); + + $("#popWinClose").on('mouseleave', + function() { + $(this).css("background-image", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJeSURBVEhLvZbPq2lRFMf9B4bSTTIxZiBSMlCI9ycoKX+Bod7w/il3YIL4NyhFmYmBKD2Sp0ix3vqes/e529n74t33Op9astevr3PO2tvxvcLtdquzfbAtyAV8IlYX6d+DG7yxvbP9Fr2fglxR8ybavAYX/GD7Jfr8NahFD9HuMZz4U9Q5jEYjqlarFA6HiVPuDD7EkOMGvTjna9xi8/mcstmsJvKVIRc1Kl+K4haIHItut0t+v9/Y+JGhBrUq6M2xT9iBAXGeGQrY/U+miqI3NNhvw4t3EbNuyXeuzG3ood5eaLDfhhfO6JueWbPZtGKFQkGLNRoN2u/3FI/HtRh6SaDBPkusLnzWpMlkaRC7XC5WfLVaUTqddmKVSoVOp5MVG4/HlEql7mph6vRCC4IfYm2Nt7vAzW63o2KxSLVaja7Xq/DatFotrR49JdCCoHNcmfZZPp+n9XotMmxwVVwnVjbD4ZAikYhWj54SaN1dgjtZWiaToe12K7J0JpOJUUyaykuCsFwuR8fjUWR+slgsKBAIGGukqbwsiGdmElwul5RIJIw10lReEsQ0ns9nkaVzOBys226qhak8HRrsM7ktJLPZjDabjVjZYLBKpZJWrw0NfzzcFvj1KtPp1HpmsVjM2iIq/X5fqzdti4cbHycINjUYDAYUCoWcGA4BHAag1+tRMBi8q4VpGx/wl4dHWzKZpHa7TdFoVIuVy2XqdDrGSTUebYAXnh/e3v49AXZ49wcs4YB3rxgStyjApGG8TfsUPsTUaZQ8FZPgFrB585oo4QLvXoTdcIP/9Krv8/0BDUSOirKWU6wAAAAASUVORK5CYII=)"); + + }); + + }, + +closeMask: function() { + $("#popWinClose").on('click', + function() { + $("#mask,#maskTop").fadeOut(function() { + $(this).remove(); + + }); + + }); + + } + +/*mouseDown : function(){ + var dragging = false; + var iX, iY; + //var elmen = $("div#maskTop"); + $("#maskTop").on('mousedown' , function(e){ + dragging = true; + iX = e.clientX - this.offsetLeft; + iY = e.clientY - this.offsetTop; + this.setCapture && this.setCapture(); + return false; + }); + document.onmousemove = function(e) { + if (dragging) { + var e = e || window.event; + var oX = e.clientX - iX; + var oY = e.clientY - iY; + $("#maskTop").css({"left":oX + "px", "top":oY + "px"}); + return false; + } + }; + $(document).mouseup(function(e) { + dragging = false; + $("#maskTop")[0].releaseCapture(); + e.cancelBubble = true; + }) + },*/ + +}; \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/egret/js/popwin.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/egret/js/popwin.js new file mode 100755 index 0000000000000000000000000000000000000000..69691b01d734798b310810c8a43cbab0fe386162 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/egret/js/popwin.js @@ -0,0 +1,98 @@ + +//Blog:http://www.frontopen.com/ +var popWin = { + scrolling: 'no', + //是否显示滚动条 no,yes,auto + +int: function() { + this.mouseClose(); + this.closeMask(); + //this.mouseDown(); + + }, + +showWin: function(width, height, title, src,call) { + /*将显示给用户的代码显示出来*/ + var iframeHeight = height - 52; + var marginLeft = width / 2; + var marginTop = height / 2; + var inntHtml = ''; + inntHtml += '
' + inntHtml += '
' + inntHtml += '
' + inntHtml += '' + title + '' + inntHtml += '
' + inntHtml += '
' + inntHtml += ''; + $("body").append(inntHtml); + $("#mobile_popiframe").load(call); + + if(selectNode.backgroundColor==undefined || selectNode.backgroundColor===""){ + selectNode.backgroundColor="rgba(47, 79, 79, 0)"; + }else if(selectNode.backgroundColor.length<=3) + { + document.getElementById("mobile_popiframe").style.backgroundImage="url("+examplePath+"bg/"+selectNode.backgroundColor+".jpg)"; + }else{ + document.getElementById("playground-result").style.backgroundColor=selectNode.backgroundColor; + } + + this.int(); + + + }, + +mouseClose: function() { + $("#popWinClose").on('mouseenter', + function() { + $(this).css("background-image", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJwSURBVEhLvZbLSiNBFIb7DVyKiIgb17oQRRAXgor6CIIIeQKXMksfxYUbFbMZRh0Yb6ODMgEddCVmoWkRLzFekukxfay/+lRbqSqTVob+4CyqzuVPV59TaS8JYRhmhM0Ly5MB9tiX4fDPIQq0CpsT9sC1G4JYzmnlMskQCRPCrrnOh0EuanC5+ojAL5wXc5/LUW5qitba2ynreTWGPfgQY4JaXNaNKfZ0dkY7g4OWyHuGWOTovCuKI+AYib+8TF+bmpyF6xlykKuD2iwTITbQIPE7Q4Kr2EdMF0VtaLCcFJxjnzySzzyZaaihHy80WE4Kxq3vemcns7PStzsyYvn+zMxQUCzSRne35UMtBTSUWIb3ZKeZSRCrBoH0lwsF2u7vj32/JyepWi5L3/3hIW319dXkwvTuhRYE53kt29tMMAlub2lvdJRy09MUVqu8G3GxsGDlo6YCWhCMryvXnO0OD1PF9zkiQj5VGPIqonhwQOsdHVY+aiqgVfMIZrCy7YEBCm5uOMqmdHTkFFOmk0gQ9nNoiF4eHznyjed8nr41NztzlOkkFsQ7cwmWz89ps6fHmaNMJ5Gg7MZKhaNs/pVK8thduTCdhk2DOVNjoXg6PaW/V1e8ikBj7Y2NWflW06BVee0cC/x6nYfjY/nOfnR1yRHRucxmrXzXWNQdfNwgGGpwt79Pa21tsQ+XAC4D4K+s0GpLS00uzBp8vm3qXm1bvb1UWFyk752dlu/X+Dj5S0vOTnVebUAsUr+80/17AmIjvT9ghXCk94mhMEUBOg3t7ZpT7MGnd6OioZgCRyAsnc9EhUhI70PYRBT4T5/6nvcKYG1hElXAZggAAAAASUVORK5CYII=)"); + + }); + + $("#popWinClose").on('mouseleave', + function() { + $(this).css("background-image", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJeSURBVEhLvZbPq2lRFMf9B4bSTTIxZiBSMlCI9ycoKX+Bod7w/il3YIL4NyhFmYmBKD2Sp0ix3vqes/e529n74t33Op9astevr3PO2tvxvcLtdquzfbAtyAV8IlYX6d+DG7yxvbP9Fr2fglxR8ybavAYX/GD7Jfr8NahFD9HuMZz4U9Q5jEYjqlarFA6HiVPuDD7EkOMGvTjna9xi8/mcstmsJvKVIRc1Kl+K4haIHItut0t+v9/Y+JGhBrUq6M2xT9iBAXGeGQrY/U+miqI3NNhvw4t3EbNuyXeuzG3ood5eaLDfhhfO6JueWbPZtGKFQkGLNRoN2u/3FI/HtRh6SaDBPkusLnzWpMlkaRC7XC5WfLVaUTqddmKVSoVOp5MVG4/HlEql7mph6vRCC4IfYm2Nt7vAzW63o2KxSLVaja7Xq/DatFotrR49JdCCoHNcmfZZPp+n9XotMmxwVVwnVjbD4ZAikYhWj54SaN1dgjtZWiaToe12K7J0JpOJUUyaykuCsFwuR8fjUWR+slgsKBAIGGukqbwsiGdmElwul5RIJIw10lReEsQ0ns9nkaVzOBys226qhak8HRrsM7ktJLPZjDabjVjZYLBKpZJWrw0NfzzcFvj1KtPp1HpmsVjM2iIq/X5fqzdti4cbHycINjUYDAYUCoWcGA4BHAag1+tRMBi8q4VpGx/wl4dHWzKZpHa7TdFoVIuVy2XqdDrGSTUebYAXnh/e3v49AXZ49wcs4YB3rxgStyjApGG8TfsUPsTUaZQ8FZPgFrB585oo4QLvXoTdcIP/9Krv8/0BDUSOirKWU6wAAAAASUVORK5CYII=)"); + + }); + + }, + +closeMask: function() { + $("#popWinClose").on('click', + function() { + $("#mask,#maskTop").fadeOut(function() { + $(this).remove(); + + }); + + }); + + } + +/*mouseDown : function(){ + var dragging = false; + var iX, iY; + //var elmen = $("div#maskTop"); + $("#maskTop").on('mousedown' , function(e){ + dragging = true; + iX = e.clientX - this.offsetLeft; + iY = e.clientY - this.offsetTop; + this.setCapture && this.setCapture(); + return false; + }); + document.onmousemove = function(e) { + if (dragging) { + var e = e || window.event; + var oX = e.clientX - iX; + var oY = e.clientY - iY; + $("#maskTop").css({"left":oX + "px", "top":oY + "px"}); + return false; + } + }; + $(document).mouseup(function(e) { + dragging = false; + $("#maskTop")[0].releaseCapture(); + e.cancelBubble = true; + }) + },*/ + +}; \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/case-sensitive.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/case-sensitive.svg new file mode 100755 index 0000000000000000000000000000000000000000..1f3b1a2c57eea8e142701c5a54bdbe994b6f217e --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/case-sensitive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/regex.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/regex.svg new file mode 100755 index 0000000000000000000000000000000000000000..8244d95abdf49a462f225b32e706ededee777854 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/regex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/whole-word.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/whole-word.svg new file mode 100755 index 0000000000000000000000000000000000000000..8244d95abdf49a462f225b32e706ededee777854 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/browser/ui/findinput/whole-word.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/common/worker/workerServer.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/common/worker/workerServer.js new file mode 100755 index 0000000000000000000000000000000000000000..24fb7bf073b3ec1698a438256fd70c7c415bbd21 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/base/common/worker/workerServer.js @@ -0,0 +1,2 @@ +"use strict";define("vs/base/common/arrays",["require","exports"],function(e,t){function r(e,t){return void 0===t&&(t=0),e[e.length-(1+t)]}function n(e,t){for(var r=0,n=e.length;n>r;r++)t(e[r],function(){e.splice(r,1),r--,n--})}function o(e,t,r){if(e.length!==t.length)return!1;for(var n=0,o=e.length;o>n;n++)if(!r(e[n],t[n]))return!1;return!0}function i(e,t){void 0===t&&(t=null);for(var r=new Array(e);e-->0;)r.push(t);return r}function s(e,t,r){for(var n=0,o=e.length-1;o>=n;){var i=(n+o)/2|0,s=r(e[i],t);if(0>s)n=i+1;else{if(!(s>0))return i;o=i-1}}return-(n+1)}function a(e,t){var r=0,n=e.length;if(0===n)return 0;for(;n>r;){var o=Math.floor((r+n)/2);t(e[o])?n=o:r=o+1}return r}function u(e,t){var r=new Array;if(t)for(var n={},o=0;oo;o++)r.push.apply(r,e[o]);return r}function c(e){return e?e.filter(function(e){return!!e}):e}function l(e,t){return e.indexOf(t)>=0}function f(e,t,r){var n=e[t],o=e[r];e[t]=o,e[r]=n}function p(e,t,r){e.splice(r,0,e.splice(t,1)[0])}function h(e){return!Array.isArray(e)||0===e.length}function d(e,t){if(!t)return e.filter(function(t,r){return e.indexOf(t)===r});var r={};return e.filter(function(e){var n=t(e);return r[n]?!1:(r[n]=!0,!0)})}function m(e,t,r){void 0===r&&(r=null);for(var n=0;nn;n++)r.push(e);return r}function v(e,t,r){void 0===r&&(r=function(e,t){return e===t});for(var n=0,o=0,i=Math.min(e.length,t.length);i>o&&r(e[o],t[o]);o++)n++;return n}t.tail=r,t.forEach=n,t.equals=o,t.fill=i,t.binarySearch=s,t.findFirst=a,t.merge=u,t.coalesce=c,t.contains=l,t.swap=f,t.move=p,t.isFalsyOrEmpty=h,t.distinct=d,t.first=m,t.repeat=g,t.commonPrefixLength=v}),define("vs/base/common/platform",["require","exports"],function(e,t){function r(){return"undefined"!=typeof f.Worker}var n=!1,o=!1,i=!1,s=!1,a=!1,u=!1;if("object"==typeof process)n="win32"===process.platform,o="darwin"===process.platform,i="linux"===process.platform,s=!0;else if("object"==typeof navigator){var c=navigator.userAgent;n=c.indexOf("Windows")>=0,o=c.indexOf("Macintosh")>=0,i=c.indexOf("Linux")>=0,a=!0,u=!!self.QUnit}!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(t.Platform||(t.Platform={}));var l=t.Platform;t._platform=l.Web,s&&(o?t._platform=l.Mac:n?t._platform=l.Windows:i&&(t._platform=l.Linux)),t.isWindows=n,t.isMacintosh=o,t.isLinux=i,t.isNative=s,t.isWeb=a,t.isQunit=u,t.platform=t._platform;var f="object"==typeof self?self:global;t.globals=f,t.hasWebWorkerSupport=r,t.setTimeout=f.setTimeout.bind(f),t.clearTimeout=f.clearTimeout.bind(f),t.setInterval=f.setInterval.bind(f),t.clearInterval=f.clearInterval.bind(f)}),define("vs/base/common/remote",["require","exports"],function(e,t){function r(e,t,r){var o={$__IS_REMOTE_OBJ:!0};for(var i in r.prototype)"function"==typeof r.prototype[i]&&(o[i]=n(e,t,i));return o}function n(e,t,r){return function(){for(var n=[],o=0;o0&&e.every(function(e){return f(e)})}function h(e){for(var t=[],r=1;r=0)throw new Error("Cannot clone recursive data-structure");n.push(e);var u={};for(var c in e)g.call(e,c)&&(u[c]=s(e[c],t,n));return n.pop(),u}return e}function a(e,t,n){return void 0===n&&(n=!0),r.isObject(e)?(r.isObject(t)&&Object.keys(t).forEach(function(o){o in e?n&&(r.isObject(e[o])&&r.isObject(t[o])?a(e[o],t[o],n):e[o]=t[o]):e[o]=t[o]}),e):t}function u(e){for(var t=[],r=1;ro;o++){var a=s[o],u=95!==a.charCodeAt(0),c=r[a];!c||"object"!=typeof c||c.value===t&&"function"!=typeof c.get&&"function"!=typeof c.set?u?e[a]=c:(n=n||{},n[a]={value:c,enumerable:u,configurable:!0,writable:!0}):(c.enumerable===t&&(c.enumerable=u),n=n||{},n[a]=c)}n&&Object.defineProperties(e,n)}!function(t){function n(e,t,n){for(var o=e,i=t.split("."),s=0,a=i.length;a>s;s++){var u=i[s];o[u]||Object.defineProperty(o,u,{value:{},writable:!1,enumerable:!0,configurable:!0}),o=o[u]}return n&&r(o,n),o}function o(t,r){return n(e,t,r)}e[t]||(e[t]=Object.create(Object.prototype));var i=e[t];i.Namespace||(i.Namespace=Object.create(Object.prototype)),Object.defineProperties(i.Namespace,{defineWithParent:{value:n,writable:!0,enumerable:!0,configurable:!0},define:{value:o,writable:!0,enumerable:!0,configurable:!0}})}("WinJS"),function(e){function t(t,n,o){return t=t||function(){},e.Utilities.markSupportedForProcessing(t),n&&r(t.prototype,n),o&&r(t,o),t}function n(n,o,i,s){if(n){o=o||function(){};var a=n.prototype;return o.prototype=Object.create(a),e.Utilities.markSupportedForProcessing(o),Object.defineProperty(o.prototype,"constructor",{value:o,writable:!0,configurable:!0,enumerable:!0}),i&&r(o.prototype,i),s&&r(o,s),o}return t(o,i,s)}function o(e){e=e||function(){};var t,n;for(t=1,n=arguments.length;n>t;t++)r(e.prototype,arguments[t]);return e}e.Namespace.define("WinJS.Class",{define:t,derive:n,mix:o})}(e.WinJS)}(this),function(e,t){function r(e){return e}function n(e,t,r){return e.split(".").reduce(function(e,t){return e?r(e[t]):null},t)}var o=!!e.Windows,i={notSupportedForProcessing:"Value is not supported within a declarative processing context, if you want it to be supported mark it using WinJS.Utilities.markSupportedForProcessing. The value was: '{0}'"};t.Namespace.define("WinJS.Utilities",{_setHasWinRT:{value:function(e){o=e},configurable:!1,writable:!1,enumerable:!1},hasWinRT:{get:function(){return o},configurable:!1,enumerable:!0},_getMemberFiltered:n,getMember:function(t,o){return t?n(t,o||e,r):null},ready:function(r,n){return new t.Promise(function(o,i){function s(){if(r)try{r(),o()}catch(e){i(e)}else o()}var a=t.Utilities.testReadyState;a||(a=e.document?document.readyState:"complete"),"complete"===a||e.document&&null!==document.body?n?e.setImmediate(s):s():e.addEventListener("DOMContentLoaded",s,!1)})},strictProcessing:{get:function(){return!0},configurable:!1,enumerable:!0},markSupportedForProcessing:{value:function(e){return e.supportedForProcessing=!0,e},configurable:!1,writable:!1,enumerable:!0},requireSupportedForProcessing:{value:function(r){var n=!0;switch(n=n&&!(r===e),n=n&&!(r===e.location),n=n&&!(r instanceof HTMLIFrameElement),n=n&&!("function"==typeof r&&!r.supportedForProcessing),e.frames.length){case 0:break;case 1:n=n&&!(r===e.frames[0]);break;default:for(var o=0,s=e.frames.length;n&&s>o;o++)n=n&&!(r===e.frames[o])}if(n)return r;throw new t.ErrorFromName("WinJS.Utilities.requireSupportedForProcessing",t.Resources._formatString(i.notSupportedForProcessing,r))},configurable:!1,writable:!1,enumerable:!0}}),t.Namespace.define("WinJS",{validation:!1,strictProcessing:{value:function(){},configurable:!1,writable:!1,enumerable:!1}})}(this,this.WinJS),function(e){function t(e,t,r){var n=e;return"function"==typeof n&&(n=n()),(r&&i.test(r)?"":r?r+": ":"")+(t?t.replace(o,":")+": ":"")+n}function r(t,r,n){var o=e.Utilities.formatLog(t,r,n);console[n&&i.test(n)?n:"log"](o)}function n(e){return e.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&")}var o=/\s+/g,i=/^(error|warn|info|log)$/;e.Namespace.define("WinJS.Utilities",{startLog:function(t){t=t||{},"string"==typeof t&&(t={tags:t});var i=t.type&&new RegExp("^("+n(t.type).replace(o," ").split(" ").join("|")+")$"),s=t.excludeTags&&new RegExp("(^|\\s)("+n(t.excludeTags).replace(o," ").split(" ").join("|")+")(\\s|$)","i"),a=t.tags&&new RegExp("(^|\\s)("+n(t.tags).replace(o," ").split(" ").join("|")+")(\\s|$)","i"),u=t.action||r;if(!(i||s||a||e.log))return void(e.log=u);var c=function(e,t,r){i&&!i.test(r)||s&&s.test(t)||a&&!a.test(t)||u(e,t,r),c.next&&c.next(e,t,r)};c.next=e.log,e.log=c},stopLog:function(){delete e.log},formatLog:t})}(this.WinJS),function(e,t){function r(e){var t="_on"+e+"state";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(r){var n=this[t];r?(n||(n={wrapper:function(e){return n.userHandler(e)},userHandler:r},Object.defineProperty(this,t,{value:n,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,n.wrapper,!1)),n.userHandler=r):n&&(this.removeEventListener(e,n.wrapper,!1),this[t]=null)},enumerable:!0}}function n(e){for(var t={},n=0,o=arguments.length;o>n;n++){var i=arguments[n];t["on"+i]=r(i)}return t}var o=e.Class.define(function(e,t,r){this.detail=t,this.target=r,this.timeStamp=Date.now(),this.type=e},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,r){r=r||!1,this._listeners=this._listeners||{};for(var n=this._listeners[e]=this._listeners[e]||[],o=0,i=n.length;i>o;o++){var s=n[o];if(s.useCapture===r&&s.listener===t)return}n.push({listener:t,useCapture:r})},dispatchEvent:function(e,t){var r=this._listeners&&this._listeners[e];if(r){var n=new o(e,t,this);r=r.slice(0,r.length);for(var i=0,s=r.length;s>i&&!n._stopImmediatePropagationCalled;i++)r[i].listener(n);return n.defaultPrevented||!1}return!1},removeEventListener:function(e,t,r){r=r||!1;var n=this._listeners&&this._listeners[e];if(n)for(var o=0,i=n.length;i>o;o++){var s=n[o];if(s.listener===t&&s.useCapture===r){n.splice(o,1),0===n.length&&delete this._listeners[e];break}}}};e.Namespace.define("WinJS.Utilities",{_createEventProperty:r,createEventProperties:n,eventMixin:i})}(this.WinJS),function(e,t,r){var n,o=!1,i="contextchanged",s=t.Class.mix(t.Class.define(null,{},{supportedForProcessing:!1}),t.Utilities.eventMixin),a=new s,u={malformedFormatStringInput:"Malformed, did you mean to escape your '{0}'?"};t.Namespace.define("WinJS.Resources",{addEventListener:function(e,r,n){if(t.Utilities.hasWinRT&&!o&&e===i)try{Windows.ApplicationModel.Resources.Core.ResourceManager.current.defaultContext.qualifierValues.addEventListener("mapchanged",function(e){t.Resources.dispatchEvent(i,{qualifier:e.key,changed:e.target[e.key]})},!1),o=!0}catch(s){}a.addEventListener(e,r,n)},removeEventListener:a.removeEventListener.bind(a),dispatchEvent:a.dispatchEvent.bind(a),_formatString:function(e){var r=arguments;return r.length>1&&(e=e.replace(/({{)|(}})|{(\d+)}|({)|(})/g,function(e,n,o,i,s,a){if(s||a)throw t.Resources._formatString(u.malformedFormatStringInput,s||a);return n&&"{"||o&&"}"||r[(0|i)+1]})),e},_getStringWinRT:function(e){if(!n){var t=Windows.ApplicationModel.Resources.Core.ResourceManager.current.mainResourceMap;try{n=t.getSubtree("Resources")}catch(o){}n||(n=t)}var i,s,a;try{a=n.getValue(e),a&&(i=a.valueAsString,i===r&&(i=a.toString()))}catch(o){}if(!i)return{value:e,empty:!0};try{s=a.getQualifierValue("Language")}catch(o){return{value:i}}return{value:i,lang:s}},_getStringJS:function(t){var r=e.strings&&e.strings[t];return"string"==typeof r&&(r={value:r}),r||{value:t,empty:!0}}}),Object.defineProperties(t.Resources,t.Utilities.createEventProperties(i));var c;t.Resources.getString=function(e){return(c=c||(t.Utilities.hasWinRT?t.Resources._getStringWinRT:t.Resources._getStringJS))(e)}}(this,this.WinJS),function(e,t,r){function n(){}function o(e,t){var r;r=t&&"object"==typeof t&&"function"==typeof t.then?j:W,e._value=t,e._setState(r)}function i(e,t,r,n,o,i){return{exception:e,error:t,promise:r,handler:i,id:n,parent:o}}function s(e,t,r,n){var o=r._isException,s=r._errorId;return i(o?t:null,o?null:t,e,s,r,n)}function a(e,t,r){var n=r._isException,o=r._errorId;return v(e,o,n),i(n?t:null,n?null:t,e,o,r)}function u(e,t){var r=++U;return v(e,r),i(null,t,e,r)}function c(e,t){var r=++U;return v(e,r,!0),i(t,null,e,r)}function l(e,t,r,n){g(e,{c:t,e:r,p:n})}function f(e,t,r,n){e._value=t,d(e,t,r,n),e._setState(H)}function p(e,t){var r=e._value,n=e._listeners;if(n){e._listeners=null;var o,i;for(o=0,i=Array.isArray(n)?n.length:1;i>o;o++){var s=1===i?n:n[o],a=s.c,u=s.promise;if(u){try{u._setCompleteValue(a?a(r):r)}catch(c){u._setExceptionValue(c)}u._state!==j&&u._listeners&&t.push(u)}else $.prototype.done.call(e,a)}}}function h(e,t){var r=e._value,n=e._listeners;if(n){e._listeners=null;var o,i;for(o=0,i=Array.isArray(n)?n.length:1;i>o;o++){var a=1===i?n:n[o],u=a.e,c=a.promise;if(c){try{u?(u.handlesOnError||d(c,r,s,e,u),c._setCompleteValue(u(r))):c._setChainedErrorValue(r,e)}catch(l){c._setExceptionValue(l)}c._state!==j&&c._listeners&&t.push(c)}else V.prototype.done.call(e,null,u)}}}function d(e,t,r,n,o){if(S._listeners[P]){if(t instanceof Error&&t.message===O)return;S.dispatchEvent(P,r(e,t,n,o))}}function m(e,t){var r=e._listeners;if(r){var n,o;for(n=0,o=Array.isArray(r)?r.length:1;o>n;n++){var i=1===o?r:r[n],s=i.p;if(s)try{s(t)}catch(a){}i.c||i.e||!i.promise||i.promise._progress(t)}}}function g(e,t){var r=e._listeners;r?(r=Array.isArray(r)?r:[r],r.push(t)):r=t,e._listeners=r}function v(e,t,r){e._isException=r||!1,e._errorId=t}function _(e,t,r,n){e._value=t,d(e,t,r,n),e._setState(z)}function y(e,t){var r;r=t&&"object"==typeof t&&"function"==typeof t.then?j:I,e._value=t,e._setState(r)}function b(e,t,r,n){var o=new q(e);return g(e,{promise:o,c:t,e:r,p:n}),o}function E(e){var r;return new t.Promise(function(t){e?r=setTimeout(t,e):setImmediate(t)},function(){r&&clearTimeout(r)})}function w(e,t){var r=function(){t.cancel()},n=function(){e.cancel()};return e.then(r),t.then(n,n),t}e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var x=t.Class.mix(t.Class.define(null,{},{supportedForProcessing:!1}),t.Utilities.eventMixin),S=new x;S._listeners={};var P="error",O="Canceled",C=!1,T={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};T.all=T.promise|T.thenPromise|T.errorPromise|T.exceptionPromise|T.completePromise;var M,R,j,A,k,L,W,I,H,z,U=1;M={name:"created",enter:function(e){e._setState(R)},cancel:n,done:n,then:n,_completed:n,_error:n,_notify:n,_progress:n,_setCompleteValue:n,_setErrorValue:n},R={name:"working",enter:n,cancel:function(e){e._setState(k)},done:l,then:b,_completed:o,_error:f,_notify:n,_progress:m,_setCompleteValue:y,_setErrorValue:_},j={name:"waiting",enter:function(e){var t=e._value,r=function(n){t._errorId?e._chainedError(n,t):(d(e,n,s,t,r),e._error(n))};r.handlesOnError=!0,t.then(e._completed.bind(e),r,e._progress.bind(e))},cancel:function(e){e._setState(A)},done:l,then:b,_completed:o,_error:f,_notify:n,_progress:m,_setCompleteValue:y,_setErrorValue:_},A={name:"waiting_canceled",enter:function(e){e._setState(L);var t=e._value;t.cancel&&t.cancel()},cancel:n,done:l,then:b,_completed:o,_error:f,_notify:n,_progress:m,_setCompleteValue:y,_setErrorValue:_},k={name:"canceled",enter:function(e){e._setState(L),e._cancelAction()},cancel:n,done:l,then:b,_completed:o,_error:f,_notify:n,_progress:m,_setCompleteValue:y,_setErrorValue:_},L={name:"canceling",enter:function(e){var t=new Error(O);t.name=t.message,e._value=t,e._setState(H)},cancel:n,done:n,then:n,_completed:n,_error:n,_notify:n,_progress:n,_setCompleteValue:n,_setErrorValue:n},W={name:"complete_notify",enter:function(e){if(e.done=$.prototype.done,e.then=$.prototype.then,e._listeners)for(var t,r=[e];r.length;)t=r.pop(),t._state._notify(t,r);e._setState(I)},cancel:n,done:null,then:null,_completed:n,_error:n,_notify:p,_progress:n,_setCompleteValue:n,_setErrorValue:n},I={name:"success",enter:function(e){e.done=$.prototype.done,e.then=$.prototype.then,e._cleanupAction()},cancel:n,done:null,then:null,_completed:n,_error:n,_notify:p,_progress:n,_setCompleteValue:n,_setErrorValue:n},H={name:"error_notify",enter:function(e){if(e.done=V.prototype.done,e.then=V.prototype.then,e._listeners)for(var t,r=[e];r.length;)t=r.pop(),t._state._notify(t,r);e._setState(z)},cancel:n,done:null,then:null,_completed:n,_error:n,_notify:h,_progress:n,_setCompleteValue:n,_setErrorValue:n},z={name:"error",enter:function(e){e.done=V.prototype.done,e.then=V.prototype.then,e._cleanupAction()},cancel:n,done:null,then:null,_completed:n,_error:n,_notify:h,_progress:n,_setCompleteValue:n,_setErrorValue:n};var N,F=t.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,r){this._state.done(this,e,t,r)},then:function(e,t,r){return this._state.then(this,e,t,r)},_chainedError:function(e,t){var r=this._state._error(this,e,a,t);return this._run(),r},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,u);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var r=this._state._setErrorValue(this,e,a,t);return this._run(),r},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,c);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1}),q=t.Class.derive(F,function(e){C&&(C===!0||C&T.thenPromise)&&(this._stack=t.Promise._getStack()),this._creator=e,this._setState(M),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),V=t.Class.define(function(e){C&&(C===!0||C&T.errorPromise)&&(this._stack=t.Promise._getStack()),this._value=e,d(this,e,u)},{cancel:function(){},done:function(e,t){var r=this._value;if(t)try{t.handlesOnError||d(null,r,s,this,t);var n=t(r);return void(n&&"object"==typeof n&&"function"==typeof n.done&&n.done())}catch(o){r=o}r instanceof Error&&r.message===O||setImmediate(function(){throw r})},then:function(e,t){if(!t)return this;var r,n=this._value;try{t.handlesOnError||d(null,n,s,this,t),r=new $(t(n))}catch(o){r=o===n?this:new J(o)}return r}},{supportedForProcessing:!1}),J=t.Class.derive(V,function(e){C&&(C===!0||C&T.exceptionPromise)&&(this._stack=t.Promise._getStack()),this._value=e,d(this,e,c)},{},{supportedForProcessing:!1}),$=t.Class.define(function(e){if(C&&(C===!0||C&T.completePromise)&&(this._stack=t.Promise._getStack()),e&&"object"==typeof e&&"function"==typeof e.then){var r=new q(null);return r._setCompleteValue(e),r}this._value=e},{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&"object"==typeof t&&"function"==typeof t.done&&t.done()}catch(r){setImmediate(function(){throw r})}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new $(t)}catch(r){return new J(r)}}},{supportedForProcessing:!1}),D=t.Class.derive(F,function(e,r){C&&(C===!0||C&T.promise)&&(this._stack=t.Promise._getStack()),this._oncancel=r,this._setState(M),this._run();try{var n=this._completed.bind(this),o=this._error.bind(this),i=this._progress.bind(this);e(n,o,i)}catch(s){this._setExceptionValue(s)}},{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error("Promise did not implement oncancel");this._oncancel()}catch(e){e.message,e.stack;S.dispatchEvent("error",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,r){S.addEventListener(e,t,r)},any:function(e){return new D(function(r,n,o){var i=Object.keys(e);Array.isArray(e)?[]:{};0===i.length&&r();var s=0;i.forEach(function(o){D.as(e[o]).then(function(){r({key:o,value:e[o]})},function(a){return a instanceof Error&&a.name===O?void(++s===i.length&&r(t.Promise.cancel)):void n({key:o,value:e[o]})})})},function(){var t=Object.keys(e);t.forEach(function(t){var r=D.as(e[t]);"function"==typeof r.cancel&&r.cancel()})})},as:function(e){return e&&"object"==typeof e&&"function"==typeof e.then?e:new $(e)},cancel:{get:function(){return N=N||new V(new t.ErrorFromName(O))}},dispatchEvent:function(e,t){return S.dispatchEvent(e,t)},is:function(e){return e&&"object"==typeof e&&"function"==typeof e.then},join:function(e){return new D(function(n,o,i){var s=Object.keys(e),a=Array.isArray(e)?[]:{},u=Array.isArray(e)?[]:{},c=0,l=s.length,f=function(e){if(0===--l){var r=Object.keys(a).length;if(0===r)n(u);else{var c=0;s.forEach(function(e){var t=a[e];t instanceof Error&&t.name===O&&c++}),c===r?n(t.Promise.cancel):o(a)}}else i({Key:e,Done:!0})};return s.forEach(function(t){var n=e[t];n===r?c++:D.then(n,function(e){u[t]=e,f(t)},function(e){a[t]=e,f(t)})}),l-=c,0===l?void n(u):void 0},function(){Object.keys(e).forEach(function(t){var r=D.as(e[t]);"function"==typeof r.cancel&&r.cancel()})})},removeEventListener:function(e,t,r){S.removeEventListener(e,t,r)},supportedForProcessing:!1,then:function(e,t,r,n){return D.as(e).then(t,r,n)},thenEach:function(e,t,r,n){var o=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(i){o[i]=D.as(e[i]).then(t,r,n)}),D.join(o)},timeout:function(e,t){var r=E(e);return t?w(r,t):r},wrap:function(e){return new $(e)},wrapError:function(e){return new V(e)},_veryExpensiveTagWithStack:{get:function(){return C},set:function(e){C=e}},_veryExpensiveTagWithStack_tag:T,_getStack:function(){if(Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}}});Object.defineProperties(D,t.Utilities.createEventProperties(P));var B=t.Class.derive(F,function(e){this._oncancel=e,this._setState(M),this._run()},{_cancelAction:function(){this._oncancel&&this._oncancel()},_cleanupAction:function(){this._oncancel=null}},{supportedForProcessing:!1}),G=t.Class.define(function(e){this._promise=new B(e)},{promise:{get:function(){return this._promise}},cancel:function(){this._promise.cancel()},complete:function(e){this._promise._completed(e)},error:function(e){this._promise._error(e)},progress:function(e){this._promise._progress(e)}},{supportedForProcessing:!1});t.Namespace.define("WinJS",{Promise:D,_Signal:G})}(this,this.WinJS),function(e,t){t.Namespace.define("WinJS",{ErrorFromName:t.Class.derive(Error,function(e,t){this.name=e,this.message=t||e},{},{supportedForProcessing:!1})})}(this,this.WinJS),function(e){e.Namespace.define("WinJS",{xhr:function(t){var r;return new e.Promise(function(e,n,o){r=new XMLHttpRequest,r.onreadystatechange=function(){r._canceled||(4===r.readyState?(r.status>=200&&r.status<300||1223===r.status?e(r):n(r),r.onreadystatechange=function(){}):o(r))},r.open(t.type||"GET",t.url,!0,t.user,t.password),r.responseType=t.responseType||"",Object.keys(t.headers||{}).forEach(function(e){r.setRequestHeader(e,t.headers[e])}),t.customRequestInitializer&&t.customRequestInitializer(r),r.send(t.data)},function(){r._canceled=!0,r.abort()})}})}(this.WinJS),function(e,t,r){var n,o,i,s,a,u,c={nonStaticHTML:"Unable to add dynamic content. A script attempted to inject dynamic content, or elements previously modified dynamically, that might be unsafe. For example, using the innerHTML property or the document.write method to add a script element will generate this exception. If the content is safe and from a trusted source, use a method to explicitly manipulate elements and attributes, such as createElement, or use setInnerHTMLUnsafe (or other unsafe method)."};n=o=function(e,t){e.innerHTML=t},i=s=function(e,t){e.outerHTML=t},a=u=function(e,t,r){e.insertAdjacentHTML(t,r)};var l=e.MSApp;if(l)o=function(e,t){l.execUnsafeLocalFunction(function(){e.innerHTML=t})},s=function(e,t){l.execUnsafeLocalFunction(function(){e.outerHTML=t})},u=function(e,t,r){l.execUnsafeLocalFunction(function(){e.insertAdjacentHTML(t,r)})};else if(e.msIsStaticHTML){var f=function(r){if(!e.msIsStaticHTML(r))throw new t.ErrorFromName("WinJS.Utitilies.NonStaticHTML",c.nonStaticHTML)};n=function(e,t){f(t),e.innerHTML=t},i=function(e,t){f(t),e.outerHTML=t},a=function(e,t,r){f(r),e.insertAdjacentHTML(t,r)}}t.Namespace.define("WinJS.Utilities",{setInnerHTML:n,setInnerHTMLUnsafe:o,setOuterHTML:i,setOuterHTMLUnsafe:s,insertAdjacentHTML:a,insertAdjacentHTMLUnsafe:u})}(this,this.WinJS)),function(e){"undefined"==typeof exports&&"function"==typeof define&&define.amd?define("vs/base/common/winjs.base.raw",e.WinJS):module.exports=e.WinJS}(this),define("vs/nls!vs/base/common/errors",["vs/nls","vs/nls!vs/base/common/worker/workerServer"],function(e,t){return e.create("vs/base/common/errors",t)}),define("vs/nls!vs/base/common/strings",["vs/nls","vs/nls!vs/base/common/worker/workerServer"],function(e,t){return e.create("vs/base/common/strings",t)}),define("vs/base/common/strings",["require","exports","vs/nls!vs/base/common/strings"],function(e,t,r){function n(e,t,r){void 0===r&&(r="0");for(var n=""+e,o=[n],i=n.length;t>i;i++)o.push(r);return o.reverse().join("")}function o(e){for(var t=[],r=1;rn||n>=t.length?e:t[n]})}function i(e){return void 0===e&&(e=new Date),r.localize(0,null,n(e.getMonth()+1,2),n(e.getDate(),2),n(e.getFullYear(),4),n(e.getHours(),2),n(e.getMinutes(),2),n(e.getSeconds(),2))}function s(e){return void 0===e&&(e=new Date),r.localize(1,null,n(e.getHours(),2),n(e.getMinutes(),2),n(e.getSeconds(),2))}function a(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function u(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}function c(e,t,r){return e.replace(new RegExp(u(t.toString()),"g"),r)}function l(e,t){void 0===t&&(t=" ");var r=f(e,t);return p(r,t)}function f(e,t){if(!e||!t)return e;var r=t.length;if(0===r||0===e.length)return e;for(var n=0,o=-1;(o=e.indexOf(t,n))===n;)n+=r;return e.substring(n)}function p(e,t){if(!e||!t)return e;var r=t.length,n=e.length;if(0===r||0===n)return e;for(var o=n,i=-1;;){if(i=e.lastIndexOf(t,o-1),-1===i||i+r!==o)break;if(0===i)return"";o=i}return e.substring(0,o)}function h(e){return e.replace(/(^\s+|\s+$)/g,"")}function d(e){ +return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function m(e){return c(e,"*","")}function g(e,t){if(e.length0?e.lastIndexOf(t)===e.length-t.length:0===r?e===t:!1}function _(e,t,r,n){return void 0===n&&(n=""),e.substring(0,t)+n+e.substring(t+r)}function y(e,t,r,n){if(""===e)throw new Error("Cannot create regex from empty string");t||(e=e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")),n&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var o="g";return r||(o+="i"),new RegExp(e,o)}function b(e){var t=e.exec("");return t&&0===e.lastIndex}function E(e,r){if(!t.canNormalize||!e)return e;if(r&&r[e])return r[e];var n=e.normalize("NFC");return r&&(r[e]=n),n}function w(e,t){if(!e)return e;if(t){for(var r=e.split("/"),n=0,o=r.length;o>n;n++)r[n]=encodeURIComponent(r[n]);return r.join("/")}return encodeURIComponent(e)}function x(e){return/^\w[\w.]*$/.test(e)}function S(e){return!e||!e.trim()}function P(e,t,r){return t&&(e="^"+e),r&&(e+="$"),e}function O(e,t){if(b(new RegExp(e,t)))throw new Error("Regular expression /"+e+"/g results in infinitive matches")}function C(e){return e?(0===e.indexOf("/")&&(e=e.substring(1)),w(e,!0)):""}function T(e,t){return"["+e+"m"+t+""}function M(e){for(var t=0,r=e.length;r>t;t++)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return t;return-1}function R(e){for(var t=0,r=e.length;r>t;t++)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return e.substring(0,t);return e}function j(e){for(var t=e.length-1;t>=0;t--)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return t;return-1}function A(e,t){return e.localeCompare(t)}function k(e){return e>=97&&122>=e||e>=65&&90>=e}function L(e,t){var r=e.length,n=t.length;if(r!==n)return!1;for(var o=0;r>o;o++){var i=e.charCodeAt(o),s=t.charCodeAt(o);if(i!==s)if(k(i)&&k(s)){var a=Math.abs(i-s);if(0!==a&&32!==a)return!1}else if(String.fromCharCode(i).toLocaleLowerCase()!==String.fromCharCode(s).toLocaleLowerCase())return!1}return!0}function W(e,t){var r,n=Math.min(e.length,t.length);for(r=0;n>r;r++)if(e.charCodeAt(r)!==t.charCodeAt(r))return r;return n}function I(e,t){var r,n=Math.min(e.length,t.length),o=e.length-1,i=t.length-1;for(r=0;n>r;r++)if(e.charCodeAt(o-r)!==t.charCodeAt(i-r))return r;return n}function H(e,t,r){void 0===r&&(r=4);var n=Math.abs(e.length-t.length);if(n>r)return 0;var o,i,s=[],a=[];for(o=0;o=0;i--)if(o+=n[i].length,o>r){n.splice(0,i);break}return n.join(t.empty).replace(/^\s/,t.empty)}function N(e){return e&&(e=e.replace(V,""),e=e.replace(J,"\n"),e=e.replace($,""),e=e.replace(D,"")),e}function F(e){return e&&e.length>0&&e.charCodeAt(0)===B}t.empty="",t.pad=n;var q=/{(\d+)}/g;t.format=o,t.formatDate=i,t.formatTime=s,t.escape=a,t.escapeRegExpCharacters=u,t.replaceAll=c,t.trim=l,t.ltrim=f,t.rtrim=p,t.trimWhitespace=h,t.convertSimple2RegExpPattern=d,t.stripWildcards=m,t.startsWith=g,t.endsWith=v,t.splice=_,t.createRegExp=y,t.regExpLeadsToEndlessLoop=b,t.canNormalize="function"==typeof"".normalize,t.normalizeNFC=E,t.encodeURIPart=w,t.isCamelCasePattern=x,t.isFalsyOrWhitespace=S,t.anchorPattern=P,t.assertRegExp=O,t.normalizePath=C,t.colorize=T,t.firstNonWhitespaceIndex=M,t.getLeadingWhitespace=R,t.lastNonWhitespaceIndex=j,t.localeCompare=A,t.equalsIgnoreCase=L,t.commonPrefixLength=W,t.commonSuffixLength=I,t.difference=H,t.computeLineStarts=z,t.lcut=U;var V=/\x1B\x5B[12]?K/g,J=/\xA/g,$=/\x1b\[\d+m/g,D=/\x1b\[0?m/g;t.removeAnsiEscapeCodes=N;var B=65279;t.UTF8_BOM_CHARACTER=String.fromCharCode(B),t.startsWithUTF8BOM=F}),define("vs/base/common/errors",["require","exports","vs/nls!vs/base/common/errors","vs/base/common/objects","vs/base/common/platform","vs/base/common/types","vs/base/common/arrays","vs/base/common/strings"],function(e,t,r,n,o,i,s,a){function u(e){t.errorHandler.setUnexpectedErrorHandler(e)}function c(e){m(e)||t.errorHandler.onUnexpectedError(e)}function l(e){if(!(e instanceof Error))return e;var t={};return e.stacktrace?t.stack=e.stacktrace:e.stack&&(t.stack=e.stack),t.message=e.toString(),t}function f(e,t){var r=new S(e);return t?r.verboseMessage:r.message}function p(e,t){return t&&e.message&&(e.stack||e.stacktrace)?r.localize(7,null,e.message,e.stack||e.stacktrace):e.message?e.message:r.localize(8,null)}function h(e,t){if(void 0===e&&(e=null),void 0===t&&(t=!1),!e)return r.localize(9,null);if(Array.isArray(e)){var n=s.coalesce(e),o=h(n[0],t);return n.length>1?r.localize(10,null,o,n.length):o}if(i.isString(e))return e;if(!i.isUndefinedOrNull(e.status))return f(e,t);if(e.detail){var a=e.detail;if(a.error){if(a.error&&!i.isUndefinedOrNull(a.error.status))return f(a.error,t);if(!i.isArray(a.error))return p(a.error,t);for(var u=0;u0&&null!==e.statusText?t&&null!==e.responseText&&e.responseText.length>0?r.localize(3,null,e.statusText,e.status,e.responseText):r.localize(4,null,e.statusText,e.status):t&&null!==e.responseText&&e.responseText.length>0?r.localize(5,null,e.responseText):r.localize(6,null)},e}();t.ConnectionError=S,n.derive(Error,S),t.toErrorMessage=h,t.getHttpStatus=d;var P="Canceled";t.isPromiseCanceledError=m,t.canceled=g,t.notImplemented=v,t.illegalArgument=_,t.illegalState=y,t.readonly=b,t.loaderError=E,t.create=w}),define("vs/base/common/winjs.base",["./winjs.base.raw","vs/base/common/errors"],function(e,t){function r(e){var r=e.detail,n=r.id;return r.parent?void(r.handler&&i&&delete i[n]):(i[n]=r,void(1===Object.keys(i).length&&setTimeout(function(){var e=i;i={},Object.keys(e).forEach(function(r){var n=e[r];n.exception?t.onUnexpectedError(n.exception):n.error&&t.onUnexpectedError(n.error),console.log("WARNING: Promise with no error callback:"+n.id),console.log(n),n.exception&&console.log(n.exception.stack)})},0)))}function n(e,t,r){var n,i,s,a=new o.Promise(function(e,t,r){n=e,i=t,s=r},function(){e.cancel()});return e.then(function(e){t&&t(e),n(e)},function(e){r&&r(e),i(e)},s),a}var o=e,i={};return o.Promise.addEventListener("error",r),{decoratePromise:n,Class:o.Class,xhr:o.xhr,Promise:o.Promise,TPromise:o.Promise,PPromise:o.Promise,Utilities:o.Utilities}}),define("vs/base/common/worker/workerProtocol",["require","exports","vs/base/common/winjs.base"],function(e,t,r){t.MessageType={INITIALIZE:"$initialize",REPLY:"$reply",PRINT:"$print"},t.ReplyType={COMPLETE:"complete",ERROR:"error",PROGRESS:"progress"},t.PrintType={LOG:"log",DEBUG:"debug",INFO:"info",WARN:"warn",ERROR:"error"};var n=function(){function e(e){this._requester=e,this._bigHandler=null}return e.prototype.callOnRemote=function(e,t,r){return this._requester.request("_proxyObj",{proxyId:e,path:t,args:r})},e.prototype.registerBigHandler=function(e){this._bigHandler=e},e.prototype.handleMessage=function(e){if(!this._bigHandler)throw new Error("got message before big handler attached!");return this._invokeHandler(e.proxyId,e.path,e.args)},e.prototype._invokeHandler=function(e,t,n){try{return r.TPromise.as(this._bigHandler.handle(e,t,n))}catch(o){return r.Promise.wrapError(o)}},e}();t.RemoteCom=n}),define("vs/base/common/worker/workerServer",["require","exports","vs/base/common/winjs.base","vs/base/common/worker/workerProtocol","vs/base/common/errors","vs/base/common/remote","vs/base/common/marshalling"],function(e,t,r,n,o,i,s){function a(e){return new u(e)}var u=function(){function t(e){this._postSerializedMessage=e,this._workerId=0,this._requestHandler=null,this._lastReq=0,this._awaitedReplies={},this._bindConsole(),this._remoteCom=new n.RemoteCom(this),this._proxiesMarshalling=new i.ProxiesMarshallingContribution(this._remoteCom)}return t.prototype.getRemoteCom=function(){return this._remoteCom},t.prototype._bindConsole=function(){self.console={log:this._sendPrintMessage.bind(this,n.PrintType.LOG),debug:this._sendPrintMessage.bind(this,n.PrintType.DEBUG),info:this._sendPrintMessage.bind(this,n.PrintType.INFO),warn:this._sendPrintMessage.bind(this,n.PrintType.WARN),error:this._sendPrintMessage.bind(this,n.PrintType.ERROR)},o.setUnexpectedErrorHandler(function(e){self.console.error(e)})},t.prototype._sendPrintMessage=function(e){for(var t=[],r=1;r0;)self.onmessage(s.shift())})}(); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/browser/viewParts/lineNumbers/flipped-cursor.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/browser/viewParts/lineNumbers/flipped-cursor.svg new file mode 100755 index 0000000000000000000000000000000000000000..0a2860f368fe0060b3da5a2507b75c4f441ad459 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/browser/viewParts/lineNumbers/flipped-cursor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/modes/nullWorker.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/modes/nullWorker.js new file mode 100755 index 0000000000000000000000000000000000000000..d5a98a17bd065a11d2d9d4188f7abd5895d4af13 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/modes/nullWorker.js @@ -0,0 +1 @@ +"use strict";var __extends=this&&this.__extends||function(t,e){function r(){this.constructor=t}for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};define("vs/editor/common/modes/nullWorker",["require","exports","vs/editor/common/modes/abstractModeWorker"],function(t,e,r){var o=function(t){function e(){t.apply(this,arguments)}return __extends(e,t),e}(r.AbstractModeWorker);e.NullWorker=o}); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.js new file mode 100755 index 0000000000000000000000000000000000000000..60e3ad9c9b8431b7f0b1ceee6c055e301344221b --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.js @@ -0,0 +1,11 @@ +"use strict";define("vs/base/common/assert",["require","exports"],function(e,t){function n(e,t){if(!e||null===e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}t.ok=n}),define("vs/base/common/collections",["require","exports"],function(e,t){function n(){return Object.create(null)}function r(){return Object.create(null)}function o(e,t,n){void 0===n&&(n=null);var r=String(t);return a(e,r)?e[r]:n}function i(e,t,n){var r=String(t);return a(e,r)?e[r]:("function"==typeof n&&(n=n()),e[r]=n,n)}function s(e,t,n){e[n(t)]=t}function a(e,t){return g.call(e,t)}function u(e){return{every:function(t){for(var n in e)if(g.call(e,n)&&!t(n))return!1;return!0}}}function c(e){var t=[];for(var n in e)g.call(e,n)&&t.push(e[n]);return t}function l(e,t){for(var n in e)if(g.call(e,n)){var r=t({key:n,value:e[n]},function(){delete e[n]});if(r===!1)return}}function d(e,t){return g.call(e,t)?(delete e[t],!0):!1}function h(e,t){var r=n();return e.forEach(function(e){return i(r,t(e),[]).push(e)}),r}function p(e){var n=e.length;return 0===n?t.EmptyIterable:1===n?e[0]:{every:function(t){for(var r=0;n>r;r++)if(!e[r].every(t))return!1;return!0}}}function f(e){return{every:function(t){return t(e)}}}function m(e){if(Array.isArray(e))return e;var t=[];return e.every(function(e){return t.push(e),!0}),t}t.createStringDictionary=n,t.createNumberDictionary=r,t.lookup=o,t.lookupOrInsert=i,t.insert=s;var g=Object.prototype.hasOwnProperty;t.contains=a,t.keys=u,t.values=c,t.forEach=l,t.remove=d,t.groupBy=h,t.EmptyIterable={every:function(e){return!0}},t.combine=p,t.singleton=f,t.toArray=m;var v=function(){function e(e){this.size=e,this.cache=Object.create(null),this.order=[]}return e.prototype.get=function(e){var t=this.cache[e];return t&&t.element},e.prototype.put=function(e,t,n){var r=this.cache[e],o={element:t,onRemove:n};this.cache[e]=o,r||this.order.push(e),this.swipe()},e.prototype.swipe=function(){for(;this.order.length>this.size;){var e=this.order.shift(),t=this.cache[e];t.onRemove(),delete this.cache[e]}},e}();t.LimitedSizeCache=v}),define("vs/base/common/diff/diffChange",["require","exports"],function(e,t){t.DifferenceType={Add:0,Remove:1,Change:2};var n=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getChangeType=function(){return 0===this.originalLength?t.DifferenceType.Add:0===this.modifiedLength?t.DifferenceType.Remove:t.DifferenceType.Change},e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();t.DiffChange=n}),define("vs/base/common/diff/diff",["require","exports","vs/base/common/diff/diffChange"],function(e,t,n){var r=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}();t.Debug=r;var o=function(){function e(){}return e.Copy=function(e,t,n,r,o){for(var i=0;o>i;i++)n[r+i]=e[t+i]},e}();t.MyArray=o;var i=1447,s=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new n.DiffChange(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}(),a=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_originalIds=[],this.m_modifiedIds=[],this.m_forwardHistory=[],this.m_reverseHistory=[],this.ComputeUniqueIdentifiers()}return e.prototype.ComputeUniqueIdentifiers=function(){var e=this.OriginalSequence.getLength(),t=this.ModifiedSequence.getLength();this.m_originalIds=new Array(e),this.m_modifiedIds=new Array(t);var n,r={},o=1;for(n=0;e>n;n++){var i=this.OriginalSequence.getElementHash(n);r.hasOwnProperty(i)?this.m_originalIds[n]=r[i]:(this.m_originalIds[n]=o++,r[i]=this.m_originalIds[n])}for(n=0;t>n;n++){var s=this.ModifiedSequence.getElementHash(n);r.hasOwnProperty(s)?this.m_modifiedIds[n]=r[s]:(this.m_modifiedIds[n]=o++,r[s]=this.m_modifiedIds[n])}},e.prototype.ElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_modifiedIds[t]},e.prototype.ComputeDiff=function(){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1)},e.prototype._ComputeDiff=function(e,t,n,r){var o=[!1];return this.ComputeDiffRecursive(e,t,n,r,o)},e.prototype.ComputeDiffRecursive=function(e,t,o,i,s){for(s[0]=!1;t>=e&&i>=o&&this.ElementsAreEqual(e,o);)e++,o++;for(;t>=e&&i>=o&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||o>i){var a;return i>=o?(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n.DiffChange(e,0,o,i-o+1)]):t>=e?(r.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n.DiffChange(e,t-e+1,o,0)]):(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),r.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],c=[0],l=this.ComputeRecursionPoint(e,t,o,i,u,c,s),d=u[0],h=c[0];if(null!==l)return l;if(!s[0]){var p=this.ComputeDiffRecursive(e,d,o,h,s),f=[];return f=s[0]?[new n.DiffChange(d+1,t-(d+1)+1,h+1,i-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,i,s),this.ConcatenateChanges(p,f)}return[new n.DiffChange(e,t-e+1,o,i-o+1)]},e.prototype.WALKTRACE=function(e,t,r,o,i,a,u,c,l,d,h,p,f,m,g,v,_,y){var k,b=null,E=null,T=new s,S=t,C=r,M=f[0]-v[0]-o,w=Number.MIN_VALUE,I=this.m_forwardHistory.length-1;do k=M+e,k===S||C>k&&l[k-1]h&&T.MarkNextChange(),w=h,T.AddModifiedElement(h+1,m),M=k+1-e):(h=l[k-1]+1,m=h-M-o,w>h&&T.MarkNextChange(),w=h-1,T.AddOriginalElement(h,m+1),M=k-1-e),I>=0&&(l=this.m_forwardHistory[I],e=l[0],S=1,C=l.length-1);while(--I>=-1);if(b=T.getReverseChanges(),y[0]){var x=f[0]+1,L=v[0]+1;if(null!==b&&b.length>0){var R=b[b.length-1];x=Math.max(x,R.getOriginalEnd()),L=Math.max(L,R.getModifiedEnd())}E=[new n.DiffChange(x,p-x+1,L,g-L+1)]}else{T=new s,S=a,C=u,M=f[0]-v[0]-c,w=Number.MAX_VALUE,I=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do k=M+i,k===S||C>k&&d[k-1]>=d[k+1]?(h=d[k+1]-1,m=h-M-c,h>w&&T.MarkNextChange(),w=h+1,T.AddOriginalElement(h+1,m+1),M=k+1-i):(h=d[k-1],m=h-M-c,h>w&&T.MarkNextChange(),w=h,T.AddModifiedElement(h+1,m+1),M=k-1-i),I>=0&&(d=this.m_reverseHistory[I],i=d[0],S=1,C=d.length-1);while(--I>=-1);E=T.getChanges()}return this.ConcatenateChanges(b,E)},e.prototype.ComputeRecursionPoint=function(e,t,r,s,a,u,c){var l,d,h,p=0,f=0,m=0,g=0;e--,r--,a[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var v=t-e+(s-r),_=v+1,y=new Array(_),k=new Array(_),b=s-r,E=t-e,T=e-r,S=t-s,C=E-b,M=C%2===0;y[b]=e,k[E]=t,c[0]=!1;var w,I;for(h=1;v/2+1>=h;h++){var x=0,L=0;for(p=this.ClipDiagonalBound(b-h,h,b,_),f=this.ClipDiagonalBound(b+h,h,b,_),w=p;f>=w;w+=2){for(l=w===p||f>w&&y[w-1]l&&s>d&&this.ElementsAreEqual(l+1,d+1);)l++,d++;if(y[w]=l,l+d>x+L&&(x=l,L=d),!M&&Math.abs(w-E)<=h-1&&l>=k[w])return a[0]=l,u[0]=d,I<=k[w]&&i>0&&i+1>=h?this.WALKTRACE(b,p,f,T,E,m,g,S,y,k,l,t,a,d,s,u,M,c):null}var R=(x-e+(L-r)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(x,this.OriginalSequence,R))return c[0]=!0,a[0]=x,u[0]=L,R>0&&i>0&&i+1>=h?this.WALKTRACE(b,p,f,T,E,m,g,S,y,k,l,t,a,d,s,u,M,c):(e++,r++,[new n.DiffChange(e,t-e+1,r,s-r+1)]);for(m=this.ClipDiagonalBound(E-h,h,E,_),g=this.ClipDiagonalBound(E+h,h,E,_),w=m;g>=w;w+=2){for(l=w===m||g>w&&k[w-1]>=k[w+1]?k[w+1]-1:k[w-1],d=l-(w-E)-S,I=l;l>e&&d>r&&this.ElementsAreEqual(l,d);)l--,d--;if(k[w]=l,M&&Math.abs(w-b)<=h&&l<=y[w])return a[0]=l,u[0]=d,I>=y[w]&&i>0&&i+1>=h?this.WALKTRACE(b,p,f,T,E,m,g,S,y,k,l,t,a,d,s,u,M,c):null}if(i>=h){var N=new Array(f-p+2);N[0]=b-p+1,o.Copy(y,p,N,1,f-p+1),this.m_forwardHistory.push(N),N=new Array(g-m+2),N[0]=E-m+1,o.Copy(k,m,N,1,g-m+1),this.m_reverseHistory.push(N)}}return this.WALKTRACE(b,p,f,T,E,m,g,S,y,k,l,t,a,d,s,u,M,c)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),o.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],o.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),o.Copy(e,0,r,0,e.length),o.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,o){if(r.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),r.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 i=e.originalStart,s=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),o[0]=new n.DiffChange(i,s,a,u),!0}return o[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&r>e)return e;var o=n,i=r-n-1,s=t%2===0;if(0>e){var a=o%2===0;return s===a?0:1}var u=i%2===0;return s===u?r-1:r-2},e}();t.LcsDiff=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/events",["require","exports"],function(e,t){var n=function(){function e(e){this.time=(new Date).getTime(),this.originalEvent=e,this.source=null}return e}();t.Event=n;var r=function(e){function t(t,n,r,o){e.call(this,o),this.key=t,this.oldValue=n,this.newValue=r}return __extends(t,e),t}(n);t.PropertyChangeEvent=r;var o=function(e){function t(t,n){e.call(this,n),this.element=t}return __extends(t,e),t}(n);t.ViewerEvent=o,t.EventType={PROPERTY_CHANGED:"propertyChanged",SELECTION:"selection",FOCUS:"focus",BLUR:"blur",HIGHLIGHT:"highlight",EXPAND:"expand",COLLAPSE:"collapse",TOGGLE:"toggle",CONTENTS_CHANGED:"contentsChanged",BEFORE_RUN:"beforeRun",RUN:"run",EDIT:"edit",SAVE:"save",CANCEL:"cancel",CHANGE:"change",DISPOSE:"dispose"}}),define("vs/base/common/hash",["require","exports"],function(e,t){function n(e){for(var t=1540483477,n=24,r=0,o=e.length,i=o,s=0^i,a=r;i>=2;){var u=e.charCodeAt(a),c=e.charCodeAt(a+1),l=u|c<<16;l*=t,l^=l>>n,l*=t,s*=t,s^=l,a+=2,i-=2}return 1===i&&(s^=e.charCodeAt(a),s*=t),s^=s>>13,s*=t,s^=s>>15}function r(e,t){return(t<<5)+t+e&2147483647}t.computeMurmur2StringHashCode=n,t.combine=r}),define("vs/base/common/http",["require","exports"],function(e,t){function n(e){return e>=300&&303>=e||307===e}function r(e,t,n,r){var o,i;return{header:function(n){if("undefined"==typeof i)for(i=Object.create(null),c.lastIndex=t;;){var r=c.exec(e);if(!r)break;if(i[r[1].toLowerCase()]=r[2],r[3])break}return i[n.toLowerCase()]},value:function(){return"undefined"==typeof o&&(o=e.substr(n+2,r)),o}}}function o(e,t,n){void 0===n&&(n=0);var o=e.responseText;for(u.lastIndex=n;;){var i=u.exec(o);if(!i)return n;var s=parseInt(i[1],10);if(o.lengtht;t++)e[t]&&e[t].dispose();return[]}function r(){for(var e=[],t=0;t0;)e.pop()();return e}return null}return null}t.empty=Object.freeze({dispose:function(){}}),t.disposeAll=n,t.combinedDispose=r,t.combinedDispose2=o,t.fnToDisposable=i,t.toDisposable=s,t.cAll=a}),define("vs/base/common/paths",["require","exports","vs/base/common/platform"],function(e,t,n){function r(e,n){e=o(e),n=o(n);for(var r=e.split(t.sep),i=n.split(t.sep);r.length>0&&i.length>0&&r[0]===i[0];)r.shift(),i.shift();for(var s=0,a=r.length;a>s;s++)i.unshift("..");return i.join(t.sep)}function o(e,r){if(!e)return e;if(!g.test(e)){var o=r&&n.isWindows?"/":"\\";if(-1===e.indexOf(o))return e}for(var i=e.split(/[\\\/]/),s=0,a=i.length;a>s;s++)"."===i[s]&&i[s+1]?(i.splice(s,1),s-=1):".."===i[s]&&i[s-1]&&(i.splice(s-1,2),s-=2);return i.join(r?t.nativeSep:t.sep)}function i(e){function t(){return"."===n||"/"===n||"\\"===n?(n=void 0,r=!0):n=s(n),{value:n,done:r}}var n=e,r=!1;return{next:t}}function s(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?".":0===~t?e[0]:e.substring(0,~t)}function a(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?e:~t===e.length-1?a(e.substring(0,e.length-1)):e.substr(~t+1)}function u(e){e=a(e);var t=~e.lastIndexOf(".");return t?e.substring(~t):""}function c(e){if(!e)return 0;if(e=e.replace(/\/|\\/g,"/"),"/"===e[0])return"/"!==e[1]?1:2;if(":"===e[1])return"/"===e[2]?3:2;if(0===e.indexOf("file:///"))return 8;var t=e.indexOf("://");return-1!==t?t+3:0}function l(){for(var e=[],t=0;t1&&"."===e[0]}function m(e,t){if(e===t)return!0;e=o(e),t=o(t);var r=t.length,i=t.charCodeAt(r-1);if(i===v&&(t=t.substring(0,r-1),r-=1),e===t)return!0;if(n.isLinux||(e=e.toLowerCase(),t=t.toLowerCase()),e===t)return!0;if(0!==e.indexOf(t))return!1;var s=e.charCodeAt(r);return s===v}t.sep="/",t.nativeSep=n.isWindows?"\\":"/",t.relative=r;var g=/[\\\/]\.\.?[\\\/]?|[\\\/]?\.\.?[\\\/]/;t.normalize=o,t.dirnames=i,t.dirname=s,t.basename=a,t.extname=u,t.join=l,t.isUNC=d,t.isAbsolute=h,t.makeAbsolute=p,t.isRelative=f;var v="/".charCodeAt(0);t.isEqualOrParent=m}),define("vs/base/common/stopwatch",["require","exports","vs/base/common/platform"],function(e,t,n){var r=n.globals.performance&&"function"==typeof n.globals.performance.now,o=function(){function e(e){this._startTime=e,this._stopTime=-1}return e.create=function(){return new e(r?n.globals.performance.now():(new Date).getTime())},e.prototype.stop=function(){this._stopTime=r?n.globals.performance.now():(new Date).getTime()},e.prototype.elapsed=function(){if(-1!==this._stopTime)return this._stopTime-this._startTime;var e=r?n.globals.performance.now():(new Date).getTime();return e-this._startTime},e}();t.StopWatch=o}),define("vs/base/common/graph",["require","exports","vs/base/common/types","vs/base/common/collections"],function(e,t,n,r){function o(e){return{data:e,incoming:{},outgoing:{}}}t.newNode=o;var i=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return r.forEach(this._nodes,function(t){n.isEmptyObject(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.traverse=function(e,t,n){var r=this.lookup(e);r&&this._traverse(r,t,{},n)},e.prototype._traverse=function(e,t,n,o){var i=this,s=this._hashFn(e.data);if(!r.contains(n,s)){n[s]=!0,o(e.data);var a=t?e.outgoing:e.incoming;r.forEach(a,function(e){return i._traverse(e.value,t,n,o)})}},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=r,r.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],r.forEach(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=r.lookup(this._nodes,t);return n||(n=o(e),this._nodes[t]=n),n},e.prototype.lookup=function(e){return r.lookup(this._nodes,this._hashFn(e))},Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this._nodes).length},enumerable:!0,configurable:!0}),e}();t.Graph=i}),define("vs/base/common/uri",["require","exports","vs/base/common/marshalling","vs/base/common/platform"],function(e,t,n,r){function o(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}var i=function(){function e(){this._scheme=e._empty,this._authority=e._empty,this._path=e._empty,this._query=e._empty,this._fragment=e._empty}return Object.defineProperty(e.prototype,"scheme",{get:function(){return this._scheme},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"authority",{get:function(){return this._authority},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._path},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"query",{get:function(){return this._query},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fragment",{get:function(){return this._fragment},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fsPath",{get:function(){if(!this._fsPath){var t;t=this._authority&&"file"===this.scheme?"//"+this._authority+this._path:e._driveLetterPath.test(this._path)?this._path[1].toLowerCase()+this._path.substr(2):this._path,r.isWindows&&(t=t.replace(/\//g,"\\")),this._fsPath=t}return this._fsPath},enumerable:!0,configurable:!0}),e.prototype["with"]=function(t,n,r,o,i){var s=new e;return s._scheme=t||this.scheme,s._authority=n||this.authority,s._path=r||this.path,s._query=o||this.query,s._fragment=i||this.fragment,e._validate(s),s},e.prototype.withScheme=function(e){return this["with"](e,void 0,void 0,void 0,void 0)},e.prototype.withAuthority=function(e){return this["with"](void 0,e,void 0,void 0,void 0)},e.prototype.withPath=function(e){return this["with"](void 0,void 0,e,void 0,void 0)},e.prototype.withQuery=function(e){return this["with"](void 0,void 0,void 0,e,void 0)},e.prototype.withFragment=function(e){return this["with"](void 0,void 0,void 0,void 0,e)},e.parse=function(t){var n=e._parse(t);return n=n["with"](void 0,decodeURIComponent(n.authority),decodeURIComponent(n.path),decodeURIComponent(n.query),decodeURIComponent(n.fragment))},e.file=function(t){t=t.replace(/\\/g,"/"),t=t.replace(/%/g,"%25"),t=t.replace(/#/g,"%23"),t=t.replace(/\?/g,"%3F"),t=e._driveLetter.test(t)?"/"+t:t;var n=e._parse(t);if(n.scheme||n.fragment||n.query)throw new Error;return n=n["with"]("file",void 0,decodeURIComponent(n.path),void 0,void 0)},e._parse=function(t){var n=new e,r=e._regexp.exec(t);return r&&(n._scheme=r[2]||n._scheme,n._authority=r[4]||n._authority,n._path=r[5]||n._path,n._query=r[7]||n._query,n._fragment=r[9]||n._fragment),e._validate(n),n},e.create=function(t,n,r,o,i){return(new e)["with"](t,n,r,o,i)},e._validate=function(e){if(e.authority&&e.path&&"/"!==e.path[0])throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character');if(!e.authority&&0===e.path.indexOf("//"))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')},e.prototype.toString=function(){if(!this._formatted){var t=[];if(this._scheme&&(t.push(this._scheme),t.push(":")),(this._authority||"file"===this._scheme)&&t.push("//"),this._authority){var n,r=this._authority;r=r.toLowerCase(),n=r.indexOf(":"),-1===n?t.push(o(r)):(t.push(o(r.substr(0,n))),t.push(r.substr(n)))}if(this._path){var i,s=this._path;e._driveLetterPath.test(s)?s="/"+s[1].toLowerCase()+s.substr(2):e._driveLetter.test(s)&&(s=s[0].toLowerCase()+s.substr(1)),i=s.split("/");for(var a=0,u=i.length;u>a;a++)i[a]=o(i[a]);t.push(i.join("/"))}if(this._query){var c=/https?/i.test(this.scheme)?encodeURI:o;t.push("?"),t.push(c(this._query))}this._fragment&&(t.push("#"),t.push(o(this._fragment))),this._formatted=t.join("")}return this._formatted},e.prototype.toJSON=function(){return this.toString()},e.prototype._toSerialized=function(){return{$isURI:!0,_scheme:this._scheme,_authority:this._authority,_path:this._path,_query:this._query,_fragment:this._fragment,_fsPath:this._fsPath,_formatted:this._formatted}},e._fromSerialized=function(t){var n=new e;return n._scheme=t._scheme,n._authority=t._authority,n._path=t._path,n._query=t._query,n._fragment=t._fragment,n._fsPath=t._fsPath,n._formatted=t._formatted,n},e.isURI=function(t){return t instanceof e?!0:t?"string"!=typeof t.scheme?!1:"string"!=typeof t.authority?!1:"string"!=typeof t.fsPath?!1:"string"!=typeof t.query?!1:"string"!=typeof t.fragment?!1:"function"!=typeof t["with"]?!1:"function"!=typeof t.withScheme?!1:"function"!=typeof t.withAuthority?!1:"function"!=typeof t.withPath?!1:"function"!=typeof t.withQuery?!1:"function"!=typeof t.withFragment?!1:"function"!=typeof t.toString?!1:"function"!=typeof t.toJSON?!1:!0:!1},e._empty="",e._regexp=/^(([^:\/?#]+?):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,e._driveLetterPath=/^\/[a-zA-z]:/,e._driveLetter=/^[a-zA-z]:/,e}();Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i,n.registerMarshallingContribution({canSerialize:function(e){return i.isURI(e)},serialize:function(e,t){return e._toSerialized()},canDeserialize:function(e){return e.$isURI},deserialize:function(e,t){return i._fromSerialized(e)}})}),define("vs/editor/common/config/defaultConfig",["require","exports"],function(e,t){var n=function(){function e(){this.editor={lineNumbers:!0,selectOnLineNumbers:!0,lineNumbersMinChars:5,glyphMargin:!1,lineDecorationsWidth:10,revealHorizontalRightPadding:30,roundedSelection:!0,theme:"vs",readOnly:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1},overviewRulerLanes:2,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,automaticLayout:!1,wrappingColumn:300,wrappingIndent:"same",wordWrapBreakBeforeCharacters:"{([+",wordWrapBreakAfterCharacters:" })]?|&,;",wordWrapBreakObtrusiveCharacters:".",tabFocusMode:!1,longLineBoundary:300,forcedTokenizationBoundary:1e3,hover:!0,contextmenu:!0,mouseWheelScrollSensitivity:1,quickSuggestions:!0,quickSuggestionsDelay:10,iconsInSuggestions:!0,autoClosingBrackets:!0,formatOnType:!1,suggestOnTriggerCharacters:!0,selectionHighlight:!0,outlineMarkers:!1,referenceInfos:!0,renderWhitespace:!1,tabSize:"auto",insertSpaces:"auto",fontFamily:"",fontSize:0,lineHeight:0}}return e}();t.DefaultConfig=new n}),define("vs/editor/common/core/arrays",["require","exports"],function(e,t){var n;!function(e){function t(e,t){for(var n,r=0,o=e.length-1;o>r;)n=r+Math.ceil((o-r)/2),e[n].startIndex>t?o=n-1:r=n;return r}e.findIndexInSegmentsArray=t}(n=t.Arrays||(t.Arrays={}))}),define("vs/editor/common/core/idGenerator",["require","exports"],function(e,t){var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.generate=function(){return this._prefix+ ++this._lastId},e}();t.IdGenerator=n}),define("vs/editor/common/core/position",["require","exports"],function(e,t){var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(e){return!!e&&this.lineNumber===e.lineNumber&&this.column===e.column},e.prototype.isBefore=function(e){return this.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.cloneRange=function(){return new e(this.startLineNumber,this.startColumn,this.endLineNumber,this.endColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return new e(this.startLineNumber,this.startColumn,this.startLineNumber,this.startColumn)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.containsPosition=function(e,t){return t.lineNumbere.endLineNumber?!1:t.lineNumber===e.startLineNumber&&t.columne.endColumn?!1:!0},e.containsRange=function(e,t){return t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber?!1:t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn?!1:!0},e.areIntersectingOrTouching=function(e,t){return e.endLineNumberr?(r=a,o=u):r===a&&(o=Math.max(o,u)),i>c?(i=c,s=l):i===c&&(s=Math.min(s,l)),r>i?null:r===i&&o>s?null:new e(r,o,i,s)},e.plusRange=function(t,n){var r,o,i,s;return n.startLineNumbert.endLineNumber?(i=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(i=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(i=t.endLineNumber,s=t.endColumn),new e(r,o,i,s)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.compareRangesUsingStarts=function(e,t){return e.startLineNumber===t.startLineNumber?e.startColumn===t.startColumn?e.endLineNumber===t.endLineNumber?e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber:e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e.hashCode=function(e){return 17*e.startLineNumber+23*e.startColumn+29*e.endLineNumber+37*e.endColumn},e.collapseToStart=function(e){return{startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.startLineNumber,endColumn:e.startColumn}},e}();t.Range=r}),define("vs/editor/common/modes",["require","exports"],function(e,t){function n(e){return null===e||"object"!=typeof e?!1:"string"!=typeof e.label||"string"!=typeof e.codeSnippet||"string"!=typeof e.type?!1:e.highlights&&!Array.isArray(e.highlights)?!1:e.typeLabel&&"string"!=typeof e.typeLabel?!1:e.documentationLabel&&"string"!=typeof e.documentationLabel?!1:!0}!function(e){e[e.None=0]="None",e[e.Open=1]="Open",e[e.Close=-1]="Close"}(t.Bracket||(t.Bracket={}));t.Bracket;t.isISuggestion=n,function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(t.IndentAction||(t.IndentAction={}));t.IndentAction}),define("vs/editor/common/modes/abstractState",["require","exports"],function(e,t){var n=function(){function e(e,t){void 0===t&&(t=null),this.mode=e,this.stateData=t}return e.prototype.getMode=function(){return this.mode},e.prototype.clone=function(){var e=this.makeClone();return e.initializeFrom(this),e},e.prototype.makeClone=function(){throw new Error("Abstract Method")},e.prototype.initializeFrom=function(e){this.stateData=null!==e.stateData?e.stateData.clone():null},e.prototype.getStateData=function(){return this.stateData},e.prototype.setStateData=function(e){this.stateData=e},e.prototype.equals=function(t){return null===t||this.mode!==t.getMode()?!1:t instanceof e?e.safeEquals(this.stateData,t.stateData):!1},e.prototype.tokenize=function(e){throw new Error("Abstract Method")},e.safeEquals=function(e,t){return null===e&&null===t?!0:null===e||null===t?!1:e.equals(t)},e.safeClone=function(e){ +return e?e.clone():null},e}();t.AbstractState=n}),define("vs/editor/common/modes/lineStream",["require","exports"],function(e,t){var n=function(){function e(e){this._source=e,this.sourceLength=e.length,this._pos=0,this.whitespace="  ",this.whitespaceArr=this.stringToArray(this.whitespace),this.separators="",this.separatorsArr=this.stringToArray(this.separators),this.tokenStart=-1,this.tokenEnd=-1}return e.prototype.stringToArray=function(t){return e.STRING_TO_ARRAY_CACHE.hasOwnProperty(t)||(e.STRING_TO_ARRAY_CACHE[t]=this.actualStringToArray(t)),e.STRING_TO_ARRAY_CACHE[t]},e.prototype.actualStringToArray=function(e){for(var t=0,n=0;nn;n++)r[n]=!1;for(n=0;n=this.sourceLength},e.prototype.peek=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");return this._source[this._pos]},e.prototype.next=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");return this.tokenStart=-1,this.tokenEnd=-1,this._source[this._pos++]},e.prototype.next2=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");this.tokenStart=-1,this.tokenEnd=-1,this._pos++},e.prototype.advance=function(e){if(0===e)return"";var t=this._pos;return this._pos+=e,this.tokenStart=-1,this.tokenEnd=-1,this._source.substring(t,this._pos)},e.prototype._advance2=function(e){return 0===e?e:(this._pos+=e,this.tokenStart=-1,this.tokenEnd=-1,e)},e.prototype.advanceToEOS=function(){var e=this._pos;return this._pos=this.sourceLength,this.resetPeekedToken(),this._source.substring(e,this._pos)},e.prototype.goBack=function(e){this._pos-=e,this.resetPeekedToken()},e.prototype.createPeeker=function(e){var t=this;if(e instanceof RegExp)return function(){var n=e.exec(t._source.substr(t._pos));if(null===n)return 0;if(0!==n.index)throw new Error('Regular expression must begin with the character "^"');return n[0].length};if((e instanceof String||"string"==typeof e)&&e)return function(){for(var n=e.length,r=t._pos+n<=t.sourceLength,o=0;r&&n>o;o++)r=t._source.charCodeAt(t._pos+o)===e.charCodeAt(o);return r?n:0};throw new Error("Condition must be either a regular expression, function or a non-empty string")},e.prototype._advanceIfStringCaseInsensitive=function(e){var t,n=this._pos,r=this._source,o=e.length;if(1>o||n+o>this.sourceLength)return 0;for(t=0;o>t;t++)if(r.charAt(n+t).toLowerCase()!==e.charAt(t).toLowerCase())return 0;return o},e.prototype.advanceIfStringCaseInsensitive=function(e){return this.advance(this._advanceIfStringCaseInsensitive(e))},e.prototype.advanceIfStringCaseInsensitive2=function(e){return this._advance2(this._advanceIfStringCaseInsensitive(e))},e.prototype._advanceIfString=function(e){var t,n=this._pos,r=this._source,o=e.length;if(1>o||n+o>this.sourceLength)return 0;for(t=0;o>t;t++)if(r.charCodeAt(n+t)!==e.charCodeAt(t))return 0;return o},e.prototype.advanceIfString=function(e){return this.advance(this._advanceIfString(e))},e.prototype.advanceIfString2=function(e){return this._advance2(this._advanceIfString(e))},e.prototype._advanceIfCharCode=function(e){return this._pos=this.sourceLength?0:e.test(this._source.substr(this._pos))?RegExp.lastMatch.length:0},e.prototype.advanceIfRegExp=function(e){return this.advance(this._advanceIfRegExp(e))},e.prototype.advanceIfRegExp2=function(e){return this._advance2(this._advanceIfRegExp(e))},e.prototype.advanceLoop=function(e,t,n){if(this.eos())return"";var r=this.createPeeker(e),o=this._pos,i=0,s=null;for(s=t?function(e){return e>0}:function(e){return 0===e};!this.eos()&&s(i=r());)i>0?this.advance(i):this.next();return n&&!this.eos()&&this.advance(i),this._source.substring(o,this._pos)},e.prototype.advanceWhile=function(e){return this.advanceLoop(e,!0,!1)},e.prototype.advanceUntil=function(e,t){return this.advanceLoop(e,!1,t)},e.prototype._advanceUntilString=function(e,t){if(this.eos()||0===e.length)return 0;var n=this._pos,r=this._source.indexOf(e,n);return-1===r?this.sourceLength-n:t?r+e.length-n:r-n},e.prototype.advanceUntilString=function(e,t){return this.advance(this._advanceUntilString(e,t))},e.prototype.advanceUntilString2=function(e,t){return this._advance2(this._advanceUntilString(e,t))},e.prototype.resetPeekedToken=function(){this.tokenStart=-1,this.tokenEnd=-1},e.prototype.setTokenRules=function(e,t){(this.separators!==e||this.whitespace!==t)&&(this.separators=e,this.separatorsArr=this.stringToArray(this.separators),this.whitespace=t,this.whitespaceArr=this.stringToArray(this.whitespace),this.resetPeekedToken())},e.prototype.peekToken=function(){if(-1!==this.tokenStart)return this._source.substring(this.tokenStart,this.tokenEnd);var e=this._source,t=this.sourceLength,n=this.whitespaceArr,r=this.separatorsArr,o=this._pos;if(o>=t)throw new Error("Stream is at the end");for(;n[e.charCodeAt(o)]&&t>o;)o++;var i=o;if(r[e.charCodeAt(i)]&&t>i)i++;else for(;!r[e.charCodeAt(i)]&&!n[e.charCodeAt(i)]&&t>i;)i++;return this.tokenStart=o,this.tokenEnd=i,e.substring(o,i)},e.prototype.nextToken=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");var e;return e=-1===this.tokenStart?this.peekToken():this._source.substring(this.tokenStart,this.tokenEnd),this._pos=this.tokenEnd,this.tokenStart=-1,this.tokenEnd=-1,e},e.prototype.peekWhitespace=function(){for(var e=this._source,t=this.sourceLength,n=this.whitespaceArr,r=this._pos;n[e.charCodeAt(r)]&&t>r;)r++;return e.substring(this._pos,r)},e.prototype._skipWhitespace=function(){for(var e=this._source,t=this.sourceLength,n=this.whitespaceArr,r=this._pos,o=this._pos;n[e.charCodeAt(o)]&&t>o;)o++;return o-r},e.prototype.skipWhitespace=function(){return this.advance(this._skipWhitespace())},e.prototype.skipWhitespace2=function(){return this._advance2(this._skipWhitespace())},e.STRING_TO_ARRAY_CACHE={},e}();t.LineStream=n}),define("vs/editor/common/modes/linkComputer",["require","exports"],function(e,t){function n(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?c.computeLinks(e):[]}var r=[],o=1,i=9,s=10;r[1]={h:2,H:2},r[2]={t:3,T:3},r[3]={t:4,T:4},r[4]={p:5,P:5},r[5]={s:6,S:6,":":7},r[6]={":":7},r[7]={"/":8},r[8]={"/":9};var a;!function(e){e[e.None=0]="None",e[e.ForceTermination=1]="ForceTermination",e[e.CannotEndIn=2]="CannotEndIn"}(a||(a={}));var u=function(){var e=" <>)]}'\"",t=".,;",n=null,r=function(e){for(var t=0,n=0,r=e.length;r>n;n++)t=Math.max(t,e.charCodeAt(n));return t},o=function(e,t){for(var r=0,o=e.length;o>r;r++)n[e.charCodeAt(r)]=t};return function(){if(null===n){var i=Math.max(r(e),r(t));n=[];for(var s=0;i>s;s++)n[s]=a.None;o(e,a.ForceTermination),o(t,a.CannotEndIn)}return n}}(),c=function(){function e(){}return e._createLink=function(e,t,n,r){return{range:{startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:r+1},url:e.substring(n,r)}},e.computeLinks=function(t){var n,c,l,d,h,p,f,m,g,v,_,y,k=[],b=u(),E=b.length;for(n=1,c=t.getLineCount();c>=n;n++){for(l=t.getLineContent(n),d=0,p=l.length,f=0,m=o;p>d;){if(g=l.charAt(d),v=l.charCodeAt(d),y=!1,m===s){if(_=E>v?b[v]:a.None,_===a.ForceTermination){h=d-1;do{if(v=l.charCodeAt(h),_=E>v?b[v]:a.None,_!==a.CannotEndIn)break;h--}while(h>f);k.push(e._createLink(l,n,f,h+1)),y=!0}}else m===i?(_=E>v?b[v]:a.None,_===a.ForceTermination?y=!0:m=s):r[m].hasOwnProperty(g)?m=r[m][g]:y=!0;y&&(m=o,f=d+1),d++}m===s&&k.push(e._createLink(l,n,f,p))}return k},e}();t.computeLinks=n}),define("vs/editor/common/modes/monarch/monarchCommon",["require","exports"],function(e,t){function n(e){return e?!1:!0}function r(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function o(e){return e.replace(/[&<>'"_]/g,"-")}function i(e,t){console.log(e.name+": "+t)}function s(e,t){throw new Error(e.name+": "+t)}function a(e,t,o,i,s){var a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,u=null;return t.replace(a,function(t,a,c,l,d,h,p,f,m){return n(c)?n(l)?!n(d)&&d0;){var n=e.tokenizer[t];if(n)return n;var r=t.lastIndexOf(".");t=0>r?null:t.substr(0,r)}return null}function c(e,t){for(;t&&t.length>0;){var n=e.stateNames[t];if(n)return!0;var r=t.lastIndexOf(".");t=0>r?null:t.substr(0,r)}return!1}t.empty=n,t.fixCase=r,t.sanitize=o,t.log=i,t.throwError=s,t.substituteMatches=a,t.findRules=u,t.stateExists=c}),define("vs/editor/common/modes/monarch/monarchCompile",["require","exports","vs/editor/common/modes/monarch/monarchCommon","vs/editor/common/modes","vs/base/common/objects"],function(e,t,n,r,o){function i(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;var n;for(n in t)if(t.hasOwnProperty(n)&&!e(t[n]))return!1;return!0}function s(e,t,n){return"boolean"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function a(e,t,n){return"string"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function u(e,t){if("string"!=typeof t)return null;for(var r=0;t.indexOf("@")>=0&&5>r;)r++,t=t.replace(/@(\w+)/g,function(r,o){var i="";return"string"==typeof e[o]?i=e[o]:e[o]&&e[o]instanceof RegExp?i=e[o].source:void 0===e[o]?n.throwError(e,"language definition does not contain attribute '"+o+"', used at: "+t):n.throwError(e,"attribute reference '"+o+"' must be a string, used at: "+t),n.empty(i)?"":"(?:"+i+")"});return new RegExp(t,e.ignoreCase?"i":"")}function c(e,t,n,r){if(0>r)return e;if(r=100){r-=100;var o=n.split(".");if(o.unshift(n),r=0&&(i.tokenSubst=!0),"string"==typeof o.bracket&&("@open"===o.bracket?i.bracket=r.Bracket.Open:"@close"===o.bracket?i.bracket=r.Bracket.Close:n.throwError(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t)),o.next)if("string"!=typeof o.next)n.throwError(e,"the next state must be a string value in rule: "+t);else{var s=o.next;/^(@pop|@push|@popall)$/.test(s)||("@"===s[0]&&(s=s.substr(1)),s.indexOf("$")<0&&(n.stateExists(e,n.substituteMatches(e,s,"",[],""))||n.throwError(e,"the next state '"+o.next+"' is not defined in rule: "+t))),i.next=s}return"number"==typeof o.goBack&&(i.goBack=o.goBack),"string"==typeof o.switchTo&&(i.switchTo=o.switchTo),"string"==typeof o.log&&(i.log=o.log),"string"==typeof o.nextEmbedded&&(i.nextEmbedded=o.nextEmbedded,e.usesEmbedded=!0),i}if(Array.isArray(o)){var a,u=[];for(a in o)o.hasOwnProperty(a)&&(u[a]=d(e,t,o[a]));return{group:u}}if(o.cases){var c,h=[];for(c in o.cases)if(o.cases.hasOwnProperty(c)){var p=d(e,t,o.cases[c]);"@default"===c||"@"===c||""===c?h.push({test:null,value:p,name:c}):"@eos"===c?h.push({test:function(e,t,n,r){return r},value:p,name:c}):h.push(l(e,t,c,p))}var f=e.defaultToken;return{test:function(e,t,n,r){var o;for(o in h)if(h.hasOwnProperty(o)){var i=!h[o].test||h[o].test(e,t,n,r);if(i)return h[o].value}return f}}}return n.throwError(e,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+t),""}return{token:""}}function h(e){function t(o,i,u){var c;for(c in u)if(u.hasOwnProperty(c)){var d=u[c],h=d.include;if(h)"string"!=typeof h&&n.throwError(r,"an 'include' attribute must be a string at: "+o),"@"===h[0]&&(h=h.substr(1)),e.tokenizer[h]||n.throwError(r,"include target '"+h+"' is not defined at: "+o),t(o+"."+h,i,e.tokenizer[h]);else{var f=new p(o);if(Array.isArray(d)&&d.length>=1&&d.length<=3)if(f.setRegex(l,d[0]),d.length>=3)if("string"==typeof d[1])f.setAction(l,{token:d[1],next:d[2]});else if("object"==typeof d[1]){var m=d[1];m.next=d[2],f.setAction(l,m)}else n.throwError(r,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+o);else f.setAction(l,d[1]);else d.regex||n.throwError(r,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+o),d.name&&(f.name=a(d.name)),d.matchOnlyAtStart&&(f.matchOnlyAtLineStart=s(d.matchOnlyAtLineStart)),f.setRegex(l,d.regex),f.setAction(l,d.action);i.push(f)}}}if(!e||"object"!=typeof e)throw new Error("Monarch: expecting a language definition object");if("string"!=typeof e.name)throw new Error("Monarch: a language definition must include a string 'name' attribute");var r={};if(r.name=e.name,r.displayName=a(e.displayName,r.name),r.noThrow=!1,r.maxStack=100,r.start=a(e.start),r.ignoreCase=s(e.ignoreCase,!1),r.lineComment=a(e.lineComment,"//"),r.blockCommentStart=a(e.blockCommentStart,"/*"),r.blockCommentEnd=a(e.blockCommentEnd,"*/"),r.tokenPostfix=a(e.tokenPostfix,"."+r.name),r.defaultToken=a(e.defaultToken,"source",function(){n.throwError(r,"the 'defaultToken' must be a string")}),r.usesEmbedded=!1,r.wordDefinition=e.wordDefinition||void 0,!r.lineComment&&e.lineComments&&("string"==typeof e.lineComments?r.lineComment=e.lineComments:"string"==typeof e.lineComments[0]&&(r.lineComment=e.lineComments[0])),r.suggestSupport={textualCompletions:!0,disableAutoTrigger:!1,triggerCharacters:[],snippets:[]},"undefined"!=typeof e.suggestSupport){var o=e.suggestSupport;if(Array.isArray(o.snippets))for(var i=o.snippets,u=0,c=i.length;c>u;u++)"string"==typeof i[u]?r.suggestSupport.snippets.push({type:"snippet",label:i[u],codeSnippet:i[u]}):r.suggestSupport.snippets.push(i[u]);Array.isArray(o.triggerCharacters)&&(r.suggestSupport.triggerCharacters=o.triggerCharacters),"undefined"!=typeof o.textualCompletions&&(r.suggestSupport.textualCompletions=o.textualCompletions),"undefined"!=typeof o.disableAutoTrigger&&(r.suggestSupport.disableAutoTrigger=o.disableAutoTrigger)}var l=e;l.name=r.name,l.displayName=r.displayName,l.ignoreCase=r.ignoreCase,l.noThrow=r.noThrow,l.usesEmbedded=r.usesEmbedded,l.stateNames=e.tokenizer,l.defaultToken=r.defaultToken,e.tokenizer&&"object"==typeof e.tokenizer||n.throwError(r,"a language definition must define the 'tokenizer' attribute as an object"),r.tokenizer=[];var d;for(d in e.tokenizer)if(e.tokenizer.hasOwnProperty(d)){r.start||(r.start=d);var h=e.tokenizer[d];r.tokenizer[d]=new Array,t("tokenizer."+d,r.tokenizer[d],h)}r.usesEmbedded=l.usesEmbedded,e.brackets?Array.isArray(e.brackets)||n.throwError(r,"the 'brackets' attribute must be defined as an array"):e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];var f=[];for(var m in e.brackets)if(e.brackets.hasOwnProperty(m)){var g=e.brackets[m];g&&Array.isArray(g)&&3===g.length&&(g={token:g[2],open:g[0],close:g[1]}),g.open===g.close&&n.throwError(r,"open and close brackets in a 'brackets' attribute must be different: "+g.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required."),"string"==typeof g.open&&"string"==typeof g.token?f.push({token:a(g.token)+r.tokenPostfix,open:n.fixCase(r,a(g.open)),close:n.fixCase(r,a(g.close))}):n.throwError(r,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}r.brackets=f;var v;if(e.autoClosingPairs?(Array.isArray(e.autoClosingPairs)||n.throwError(r,"the 'autoClosingPairs' attribute must be an array of string pairs (as arrays)"),v=e.autoClosingPairs.slice(0)):v=[['"','"'],["'","'"],["@brackets"]],r.autoClosingPairs=[],v)for(var _ in v)if(v.hasOwnProperty(_)){var y,k=v[_];if("@brackets"===k||"@brackets"===k[0]){var b;for(b in f)f.hasOwnProperty(b)&&f[b].open&&1===f[b].open.length&&f[b].close&&1===f[b].close.length&&(y={open:f[b].open,close:f[b].close,notIn:["string","comment"]},r.autoClosingPairs.push(y))}else Array.isArray(k)&&2===k.length&&"string"==typeof k[0]&&1===k[0].length&&"string"==typeof k[1]&&1===k[1].length?(y={open:n.fixCase(r,k[0]),close:n.fixCase(r,k[1]),notIn:["string","comment"]},r.autoClosingPairs.push(y)):"string"==typeof k.open&&1===k.open.length&&"string"==typeof k.close&&1===k.close.length?(y={open:n.fixCase(r,k.open[0]),close:n.fixCase(r,k.close[0]),notIn:["string","comment"]},r.autoClosingPairs.push(y)):n.throwError(r,"every element in an 'autoClosingPairs' array must be a pair of 1 character strings, or a '@brackets' directive")}var E=[];if(e.enhancedBrackets){Array.isArray(e.enhancedBrackets)||n.throwError(r,"the 'enhancedBrackets' attribute must be defined as an array");for(var m in e.enhancedBrackets)if(e.enhancedBrackets.hasOwnProperty(m)){var g=e.enhancedBrackets[m];g.hasOwnProperty("openTrigger")&&"string"!=typeof g.openTrigger&&n.throwError(r,"openTrigger in the 'enhancedBrackets' array must be a string"),!g.hasOwnProperty("open")||g.open instanceof RegExp||n.throwError(r,"open in the 'enhancedBrackets' array must be a regex"),g.hasOwnProperty("closeComplete")&&"string"!=typeof g.closeComplete&&n.throwError(r,"closeComplete in the 'enhancedBrackets' array must be a string"),g.hasOwnProperty("matchCase")&&"boolean"!=typeof g.matchCase&&n.throwError(r,"matchCase in the 'enhancedBrackets' array must be a boolean"),g.hasOwnProperty("closeTrigger")&&"string"!=typeof g.closeTrigger&&n.throwError(r,"closeTrigger in the 'enhancedBrackets' array must be a string"),!g.hasOwnProperty("close")||g.close instanceof RegExp||n.throwError(r,"close in the 'enhancedBrackets' array must be a regex"),g.hasOwnProperty("tokenType")&&("string"!=typeof g.tokenType?n.throwError(r,"tokenType in the 'enhancedBrackets' array must be a string"):g.tokenType+=r.tokenPostfix),E.push(g)}}r.enhancedBrackets=E;for(var T=[],u=0;u0&&"^"===r[0],this.name=this.name+": "+r,this.regex=u(e,"^(?:"+(this.matchOnlyAtLineStart?r.substr(1):r)+")")},e.prototype.setAction=function(e,t){this.action=d(e,this.name,t)},e}();t.compile=h}),define("vs/editor/common/modes/nullMode",["require","exports","vs/editor/common/modes"],function(e,t,n){function r(e,t,r,o,i){void 0===o&&(o=0);var s=[{startIndex:o,type:"",bracket:n.Bracket.None}],a=[{startIndex:o,mode:e}];return{tokens:s,actualStopOffset:o+t.length,endState:r,modeTransitions:a}}var o=function(){function e(e,t){this.mode=e,this.stateData=t}return e.prototype.clone=function(){var t=this.stateData?this.stateData.clone():null;return new e(this.mode,t)},e.prototype.equals=function(e){if(this.mode!==e.getMode())return!1;var t=e.getStateData();return this.stateData||t?this.stateData&&t?this.stateData.equals(t):!1:!0},e.prototype.getMode=function(){return this.mode},e.prototype.tokenize=function(e){return e.advanceToEOS(),{type:""}},e.prototype.getStateData=function(){return this.stateData},e.prototype.setStateData=function(e){this.stateData=e},e}();t.NullState=o;var i=function(){function e(){this.tokenTypeClassificationSupport=this}return e.createWordRegExp=function(e){void 0===e&&(e="");for(var t="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",n="(-?\\d*\\.\\d\\w*)|([^",r=0;r=0||(n+="\\"+t[r]);return n+="\\s]+)",new RegExp(n,"g")},e.prototype.getId=function(){return e.ID},e.prototype.getWordDefinition=function(){return e.DEFAULT_WORD_REGEXP},e.DEFAULT_WORD_REGEXP=e.createWordRegExp(),e.ID="vs.editor.modes.nullMode",e}();t.NullMode=i,t.nullTokenize=r}),define("vs/editor/common/viewModel/prefixSumComputer",["require","exports"],function(e,t){var n=function(){function e(e){this.values=e,this.prefixSum=[];for(var t=0,n=this.values.length;n>t;t++)this.prefixSum[t]=0;this.prefixSumValidIndex=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValue=function(e,t){this.values.splice(e,0,t),this.prefixSum.splice(e,0,0),e-1n;n++)t[n]=0;return t},e.prototype.changeValue=function(e,t){this.values[e]!==t&&(this.values[e]=t,e-1e)return 0;if(e<=this.prefixSumValidIndex)return this.prefixSum[e];var t=this.prefixSumValidIndex+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;e>=n;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex=Math.max(this.prefixSumValidIndex,e),this.prefixSum[e]},e.prototype.getIndexOf=function(e,t){for(var n,r,o,i=0,s=this.values.length-1;s>=i;)if(n=i+(s-i)/2|0,o=this.getAccumulatedValue(n),r=o-this.values[n],r>e)s=n-1;else{if(!(e>=o))break;i=n+1}t.index=n,t.remainder=e-r},e}();t.PrefixSumComputer=n}),define("vs/nls!vs/base/common/json",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/base/common/json",t)}),define("vs/base/common/json",["require","exports","vs/nls!vs/base/common/json"],function(e,t,n){function r(e,t){function n(t,n){for(var r=0,o=0;t>r||!n;){var i=e.charCodeAt(f);if(i>=h._0&&i<=h._9)o=16*o+i-h._0;else if(i>=h.A&&i<=h.F)o=16*o+i-h.A+10;else{if(!(i>=h.a&&i<=h.f))break;o=16*o+i-h.a+10}f++,r++}return t>r&&(o=-1),o}function r(){var t=f;if(e.charCodeAt(f)===h._0)f++;else for(f++;f=m){t+=e.substring(r,f),y=l.UnexpectedEndOfString;break}var o=e.charCodeAt(f);if(o===h.doubleQuote){t+=e.substring(r,f),f++;break}if(o!==h.backslash){if(i(o)){t+=e.substring(r,f),y=l.UnexpectedEndOfString;break}f++}else{if(t+=e.substring(r,f),f++,f>=m){y=l.UnexpectedEndOfString;break}switch(o=e.charCodeAt(f++)){case h.doubleQuote:t+='"';break;case h.backslash:t+="\\";break;case h.slash:t+="/";break;case h.b:t+="\b";break;case h.f:t+="\f";break;case h.n:t+="\n";break;case h.r:t+="\r";break;case h.t:t+=" ";break;case h.u:var o=n(4,!0);o>=0?t+=String.fromCharCode(o):y=l.InvalidUnicode;break;default:y=l.InvalidEscapeCharacter}r=f}}return t}function u(){if(g="",y=l.None,v=f,f>=m)return v=m,_=d.EOF;var t=e.charCodeAt(f);if(o(t)){do f++,g+=String.fromCharCode(t),t=e.charCodeAt(f);while(o(t));return _=d.Trivia}if(i(t))return f++,g+=String.fromCharCode(t),t===h.carriageReturn&&e.charCodeAt(f)===h.lineFeed&&(f++,g+="\n"),_=d.LineBreakTrivia;switch(t){case h.openBrace:return f++,_=d.OpenBraceToken;case h.closeBrace:return f++,_=d.CloseBraceToken;case h.openBracket:return f++,_=d.OpenBracketToken;case h.closeBracket:return f++,_=d.CloseBracketToken;case h.colon:return f++,_=d.ColonToken;case h.comma:return f++,_=d.CommaToken;case h.doubleQuote:return f++,g=a(),_=d.StringLiteral;case h.slash:var n=f-1;if(e.charCodeAt(f+1)===h.slash){for(f+=2;m>f&&!i(e.charCodeAt(f));)f++;return g=e.substring(n,f),_=d.LineCommentTrivia}if(e.charCodeAt(f+1)===h.asterisk){f+=2;for(var u=m-1,p=!1;u>f;){var k=e.charCodeAt(f);if(k===h.asterisk&&e.charCodeAt(f+1)===h.slash){f+=2,p=!0;break}f++}return p||(f++,y=l.UnexpectedEndOfComment),g=e.substring(n,f),_=d.BlockCommentTrivia}return g+=String.fromCharCode(t),f++,_=d.Unknown;case h.minus:if(g+=String.fromCharCode(t),f++,f===m||!s(e.charCodeAt(f)))return _=d.Unknown;case h._0:case h._1:case h._2:case h._3:case h._4:case h._5:case h._6:case h._7:case h._8:case h._9:return g+=r(),_=d.NumericLiteral;default:for(;m>f&&c(t);)f++,t=e.charCodeAt(f);if(v!==f){switch(g=e.substring(v,f)){case"true":return _=d.TrueKeyword;case"false":return _=d.FalseKeyword;case"null":return _=d.NullKeyword}return _=d.Unknown}return g+=String.fromCharCode(t),f++,_=d.Unknown}}function c(e){if(o(e)||i(e))return!1;switch(e){case h.closeBrace:case h.closeBracket:case h.openBrace:case h.openBracket:case h.doubleQuote:case h.colon:case h.comma:return!1}return!0}function p(){var e;do e=u();while(e>=d.LineCommentTrivia&&e<=d.Trivia);return e}void 0===t&&(t=!1);var f=0,m=e.length,g="",v=0,_=d.Unknown,y=l.None;return{getPosition:function(){return f},scan:t?p:u,getToken:function(){return _},getTokenValue:function(){return g},getTokenOffset:function(){return v},getTokenLength:function(){return f-v},getTokenError:function(){return y}}}function o(e){return e===h.space||e===h.tab||e===h.verticalTab||e===h.formFeed||e===h.nonBreakingSpace||e===h.ogham||e>=h.enQuad&&e<=h.zeroWidthSpace||e===h.narrowNoBreakSpace||e===h.mathematicalSpace||e===h.ideographicSpace||e===h.byteOrderMark}function i(e){return e===h.lineFeed||e===h.carriageReturn||e===h.lineSeparator||e===h.paragraphSeparator}function s(e){return e>=h._0&&e<=h._9}function a(e){return e>=h.a&&e<=h.z||e>=h.A&&e<=h.Z}function u(e,t){var n,o,i=r(e),s=[],a=0;do switch(o=i.getPosition(),n=i.scan()){case d.LineCommentTrivia:case d.BlockCommentTrivia:case d.EOF:a!==o&&s.push(e.substring(a,o)),void 0!==t&&s.push(i.getTokenValue().replace(/[^\r\n]/g,t)),a=i.getPosition()}while(n!==d.EOF);return s.join("")}function c(e,t){function o(){for(var e=f.scan();e===d.Unknown;)i(n.localize(0,null)),e=f.scan();return e}function i(e,n,r){if(void 0===n&&(n=[]),void 0===r&&(r=[]),t.push(e),n.length+r.length>0)for(var i=f.getToken();i!==d.EOF;){if(-1!==n.indexOf(i)){o();break}if(-1!==r.indexOf(i))break;i=o()}}function s(){if(f.getToken()!==d.StringLiteral)return p;var e=f.getTokenValue();return o(),e}function a(){var e;switch(f.getToken()){case d.NumericLiteral:try{e=JSON.parse(f.getTokenValue()),"number"!=typeof e&&(i(n.localize(1,null)),e=0)}catch(t){e=0}break;case d.NullKeyword:e=null;break;case d.TrueKeyword:e=!0;break;case d.FalseKeyword:e=!1;break;default:return p}return o(),e}function u(e){var t=s();if(t===p)return i(n.localize(2,null),[],[d.CloseBraceToken,d.CommaToken]),!1;if(f.getToken()===d.ColonToken){o();var r=h();r!==p?e[t]=r:i(n.localize(3,null),[],[d.CloseBraceToken,d.CommaToken])}else i(n.localize(4,null),[],[d.CloseBraceToken,d.CommaToken]);return!0}function c(){if(f.getToken()!==d.OpenBraceToken)return p;var e={};o();for(var t=!1;f.getToken()!==d.CloseBraceToken&&f.getToken()!==d.EOF;){f.getToken()===d.CommaToken?(t||i(n.localize(5,null),[],[]),o()):t&&i(n.localize(6,null),[],[]);var r=u(e);r||i(n.localize(7,null),[],[d.CloseBraceToken,d.CommaToken]),t=!0}return f.getToken()!==d.CloseBraceToken?i(n.localize(8,null),[d.CloseBraceToken],[]):o(),e}function l(){if(f.getToken()!==d.OpenBracketToken)return p;var e=[];o();for(var t=!1;f.getToken()!==d.CloseBracketToken&&f.getToken()!==d.EOF;){f.getToken()===d.CommaToken?(t||i(n.localize(9,null),[],[]),o()):t&&i(n.localize(10,null),[],[]);var r=h();r===p?i(n.localize(11,null),[],[d.CloseBracketToken,d.CommaToken]):e.push(r),t=!0}return f.getToken()!==d.CloseBracketToken?i(n.localize(12,null),[d.CloseBracketToken],[]):o(),e}function h(){var e=l();return e!==p?e:(e=c(),e!==p?e:(e=s(),e!==p?e:a()))}void 0===t&&(t=[]);var p=Object(),f=r(e,!0);o();var m=h();return m===p?void i(n.localize(13,null),[],[]):(f.getToken()!==d.EOF&&i(n.localize(14,null),[],[]),m)}!function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter"}(t.ScanError||(t.ScanError={}));var l=t.ScanError;!function(e){e[e.Unknown=0]="Unknown",e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.EOF=16]="EOF"}(t.SyntaxKind||(t.SyntaxKind={}));var d=t.SyntaxKind;t.createScanner=r,t.isLetter=a;var h;!function(e){e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3", +e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab"}(h||(h={})),t.stripComments=u,t.parse=c}),define("vs/nls!vs/base/common/severity",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/base/common/severity",t)}),define("vs/base/common/callbackList",["require","exports","vs/base/common/errors"],function(e,t,n){var r=function(){function e(){}return e.prototype.add=function(e,t,n){var r=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:function(){return r.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var n=!1,r=0,o=this._callbacks.length;o>r;r++)if(this._callbacks[r]===e){if(this._contexts[r]===t)return this._callbacks.splice(r,1),void this._contexts.splice(r,1);n=!0}if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}},e.prototype.invoke=function(){for(var e=[],t=0;ts;s++)try{r.push(o[s].apply(i[s],e))}catch(u){n.onUnexpectedError(u)}return r}},e.prototype.isEmpty=function(){return!this._callbacks||0===this._callbacks.length},e.prototype.dispose=function(){this._callbacks=void 0,this._contexts=void 0},e}();Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=r}),define("vs/base/common/event",["require","exports","vs/base/common/callbackList"],function(e,t,n){function r(e,t){return function(n,r,o){var i=e.addListener2(t,function(){n.apply(r,arguments)});return Array.isArray(o)&&o.push(i),i}}var o;!function(e){var t={dispose:function(){}};e.None=function(){return t}}(o||(o={})),Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o;var i=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(r,o,i){t._callbacks||(t._callbacks=new n["default"]),t._options&&t._options.onFirstListenerAdd&&t._callbacks.isEmpty()&&t._options.onFirstListenerAdd(t),t._callbacks.add(r,o);var s;return s={dispose:function(){s.dispose=e._noop,t._disposed||(t._callbacks.remove(r,o),t._options&&t._options.onLastListenerRemove&&t._callbacks.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)},e.prototype.dispose=function(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0,this._disposed=!0)},e._noop=function(){},e}();t.Emitter=i,t.fromEventEmitter=r}),define("vs/base/common/cancellation",["require","exports","vs/base/common/event"],function(e,t,n){var r;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n["default"].None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n["default"].None})}(r=t.CancellationToken||(t.CancellationToken={}));var o=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}}),i=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?o:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),s=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new i),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=r.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/eventEmitter",["require","exports","vs/base/common/errors"],function(e,t,n){var r=function(){function e(e,t,n){void 0===n&&(n=null),this._type=e,this._data=t,this._emitterType=n}return e.prototype.getType=function(){return this._type},e.prototype.getData=function(){return this._data},e.prototype.getEmitterType=function(){return this._emitterType},e}();t.EmitterEvent=r;var o=function(){function e(e){if(void 0===e&&(e=null),this._listeners={},this._bulkListeners=[],this._collectedEvents=[],this._deferredCnt=0,e){this._allowedEventTypes={};for(var t=0;ti;i++)o.push(new r(e[i].getType(),e[i].getData(),t))}0===n._deferredCnt?n._emitEvents(o):n._collectedEvents.push.apply(n._collectedEvents,o)})},e.prototype.addEmitter2=function(e,t){var n=this.addEmitter(e,t);return{dispose:n}},e.prototype.addEmitterTypeListener=function(e,t,n){if(t){if("*"===e)throw new Error("Bulk listeners cannot specify an emitter type");return this.addListener(e+"/"+t,n)}return this.addListener(e,n)},e.prototype._removeListener=function(e,t){if(this._listeners.hasOwnProperty(e))for(var n=this._listeners[e],r=0,o=n.length;o>r;r++)if(n[r]===t){n.splice(r,1);break}},e.prototype._removeBulkListener=function(e){for(var t=0,n=this._bulkListeners.length;n>t;t++)if(this._bulkListeners[t]===e){this._bulkListeners.splice(t,1);break}},e.prototype._emitToSpecificTypeListeners=function(e,t){if(this._listeners.hasOwnProperty(e))for(var r=this._listeners[e].slice(0),o=0,i=r.length;i>o;o++)try{r[o](t)}catch(s){n.onUnexpectedError(s)}},e.prototype._emitToBulkListeners=function(e){for(var t=this._bulkListeners.slice(0),r=0,o=t.length;o>r;r++)try{t[r](e)}catch(i){n.onUnexpectedError(i)}},e.prototype._emitEvents=function(e){this._bulkListeners.length>0&&this._emitToBulkListeners(e);for(var t=0,n=e.length;n>t;t++){var r=e[t];this._emitToSpecificTypeListeners(r.getType(),r.getData()),r.getEmitterType()&&this._emitToSpecificTypeListeners(r.getType()+"/"+r.getEmitterType(),r.getData())}},e.prototype.emit=function(e,t){if(void 0===t&&(t={}),this._allowedEventTypes&&!this._allowedEventTypes.hasOwnProperty(e))throw new Error("Cannot emit this event type because it wasn't white-listed!");if(this._listeners.hasOwnProperty(e)||0!==this._bulkListeners.length){var n=new r(e,t);0===this._deferredCnt?this._emitEvents([n]):this._collectedEvents.push(n)}},e.prototype.deferredEmit=function(e){this._deferredCnt=this._deferredCnt+1;var t=null;try{t=e()}catch(r){n.onUnexpectedError(r)}return this._deferredCnt=this._deferredCnt-1,0===this._deferredCnt&&this._emitCollected(),t},e.prototype._emitCollected=function(){var e=this._collectedEvents;this._collectedEvents=[],e.length>0&&this._emitEvents(e)},e}();t.EventEmitter=o;var i=function(){function e(e,t){this.target=e,this.arg=t}return e}(),s=function(e){function t(t){void 0===t&&(t=null),e.call(this,t),this._emitQueue=[]}return __extends(t,e),t.prototype._emitToSpecificTypeListeners=function(e,t){if(this._listeners.hasOwnProperty(e))for(var n=this._listeners[e],r=0,o=n.length;o>r;r++)this._emitQueue.push(new i(n[r],t))},t.prototype._emitToBulkListeners=function(e){for(var t=this._bulkListeners,n=0,r=t.length;r>n;n++)this._emitQueue.push(new i(t[n],e))},t.prototype._emitEvents=function(t){for(e.prototype._emitEvents.call(this,t);this._emitQueue.length>0;){var r=this._emitQueue.shift();try{r.target(r.arg)}catch(o){n.onUnexpectedError(o)}}},t}(o);t.OrderGuaranteeEventEmitter=s}),define("vs/base/common/eventSource",["require","exports","vs/base/common/callbackList"],function(e,t,n){var r=function(){function e(){}return e.prototype.fire=function(){for(var e=[],t=0;tr;r++){var i=e[r](t,n);if(i)return i}return null}}function o(){for(var e=[],t=0;to;o++){var s=e[o](t,n);if(!s)return null;r=r.concat(s)}return r}}function i(e,t,n){if(0===n.length||n.length0?[{start:0,end:t.length}]:[]}function s(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}function a(e,t){return u(e.toLowerCase(),t.toLowerCase(),0,0)}function u(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]===t[r]){var o=null;if(o=u(e,t,n+1,r+1))return f({start:r,end:r+1},o)}return u(e,t,n,r+1)}function c(e){return e>=97&&122>=e}function l(e){return e>=65&&90>=e}function d(e){return e>=48&&57>=e}function h(e){return[32,9,10,13].indexOf(e)>-1}function p(e){return c(e)||l(e)||d(e)}function f(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function m(e,t){for(var n=t;n0&&!p(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]!==t[r].toLowerCase())return null;var o=null,i=r+1;for(o=g(e,t,n+1,r+1);!o&&(i=m(t,i))40)return!1;for(var t=0,n=0,r=0,o=0,i=0;i.2&&.8>s&&u>.6}function _(e){for(var t=0,n=0,r=0,o=0,i=0;i=t:e.length<=30}function y(e,t){if(0===t.length)return null;if(!_(e))return null;if(!v(t))return null;for(var n=null,r=0;r0&&o.push("'"+a.join("', '")+"'")},c=0,l=r.length;l>c;c++){var d=r[c];if(0!==d.length&&d!==s){var p=d.charAt(0);i!==p&&(u(),i=p,a=[]),a.push(d),s=d}}return u(),o.join(",\n")}function s(e,t){e&&t&&(h[e]&&h[e]!==t&&console.warn("Overwriting filename <<"+e+">> to now point to mime <<"+t+">>"),h[e]=t)}function a(e,t){e&&t&&p.push({regexp:e,mime:t})}function u(e){if(!e)return!1;var n;return n=r.isArray(e)?e:e.split(",").map(function(e){return e.trim()}),n.indexOf(t.MIME_BINARY)>=0}function c(e,r){if(!e)return[t.MIME_UNKNOWN];if(r&&(o.startsWithUTF8BOM(r)&&(r=r.substr(1)),r.length>0))for(var i=0;i0&&s[0].length===r.length)return[p[i].mime,t.MIME_TEXT]}e=e.toLowerCase();var a,u,c=n.basename(e);n.extname(e);for(var l in h){var d=l.toLowerCase();if(!a&&c===d){a=l;break}"."===l[0]&&o.endsWith(c,d)&&(!u||d.length>u.length)&&(u=l)}return a?[h[a],t.MIME_TEXT]:u?[h[u],t.MIME_TEXT]:[t.MIME_UNKNOWN]}function l(e){return e?"string"==typeof e?e===t.MIME_BINARY||e===t.MIME_TEXT||e===t.MIME_UNKNOWN:1===e.length&&l(e[0]):!0}function d(e,t){for(var n in h){var r=h[n];if(r===e)return t+n}return null}t.MIME_TEXT="text/plain",t.MIME_BINARY="application/octet-stream",t.MIME_UNKNOWN="application/unknown";var h=Object.create(null),p=[];t.generateKnownFilenames=i,t.registerTextMimeByFilename=s,t.registerTextMimeByFirstLine=a,t.isBinaryMime=u,t.guessMimeTypes=c,t.isUnspecific=l,t.suggestFilename=d});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/network",["require","exports","vs/base/common/assert","vs/base/common/strings","vs/base/common/hash","vs/base/common/marshalling","vs/base/common/paths","vs/base/common/uri"],function(e,t,n,r,o,i,s,a){i.registerMarshallingContribution({canSerialize:function(e){return e instanceof p},serialize:function(e,t){return e._toSerialized()},canDeserialize:function(e){return e.$isURL},deserialize:function(e,t){return new p(e.$value)}});var u=":".charCodeAt(0),c="/".charCodeAt(0),l="?".charCodeAt(0),d="#".charCodeAt(0),h=function(){function e(e){this.spec=e||r.empty,this.specLength=this.spec.length,this.parse()}return e.prototype.forwardSubstring=function(e,t){return t>e?this.spec.substring(e,t):r.empty},e.prototype.getScheme=function(){return this.forwardSubstring(this.schemeStart,this.domainStart-1)},e.prototype.getProtocol=function(){return this.forwardSubstring(this.schemeStart,this.domainStart)},e.prototype.getDomain=function(){return this.forwardSubstring(this.domainStart+2,this.portStart)},e.prototype.getPort=function(){return this.forwardSubstring(this.portStart+1,this.pathStart)},e.prototype.getHost=function(){return this.forwardSubstring(this.domainStart+2,this.pathStart)},e.prototype.getPath=function(){return this.forwardSubstring(this.pathStart,this.queryStringStart)},e.prototype.getQueryString=function(){return this.forwardSubstring(this.queryStringStart+1,this.fragmentIdStart)},e.prototype.getFragmentId=function(){return this.forwardSubstring(this.fragmentIdStart+1,this.specLength)},e.prototype.getAllBeforePath=function(){return this.forwardSubstring(0,this.pathStart)},e.prototype.getAllBeforeFragmentId=function(){return this.forwardSubstring(0,this.fragmentIdStart)},e.prototype.combine=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),o=e.length;-1!==t&&o>t&&(o=t),-1!==n&&o>n&&(o=n);var i=e.substring(0,o),a=e.substring(o);i=i.replace("\\","/");var u;for(u=r.startsWith(i,"/")?s.join(i):s.join(s.dirname(this.getPath()),i);"/"===u.charAt(0);)u=u.substr(1);for(;0===u.indexOf("../");)u=u.substr(3);return this.getAllBeforePath()+"/"+u+a},e.prototype.parse=function(){var e,t,n=0,r=1,o=2,i=3,s=4,a=n,h=this.spec,p=this.specLength,f=-1,m=-1;for(this.schemeStart=0,this.domainStart=this.specLength,this.portStart=this.specLength,this.pathStart=this.specLength,this.queryStringStart=this.specLength,this.fragmentIdStart=this.specLength,e=0;p>e;e++){switch(t=h.charCodeAt(e),a){case n:f===c&&t===c&&(a=r,this.domainStart=e-1);break;case r:t===u?(a=o,this.portStart=e):t===c?(a=i,this.portStart=e,this.pathStart=e):t===d&&(this.portStart=e,this.pathStart=e,this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case o:t===c?(a=i,this.pathStart=e):t===d&&(this.pathStart=e,this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case i:t===l?(a=s,this.queryStringStart=e):t===d&&(this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case s:t===d&&(this.fragmentIdStart=e,e=p)}m=f,f=t}a===n&&(this.schemeStart=this.specLength)},e}();t.ParsedUrl=h;var p=function(e){function t(t){e.call(this),n.ok(!!t,"spec must not be null"),"string"==typeof t?this._uri=a["default"].parse(t):this._uri=t,this._spec=this._uri.toString(),this._parsed=null}return __extends(t,e),t.fromEncoded=function(e){return new t(decodeURIComponent(e))},t.fromValue=function(e){return new t(e)},t.fromUri=function(e){return new t(e)},t.prototype.equals=function(e){return this.toString()!==String(e)?!1:e instanceof t||a["default"].isURI(e)},t.prototype.hashCode=function(){return o.computeMurmur2StringHashCode(this._spec)},t.prototype.isInMemory=function(){return this.scheme===f.inMemory},t.prototype.getScheme=function(){return this._ensureParsedUrl(),this._parsed.getScheme()},t.prototype.getPath=function(){return this._ensureParsedUrl(),this._parsed.getPath()},t.prototype.toUnique=function(){return this._ensureParsedUrl(),this._parsed.getAllBeforeFragmentId()},t.prototype.startsWith=function(e){return r.startsWith(this._spec,e._spec)},t.prototype.combine=function(e){return this._ensureParsedUrl(),new t(this._parsed.combine(e))},t.prototype._ensureParsedUrl=function(){null===this._parsed&&(this._parsed=new h(this._spec))},Object.defineProperty(t.prototype,"scheme",{get:function(){return this._uri.scheme},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"authority",{get:function(){return this._uri.authority},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._uri.path},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._uri.fsPath},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"query",{get:function(){return this._uri.query},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fragment",{get:function(){return this._uri.fragment},enumerable:!0,configurable:!0}),t.prototype.withScheme=function(e){return a["default"].create(e,this.authority,this.fsPath,this.query,this.fragment)},t.prototype.withAuthority=function(e){return a["default"].create(this.scheme,e,this.fsPath,this.query,this.fragment)},t.prototype.withPath=function(e){return a["default"].create(this.scheme,this.authority,e,this.query,this.fragment)},t.prototype.withQuery=function(e){return a["default"].create(this.scheme,this.authority,this.fsPath,e,this.fragment)},t.prototype.withFragment=function(e){return a["default"].create(this.scheme,this.authority,this.fsPath,this.query,e)},t.prototype["with"]=function(e,t,n,r,o){return a["default"].create(e,t,n,r,o)},t.prototype.toString=function(){return this._spec},t.prototype.toJSON=function(){return this.toString()},t.prototype._toSerialized=function(){return{$isURL:!0,$value:this.toString().replace(/URL_MARSHAL_REMOVE.*$/,"")}},t}(a["default"]);t.URL=p;var f;!function(e){e.inMemory="inmemory",e.http="http",e.https="https",e.file="file"}(f=t.schemas||(t.schemas={}))}),define("vs/base/common/severity",["require","exports","vs/nls!vs/base/common/severity","vs/base/common/strings"],function(e,t,n,r){var o;!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(o||(o={}));var o;!function(e){function t(t){return t?r.equalsIgnoreCase(s,t)?e.Error:r.equalsIgnoreCase(a,t)||r.equalsIgnoreCase(u,t)?e.Warning:r.equalsIgnoreCase(c,t)?e.Info:e.Ignore:e.Ignore}function o(e){return l[e]||r.empty}function i(e,t){return t-e}var s="error",a="warning",u="warn",c="info",l=Object.create(null);l[e.Error]=n.localize(0,null),l[e.Warning]=n.localize(1,null),l[e.Info]=n.localize(2,null),e.fromValue=t,e.toString=o,e.compare=i}(o||(o={})),Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o}),define("vs/base/common/timer",["require","exports","vs/base/common/platform","vs/base/common/errors","vs/base/common/stopwatch"],function(e,t,n,r,o){function i(e,t,n,r){return h.start(e,t,n,r)}function s(){return h}t.ENABLE_TIMER=!1;var a=n.globals.msWriteProfilerMark;!function(e){e[e.EDITOR=0]="EDITOR",e[e.LANGUAGES=1]="LANGUAGES",e[e.WORKER=2]="WORKER",e[e.WORKBENCH=3]="WORKBENCH",e[e.STARTUP=4]="STARTUP"}(t.Topic||(t.Topic={}));var u=t.Topic,c=function(){function e(){}return e.prototype.stop=function(){},e.prototype.timeTaken=function(){return-1},e}(),l=function(){function e(e,t,n,r,i){if(this.timeKeeper=e,this.name=t,this.description=i,this.topic=n,this.stopTime=null,r)return void(this.startTime=r);if(this.startTime=new Date,this.sw=o.StopWatch.create(),a){var s=["Monaco",this.topic,this.name,"start"];a(s.join("|"))}}return e.prototype.stop=function(e){if(null===this.stopTime){if(e)return this.stopTime=e,this.sw=null,void this.timeKeeper._onEventStopped(this);if(this.stopTime=new Date,this.sw&&this.sw.stop(),this.timeKeeper._onEventStopped(this),a){var t=["Monaco",this.topic,this.name,"stop"];a(t.join("|"))}}},e.prototype.timeTaken=function(){return this.sw?this.sw.elapsed():this.stopTime?this.stopTime.getTime()-this.startTime.getTime():-1},e}(),d=function(){function e(){this.cleaningIntervalId=-1,this.collectedEvents=[],this.listeners=[]}return e.prototype.isEnabled=function(){return t.ENABLE_TIMER},e.prototype.start=function(e,n,r,o){if(!this.isEnabled())return t.nullEvent;var i;"string"==typeof e?i=e:e===u.EDITOR?i="Editor":e===u.LANGUAGES?i="Languages":e===u.WORKER?i="Worker":e===u.WORKBENCH?i="Workbench":e===u.STARTUP&&(i="Startup"),this.initAutoCleaning();var s=new l(this,n,i,r,o);return this.addEvent(s),s},e.prototype.dispose=function(){-1!==this.cleaningIntervalId&&(n.clearInterval(this.cleaningIntervalId),this.cleaningIntervalId=-1)},e.prototype.addListener=function(e){this.listeners.push(e)},e.prototype.removeListener=function(e){for(var t=0;te._EVENT_CACHE_LIMIT&&this.collectedEvents.shift()},e.prototype.initAutoCleaning=function(){var t=this;-1===this.cleaningIntervalId&&(this.cleaningIntervalId=n.setInterval(function(){var n=Date.now();t.collectedEvents.forEach(function(t){!t.stopTime&&n-t.startTime.getTime()>=e._MAX_TIMER_LENGTH&&t.stop()})},e._CLEAN_UP_INTERVAL))},e.prototype.getCollectedEvents=function(){return this.collectedEvents.slice(0)},e.prototype.clearCollectedEvents=function(){this.collectedEvents=[]},e.prototype._onEventStopped=function(e){for(var t=[e],n=this.listeners.slice(0),o=0;ot;t++)s=e[t],r=s.originalStart-(c.originalStart+c.originalLength),o=s.modifiedStart-(c.modifiedStart+c.modifiedLength),i=Math.min(r,o),a>i?(c.originalLength=s.originalStart+s.originalLength-c.originalStart,c.modifiedLength=s.modifiedStart+s.modifiedLength-c.modifiedStart):(u.push(s),c=s);return u}var s=5e3,a=3,u=function(){function e(e,t,n){this.buffer=e,this.startMarkers=t,this.endMarkers=n}return e.prototype.equals=function(t){if(!(t instanceof e))return!1;var n=t;if(this.getLength()!==n.getLength())return!1;for(var r=0,o=this.getLength();o>r;r++){var i=this.getElementHash(r),s=n.getElementHash(r);if(i!==s)return!1}return!0},e.prototype.getLength=function(){return this.startMarkers.length},e.prototype.getElementHash=function(e){return this.buffer.substring(this.startMarkers[e].offset,this.endMarkers[e].offset)},e.prototype.getStartLineNumber=function(e){return e===this.startMarkers.length?this.startMarkers[e-1].lineNumber+1:this.startMarkers[e].lineNumber},e.prototype.getStartColumn=function(e){return this.startMarkers[e].column},e.prototype.getEndLineNumber=function(e){return this.endMarkers[e].lineNumber},e.prototype.getEndColumn=function(e){return this.endMarkers[e].column},e}(),c=function(e){function t(t,n){var r,o,i,s,a,u="",c=[],l=[];for(i=0,r=0,o=t.length;o>r;r++)u+=t[r],s=1,a=t[r].length+1,n&&(s=this._getFirstNonBlankColumn(t[r],1),a=this._getLastNonBlankColumn(t[r],1)),c.push({offset:i+s-1,lineNumber:r+1,column:s}),l.push({offset:i+a-1,lineNumber:r+1,column:a}),i+=t[r].length;e.call(this,u,c,l)}return __extends(t,e),t.prototype._getFirstNonBlankColumn=function(e,t){var n=r.firstNonWhitespaceIndex(e);return-1===n?t:n+1},t.prototype._getLastNonBlankColumn=function(e,t){var n=r.lastNonWhitespaceIndex(e);return-1===n?t:n+2},t.prototype.getCharSequence=function(e,t){var n,r,o,i,s=[],a=[];for(n=e;t>=n;n++)for(o=this.startMarkers[n],i=this.endMarkers[n],r=o.offset;rd;d++)this.charChanges.push(new l(c[d],a,u))}}return e}(),h=function(){function e(e,t,n){this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.maximumRunTimeMs=s,this.original=new c(e,this.shouldIgnoreTrimWhitespace),this.modified=new c(t,this.shouldIgnoreTrimWhitespace),n.shouldConsiderTrimWhitespaceInEmptyCase&&this.shouldIgnoreTrimWhitespace&&this.original.equals(this.modified)&&(this.shouldIgnoreTrimWhitespace=!1,this.original=new c(e,this.shouldIgnoreTrimWhitespace),this.modified=new c(t,this.shouldIgnoreTrimWhitespace))}return e.prototype.computeDiff=function(){this.computationStartTime=(new Date).getTime();for(var e=o(this.original,this.modified,this._continueProcessingPredicate.bind(this)),t=[],n=0,r=e.length;r>n;n++)t.push(new d(e[n],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldPostProcessCharChanges));return t},e.prototype._continueProcessingPredicate=function(){if(0===this.maximumRunTimeMs)return!0;var e=(new Date).getTime();return e-this.computationStartTime0){var e=this.past.pop();try{for(var t=e.editOperations.length-1;t>=0;t--)e.editOperations[t]={operations:this.model.applyEdits(e.editOperations[t].operations)}}catch(n){return this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.redo=function(){if(this.future.length>0){if(this.currentOpenStackElement)throw new Error("How is this possible?");var e=this.future.pop();try{for(var t=0;to;o++)c=n[o],c.startIndex<=h&&(c.startIndex=h+1,r.onUnexpectedError({message:"Invalid tokens detected",tokens:n})),d.hasOwnProperty(c.type)?s=d[c.type]:(s=l.length,d[c.type]=s,l.push(c.type)),a=c.bracket,0>a&&(a=2),u=a*t.BRACKET_OFFSET+s*t.TYPE_OFFSET+c.startIndex*t.START_INDEX_OFFSET,p[o]=u,h=c.startIndex;return p}function i(e,n){if(0===n)return f;var r=n/t.START_INDEX_OFFSET&t.START_INDEX_MASK,o=n/t.TYPE_OFFSET&t.TYPE_MASK,i=n/t.BRACKET_OFFSET&t.BRACKET_MASK;return 2===i&&(i=-1),new p(r,e._inflate[o],i)}function s(e){return e/t.START_INDEX_OFFSET&t.START_INDEX_MASK}function a(e,r){var o=r/t.TYPE_OFFSET&t.TYPE_MASK;return 0===o?n.empty:e._inflate[o]}function u(e){var n=e/t.BRACKET_OFFSET&t.BRACKET_MASK;return 2===n&&(n=-1),n}function c(e,n){if(0===n.length)return m;if(1===n.length&&0===n[0])return v;var r,o,i,s,a,u,c=new Array(n.length),l=e._inflate;for(r=0,o=n.length;o>r;r++)i=n[r],s=i/t.START_INDEX_OFFSET&t.START_INDEX_MASK,u=i/t.TYPE_OFFSET&t.TYPE_MASK,a=i/t.BRACKET_OFFSET&t.BRACKET_MASK,2===a&&(a=-1),c[r]=new p(s,l[u],a);return c}function l(e,t){return h(e,t)}function d(e,n,r,o,i){if(0===n.length)return m;if(1===n.length&&0===n[0])return v;var s,a,u,c,l,d,f,g=h(n,r),_=[],y=e._inflate;for(u=n[g],d=u/t.TYPE_OFFSET&t.TYPE_MASK,f=u/t.BRACKET_OFFSET&t.BRACKET_MASK,l=0,_.push(new p(l,y[d],f)),s=g+1,a=n.length;a>s&&(u=n[s],c=u/t.START_INDEX_OFFSET&t.START_INDEX_MASK,!(c>=o));s++)d=u/t.TYPE_OFFSET&t.TYPE_MASK,f=u/t.BRACKET_OFFSET&t.BRACKET_MASK,l=c-r+i,_.push(new p(l,y[d],f));return _}function h(e,t){for(var n,r,o=0,i=e.length-1;i>o;)n=o+Math.ceil((i-o)/2),r=4294967295&e[n],r>t?i=n-1:o=n;return o}var p=function(){function e(e,t,n){this.startIndex=e,this.type=t,this.bracket=n}return e.prototype.toString=function(){return"{ "+this.startIndex+", '"+this.type+"', "+this.bracket+"}"},e}();t.START_INDEX_MASK=4294967295,t.TYPE_MASK=65535,t.BRACKET_MASK=255,t.START_INDEX_OFFSET=1,t.TYPE_OFFSET=Math.pow(2,32),t.BRACKET_OFFSET=Math.pow(2,48);var f={startIndex:0,type:"",bracket:0},m=[],g=[],v=[f],_=[0];t.deflateArr=o,t.inflate=i,t.getStartIndex=s,t.getType=a,t.getBracket=u,t.inflateArr=c,t.findIndexOfOffset=l,t.sliceAndInflate=d,t.findIndexInSegmentsArray=h}),define("vs/editor/common/editorCommon",["require","exports","vs/editor/common/model/tokensBinaryEncoding"],function(e,t,n){function r(e){return"indent"===e?o.Indent:"same"===e?o.Same:o.None}!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(t.SelectionDirection||(t.SelectionDirection={}));t.SelectionDirection;!function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent"}(t.WrappingIndent||(t.WrappingIndent={}));var o=t.WrappingIndent;t.wrappingIndentFromString=r,function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(t.OverviewRulerLane||(t.OverviewRulerLane={}));t.OverviewRulerLane;!function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(t.EndOfLinePreference||(t.EndOfLinePreference={}));t.EndOfLinePreference;!function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(t.EndOfLineSequence||(t.EndOfLineSequence={}));t.EndOfLineSequence;t.LineTokensBinaryEncoding=n,function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(t.TrackedRangeStickiness||(t.TrackedRangeStickiness={}));t.TrackedRangeStickiness;!function(e){e[e.Simple=0]="Simple",e[e.Center=1]="Center",e[e.CenterIfOutsideViewport=2]="CenterIfOutsideViewport"}(t.VerticalRevealType||(t.VerticalRevealType={}));t.VerticalRevealType;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET"}(t.MouseTargetType||(t.MouseTargetType={}));t.MouseTargetType;t.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS="editorTextFocus",t.KEYBINDING_CONTEXT_EDITOR_FOCUS="editorFocus",t.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS="editorTabMovesFocus",t.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS="editorHasMultipleSelections",t.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION="editorHasSelection",t.KEYBINDING_CONTEXT_EDITOR_LANGUAGE_ID="editorLangId",t.ViewEventNames={ModelFlushedEvent:"modelFlushedEvent",LinesDeletedEvent:"linesDeletedEvent",LinesInsertedEvent:"linesInsertedEvent",LineChangedEvent:"lineChangedEvent",TokensChangedEvent:"tokensChangedEvent",DecorationsChangedEvent:"decorationsChangedEvent",CursorPositionChangedEvent:"cursorPositionChangedEvent",CursorSelectionChangedEvent:"cursorSelectionChangedEvent",RevealRangeEvent:"revealRangeEvent",LineMappingChangedEvent:"lineMappingChangedEvent"},function(e){e[e.Value=0]="Value",e[e.Selection=1]="Selection",e[e.Position=2]="Position",e[e.Scroll=3]="Scroll"}(t.CodeEditorStateFlag||(t.CodeEditorStateFlag={}));t.CodeEditorStateFlag;t.EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},t.ClassName={EditorWarningDecoration:"greensquiggly",EditorErrorDecoration:"redsquiggly"},t.EventType={Disposed:"disposed",ConfigurationChanged:"configurationChanged",ModelDispose:"modelDispose",ModelChanged:"modelChanged",ModelTokensChanged:"modelTokensChanged",ModelModeChanged:"modelsModeChanged",ModelModeSupportChanged:"modelsModeSupportChanged",ModelContentChanged:"contentChanged",ModelContentChanged2:"contentChanged2",ModelContentChangedFlush:"flush",ModelContentChangedLinesDeleted:"linesDeleted",ModelContentChangedLinesInserted:"linesInserted",ModelContentChangedLineChanged:"lineChanged",EditorTextBlur:"blur",EditorTextFocus:"focus",EditorFocus:"widgetFocus",EditorBlur:"widgetBlur",ModelPropertiesChanged:"propertiesChanged",ModelDecorationsChanged:"decorationsChanged",CursorPositionChanged:"positionChanged",CursorSelectionChanged:"selectionChanged",CursorRevealRange:"revealRange",ViewFocusGained:"focusGained",ViewFocusLost:"focusLost",ViewFocusChanged:"focusChanged",ViewScrollWidthChanged:"scrollWidthChanged",ViewScrollHeightChanged:"scrollHeightChanged",ViewScrollChanged:"scrollChanged",ViewZonesChanged:"zonesChanged",ViewLayoutChanged:"viewLayoutChanged",ContextMenu:"contextMenu",MouseDown:"mousedown",MouseUp:"mouseup",MouseMove:"mousemove",MouseLeave:"mouseleave",KeyDown:"keydown",KeyUp:"keyup",EditorLayout:"editorLayout",DiffUpdated:"diffUpdated"},t.Handler={ExecuteCommand:"executeCommand",ExecuteCommands:"executeCommands",CursorLeft:"cursorLeft",CursorLeftSelect:"cursorLeftSelect",CursorWordLeft:"cursorWordLeft",CursorWordLeftSelect:"cursorWordLeftSelect",CursorRight:"cursorRight",CursorRightSelect:"cursorRightSelect",CursorWordRight:"cursorWordRight",CursorWordRightSelect:"cursorWordRightSelect",CursorUp:"cursorUp",CursorUpSelect:"cursorUpSelect",CursorDown:"cursorDown",CursorDownSelect:"cursorDownSelect",CursorPageUp:"cursorPageUp",CursorPageUpSelect:"cursorPageUpSelect",CursorPageDown:"cursorPageDown",CursorPageDownSelect:"cursorPageDownSelect",CursorHome:"cursorHome",CursorHomeSelect:"cursorHomeSelect",CursorEnd:"cursorEnd",CursorEndSelect:"cursorEndSelect",CursorTop:"cursorTop",CursorTopSelect:"cursorTopSelect",CursorBottom:"cursorBottom",CursorBottomSelect:"cursorBottomSelect",AddCursorDown:"addCursorDown",AddCursorUp:"addCursorUp",CursorUndo:"cursorUndo",MoveTo:"moveTo",MoveToSelect:"moveToSelect",CreateCursor:"createCursor",LastCursorMoveToSelect:"lastCursorMoveToSelect",JumpToBracket:"jumpToBracket",Type:"type",ReplacePreviousChar:"replacePreviousChar",Paste:"paste",Tab:"tab",Indent:"indent",Outdent:"outdent",DeleteLeft:"deleteLeft",DeleteRight:"deleteRight",DeleteWordLeft:"deleteWordLeft",DeleteWordRight:"deleteWordRight",DeleteAllLeft:"deleteAllLeft",DeleteAllRight:"deleteAllRight",Enter:"enter",RemoveSecondaryCursors:"removeSecondaryCursors",CancelSelection:"cancelSelection",Cut:"cut",Undo:"undo",Redo:"redo",WordSelect:"wordSelect",WordSelectDrag:"wordSelectDrag",LastCursorWordSelect:"lastCursorWordSelect",LineSelect:"lineSelect",LineSelectDrag:"lineSelectDrag",LastCursorLineSelect:"lastCursorLineSelect",LastCursorLineSelectDrag:"lastCursorLineSelectDrag",LineInsertBefore:"lineInsertBefore",LineInsertAfter:"lineInsertAfter",LineBreakInsert:"lineBreakInsert",SelectAll:"selectAll"}}),define("vs/editor/common/model/modelLine",["require","exports","vs/base/common/strings","vs/editor/common/editorCommon"],function(e,t,n,r){function o(e){return"number"==typeof e[0]}function i(e,t,n){if(0===n)return null;if(!t||0===t.length)return null;if(1===t.length)if(o(t)){if(0===t[0])return null}else if(0===t[0].startIndex&&""===t[0].type&&!t[0].bracket)return null;return new f(e,t)}function s(e,t){return t&&0!==t.length?1===t.length&&0===t[0].startIndex?t[0].mode===e?null:new _(t[0].mode):new y(t):null}var a={adjust:function(){},finish:function(){}},u={adjust:function(){},finish:function(){}},c=function(){function e(e,t){this.lineNumber=e,this.text=t,this.isInvalid=!1}return e.prototype.setState=function(e){this._state=e},e.prototype.getState=function(){return this._state||null},e.prototype._setModeTransitions=function(e,t){var n=s(e,t);if(null===n){if("undefined"==typeof this._modeTransitions)return;return void(this._modeTransitions=null)}this._modeTransitions=n},e.prototype.getModeTransitions=function(){return this._modeTransitions?this._modeTransitions:v.INSTANCE},e.prototype.setTokens=function(e,t,n,r){this._setLineTokens(e,t),this._setModeTransitions(n,r)},e.prototype._setLineTokens=function(e,t){var n=i(e,t,this.text.length);if(null===n){if("undefined"==typeof this._lineTokens)return;return void(this._lineTokens=null)}this._lineTokens=n},e.prototype.getTokens=function(){return this._lineTokens?this._lineTokens:0===this.text.length?m.INSTANCE:g.INSTANCE},e.prototype._createTokensAdjuster=function(){if(!this._lineTokens)return a;var e=this._lineTokens,t=r.LineTokensBinaryEncoding,n=e.getBinaryEncodedTokens(),o=n.length,i=0,s=0,u=function(e,r,a){for(var u=a-1;e>s&&o>i;){if(s>0&&0!==r){var c=n[i]/t.TYPE_OFFSET&t.TYPE_MASK,l=n[i]/t.BRACKET_OFFSET&t.BRACKET_MASK,d=Math.max(u,s+r),h=l*t.BRACKET_OFFSET+c*t.TYPE_OFFSET+d*t.START_INDEX_OFFSET;if(0>r)for(;i>0;){var p=n[i-1]/t.START_INDEX_OFFSET&t.START_INDEX_MASK;if(!(p>=d))break;n.splice(i-1,1),o--,i--}n[i]=h}i++,o>i&&(s=n[i]/t.START_INDEX_OFFSET&t.START_INDEX_MASK)}},c=function(e,t){u(Number.MAX_VALUE,e,1)};return{adjust:u,finish:c}},e.prototype._setText=function(e){if(this.text=e,this._lineTokens){for(var t=r.LineTokensBinaryEncoding,n=this._lineTokens.getBinaryEncodedTokensMap(),o=this._lineTokens.getBinaryEncodedTokens(),i=this.text.length;o.length>0;){var s=o[o.length-1]/t.START_INDEX_OFFSET&t.START_INDEX_MASK;if(i>s)break;o.pop()}this._setLineTokens(n,o)}},e.prototype._createMarkersAdjuster=function(e){var t=this;if(!this._markers)return u;if(0===this._markers.length)return u;var n=this._markers,r=n.length,o=0,i=n[o],s=function(s,a,u,c,l){for(;r>o&&(i.columno&&(i=n[o])}},a=function(e,t){s(Number.MAX_VALUE,e,1,!1,!1)};return{adjust:s,finish:a}},e.prototype.applyEdits=function(e,t){for(var n=0,r=this.text,o=this._createTokensAdjuster(),i=this._createMarkersAdjuster(e),s=0,a=t.length;a>s;s++){var u=t[s].startColumn,c=t[s].endColumn,l=n+t[s].startColumn,d=n+t[s].endColumn,h=t[s].text;o.adjust(u-1,n,1),i.adjust(u-1+1,n,1,l!==d,t[s].forceMoveMarkers);var p=Math.min(d-l,h.length);p>0&&(o.adjust(u-1+p,n,l),i.adjust(u-1+1+p,n,l,!0,t[s].forceMoveMarkers)),r=r.substring(0,l-1)+h+r.substring(d-1),n+=h.length-(d-l),o.adjust(c,n,l),i.adjust(c+1,n,l,!1,t[s].forceMoveMarkers)}return o.finish(n,r.length),i.finish(n,r.length),this._setText(r),n},e.prototype.split=function(t,n,r){var o=this.text.substring(0,n-1),i=this.text.substring(n-1),s=null;if(this._markers){for(var a=0,u=this._markers.length;u>a;a++){var c=this._markers[a];if(c.column>n||c.column===n&&(r||!c.stickToPreviousCharacter)){var l=this._markers.slice(0,a);s=this._markers.slice(a),this._markers=l;break}}if(s)for(var a=0,u=s.length;u>a;a++){var c=s[a];t[c.id]=!0,c.oldLineNumber=c.oldLineNumber||this.lineNumber,c.oldColumn=c.oldColumn||c.column,c.column-=n-1}}this._setText(o);var d=new e(this.lineNumber+1,i);return s&&d.addMarkers(s),d},e.prototype.append=function(e,t){var n=this.text.length;this._setText(this.text+t.text);var o=t._lineTokens;if(o){var i=o.getBinaryEncodedTokens();if(n>0)for(var s=r.LineTokensBinaryEncoding,a=0,u=i.length;u>a;a++){var c=i[a],l=c/s.START_INDEX_OFFSET&s.START_INDEX_MASK,d=c/s.TYPE_OFFSET&s.TYPE_MASK,h=c/s.BRACKET_OFFSET&s.BRACKET_MASK,p=l+n,f=h*s.BRACKET_OFFSET+d*s.TYPE_OFFSET+p*s.START_INDEX_OFFSET;i[a]=f}var m=this._lineTokens;m?this._setLineTokens(m.getBinaryEncodedTokensMap(),m.getBinaryEncodedTokens().concat(i)):this._setLineTokens(o.getBinaryEncodedTokensMap(),i)}if(t._markers){for(var g=t._markers,a=0,u=g.length;u>a;a++){var v=g[a];e[v.id]=!0,v.oldLineNumber=v.oldLineNumber||t.lineNumber,v.oldColumn=v.oldColumn||v.column,v.column+=n}this.addMarkers(g)}},e.prototype.addMarker=function(t){t.line=this,this._markers?this._markers.push(t):this._markers=[t],this._markers.sort(e._compareMarkers)},e.prototype.addMarkers=function(t){if(0!==t.length){var n,r;for(n=0,r=t.length;r>n;n++)t[n].line=this;this._markers?this._markers=this._markers.concat(t):this._markers=t.slice(0),this._markers.sort(e._compareMarkers)}},e._compareMarkers=function(e,t){return e.column===t.column?(e.stickToPreviousCharacter?0:1)-(t.stickToPreviousCharacter?0:1):e.column-t.column},e.prototype.removeMarker=function(e){var t=this._indexOfMarkerId(e.id);t>=0&&this._markers.splice(t,1),e.line=null},e.prototype.removeMarkers=function(e){if(this._markers)for(var t=0,n=this._markers.length;n>t;t++){var r=this._markers[t];e[r.id]&&(r.line=null,this._markers.splice(t,1),n--,t--)}},e.prototype.getMarkers=function(){return this._markers?this._markers.slice(0):[]},e.prototype.updateLineNumber=function(e,t){if(this._markers){var n,r,o,i=this._markers;for(n=0,r=i.length;r>n;n++)o=i[n],e[o.id]=!0,o.oldLineNumber=o.oldLineNumber||this.lineNumber}this.lineNumber=t},e.prototype.deleteLine=function(e,t,n){if(this._markers){var r,o,i,s=this._markers;for(r=0,o=s.length;o>r;r++)i=s[r],e[i.id]=!0,i.oldColumn=i.oldColumn||i.column,i.oldLineNumber=i.oldLineNumber||n,i.column=t;return s}return[]},e.prototype._indexOfMarkerId=function(e){if(this._markers){var t,n,r=this._markers;for(t=0,n=r.length;n>t;t++)if(r[t].id===e)return t}return-1},e}();t.ModelLine=c;var l=r.LineTokensBinaryEncoding.getStartIndex,d=r.LineTokensBinaryEncoding.getType,h=r.LineTokensBinaryEncoding.getBracket,p=r.LineTokensBinaryEncoding.findIndexOfOffset,f=function(){function e(e,t){this.map=e,o(t)?this._tokens=t:this._tokens=r.LineTokensBinaryEncoding.deflateArr(e,t)}return e.prototype.toString=function(){return r.LineTokensBinaryEncoding.inflateArr(this.map,this._tokens).toString()},e.prototype.getBinaryEncodedTokensMap=function(){return this.map},e.prototype.getBinaryEncodedTokens=function(){return this._tokens},e.prototype.getTokenCount=function(){return this._tokens.length},e.prototype.getTokenStartIndex=function(e){return l(this._tokens[e])},e.prototype.getTokenType=function(e){return d(this.map,this._tokens[e])},e.prototype.getTokenBracket=function(e){return h(this._tokens[e])},e.prototype.getTokenEndIndex=function(e,t){return e+1c;c++)u.push(this._repeatCharacter(t,this._lines[c].text.length));return u.push(this._repeatCharacter(t,r.endColumn-1)),u.join(o)},t.prototype._repeatCharacter=function(e,t){for(var n="",r=0;t>r;r++)n+=e;return n},t.prototype.getValueInRange=function(e,t){if(void 0===t&&(t=a.EndOfLinePreference.TextDefined),this._isDisposed)throw new Error("TextModel.getValueInRange: Model is disposed");var n=this.validateRange(e);if(n.isEmpty())return"";if(n.startLineNumber===n.endLineNumber)return this._lines[n.startLineNumber-1].text.substring(n.startColumn-1,n.endColumn-1);var r=this._getEndOfLine(t),o=n.startLineNumber-1,i=n.endLineNumber-1,s=[];s.push(this._lines[o].text.substring(n.startColumn-1));for(var u=o+1;i>u;u++)s.push(this._lines[u].text);return s.push(this._lines[i].text.substring(0,n.endColumn-1)),s.join(r)},t.prototype.getValueLengthInRange=function(e,t){if(void 0===t&&(t=a.EndOfLinePreference.TextDefined),this._isDisposed)throw new Error("TextModel.getValueInRange: Model is disposed");var n=this.validateRange(e);if(n.isEmpty())return 0;if(n.startLineNumber===n.endLineNumber)return n.endColumn-n.startColumn;var r=this._getEndOfLine(t).length,o=n.startLineNumber-1,i=n.endLineNumber-1,s=0;s+=this._lines[o].text.length-n.startColumn+1;for(var u=o+1;i>u;u++)s+=r+this._lines[u].text.length;return s+=r+(n.endColumn-1)},t.prototype.isDominatedByLongLines=function(e){if(this._isDisposed)throw new Error("TextModel.isDominatedByLongLines: Model is disposed"); +var t,n,r,o=0,i=0,s=this._lines;for(t=0,n=this._lines.length;n>t;t++)r=s[t].text.length,r>=e?i+=r:o+=r;return i>o},t.prototype._extractIndentationFactors=function(){var e,t,n,r,o,i,s,a,u,d,h,p=this._lines,f=0,m="",g=0,v=[],_=0,y=[];for(e=0,t=p.length;t>e;e++){for(s=p[e].text,a=!1,u=0,h=0,d=0,n=0,r=s.length;r>n;n++)if(o=s.charCodeAt(n),o===l)d++;else{if(o!==c){a=!0,u=n;break}h++}if(1===h&&(h=0),a&&(d>0||h>0)&&(f++,d>0&&_++,h>0&&(y[h]=(y[h]||0)+1)),a){h=0;var k=!0;for(n=0;g>n&&u>n;n++)i=m.charCodeAt(n),o=s.charCodeAt(n),k&&i!==o&&(k=!1),k||(i===c&&h++,o===c&&h++);for(;g>n;n++)i=m.charCodeAt(n),i===c&&h++;for(;u>n;n++)o=s.charCodeAt(n),o===c&&h++;1===h&&(h=0),h>0&&(v[h]=(v[h]||0)+1),g=u,m=s}}return{linesWithIndentationCount:f,linesIndentedWithTabs:_,relativeSpaceCounts:v,absoluteSpaceCounts:y}},t.prototype.guessIndentation=function(e){if(this._isDisposed)throw new Error("TextModel.guessIndentation: Model is disposed");var t,n,r=this._extractIndentationFactors(),o=r.linesWithIndentationCount,i=r.linesIndentedWithTabs,s=r.absoluteSpaceCounts,a=r.relativeSpaceCounts,u=0;for(t=1,n=s.length;n>t;t++)u+=s[t]||0;if(i>=u)return{insertSpaces:!1,tabSize:e};if(6>o&&i>0)return{insertSpaces:!1,tabSize:e};var c,l,d,h,p=[];for(c=2,n=s.length;n>c;c++)if(s[c]){for(l=0,d=0,h=c;n>h;h+=c)s[h]?l+=s[h]:d+=c/h;p[c]=l/(1+d)}var f=e,m=0,g=[2,4,6,8];for(t=0;tm&&(f=c,m=l);return{insertSpaces:!0,tabSize:f}},t.prototype.getLineCount=function(){if(this._isDisposed)throw new Error("TextModel.getLineCount: Model is disposed");return this._lines.length},t.prototype.getLineContent=function(e){if(this._isDisposed)throw new Error("TextModel.getLineContent: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text},t.prototype.getLinesContent=function(){if(this._isDisposed)throw new Error("TextModel.getLineContent: Model is disposed");for(var e=[],t=0,n=this._lines.length;n>t;t++)e[t]=this._lines[t].text;return e},t.prototype.getEOL=function(){if(this._isDisposed)throw new Error("TextModel.getEOL: Model is disposed");return this._EOL},t.prototype.setEOL=function(e){var t=e===a.EndOfLineSequence.CRLF?"\r\n":"\n";if(this._EOL!==t){var n=this.getFullModelRange(),r=this.getValueLengthInRange(n),o=this.getLineCount(),i=this.getLineMaxColumn(o);this._EOL=t,this._increaseVersionId();var s=this._createContentChangedFlushEvent();s.detail=this.toRawText(),s.versionId=this._versionId,this._emitModelContentChangedFlushEvent(s),this._emitContentChanged2(1,1,o,i,r,this.getValue(),!1,!1)}},t.prototype.getLineMinColumn=function(e){return 1},t.prototype.getLineMaxColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineMaxColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text.length+1},t.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineFirstNonWhitespaceColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=r.firstNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineLastNonWhitespaceColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=r.lastNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+2},t.prototype.validateLineNumber=function(e){if(this._isDisposed)throw new Error("TextModel.validateLineNumber: Model is disposed");return 1>e&&(e=1),e>this._lines.length&&(e=this._lines.length),e},t.prototype.validatePosition=function(e){if(this._isDisposed)throw new Error("TextModel.validatePosition: Model is disposed");var t=e.lineNumber?e.lineNumber:1,n=e.column?e.column:1;1>t&&(t=1),t>this._lines.length&&(t=this._lines.length),1>n&&(n=1);var r=this.getLineMaxColumn(t);return n>r&&(n=r),new o.Position(t,n)},t.prototype.validateRange=function(e){if(this._isDisposed)throw new Error("TextModel.validateRange: Model is disposed");var t=this.validatePosition(new o.Position(e.startLineNumber,e.startColumn)),n=this.validatePosition(new o.Position(e.endLineNumber,e.endColumn));return new i.Range(t.lineNumber,t.column,n.lineNumber,n.column)},t.prototype.modifyPosition=function(e,t){if(this._isDisposed)throw new Error("TextModel.modifyPosition: Model is disposed");for(var n=this.validatePosition(e);t>0;){var r=this.getLineMaxColumn(n.lineNumber);if(n.columnt)throw new Error("TextModel.modifyPosition: Breaking line terminators");if(++n.lineNumber,n.lineNumber>this._lines.length)throw new Error("TextModel.modifyPosition: Offset goes beyond the end of the model");n.column=1}for(;0>t;){if(n.column>1){var i=Math.min(-t,n.column-1);t+=i,n.column-=i}if(0===t)break;if(t+=this._EOL.length,t>0)throw new Error("TextModel.modifyPosition: Breaking line terminators");if(--n.lineNumber,n.lineNumber<1)throw new Error("TextModel.modifyPosition: Offset goes beyond the beginning of the model");n.column=this.getLineMaxColumn(n.lineNumber)}return n},t.prototype.getFullModelRange=function(){if(this._isDisposed)throw new Error("TextModel.getFullModelRange: Model is disposed");var e=this.getLineCount();return new i.Range(1,1,e,this.getLineMaxColumn(e))},t.prototype._emitModelContentChangedFlushEvent=function(e){this._isDisposing||this.emit(a.EventType.ModelContentChanged,e)},t.toRawText=function(e){for(var t=0,n=-1;-1!==(n=e.indexOf("\r",n+1));)t++;var o=e.split(/\r\n|\r|\n/),i="";r.startsWithUTF8BOM(o[0])&&(i=r.UTF8_BOM_CHARACTER,o[0]=o[0].substr(1));var s=o.length-1,a="";return a=0===s?h:t>s/2?"\r\n":"\n",{BOM:i,EOL:a,lines:o,length:e.length}},t.prototype._constructLines=function(e){var t,n,r=e.lines,o=[];for(t=0,n=r.length;n>t;t++)o.push(new s.ModelLine(t+1,r[t]));this._BOM=e.BOM,this._EOL=e.EOL,this._lines=o},t.prototype._getEndOfLine=function(e){switch(e){case a.EndOfLinePreference.LF:return"\n";case a.EndOfLinePreference.CRLF:return"\r\n";case a.EndOfLinePreference.TextDefined:return this.getEOL()}throw new Error("Unknown EOL preference")},t.prototype._toRegExp=function(e,t,n,o){if(""===e)return null;var i=null;try{i=r.createRegExp(e,t,n,o)}catch(s){return null}try{if(r.regExpLeadsToEndlessLoop(i))return null}catch(s){return null}return i},t.prototype.findMatches=function(e,t,n,r,o,s){if(void 0===s&&(s=d),this._isDisposed)throw new Error("Model.findMatches: Model is disposed");var a=this._toRegExp(e,n,r,o);if(!a)return[];var u;return u=i.Range.isIRange(t)?t:this.getFullModelRange(),this._doFindMatches(u,a,s)},t.prototype.findNextMatch=function(e,t,n,r,o){if(this._isDisposed)throw new Error("Model.findNextMatch: Model is disposed");var i=this._toRegExp(e,n,r,o);if(!i)return null;var s,a,u=this.validatePosition(t),c=this.getLineCount(),l=u.lineNumber;if(s=this._lines[l-1].text.substring(u.column-1),a=this._findMatchInLine(i,s,l,u.column-1))return a;for(var d=1;c>d;d++){var h=(l+d-1)%c;if(s=this._lines[h].text,a=this._findMatchInLine(i,s,h+1,0))return a}return null},t.prototype._doFindMatches=function(e,t,n){var r,o=[],i=0;if(e.startLineNumber===e.endLineNumber)return r=this._lines[e.startLineNumber-1].text.substring(e.startColumn-1,e.endColumn-1),i=this._findMatchesInLine(t,r,e.startLineNumber,e.startColumn-1,i,o,n),o;r=this._lines[e.startLineNumber-1].text.substring(e.startColumn-1),i=this._findMatchesInLine(t,r,e.startLineNumber,e.startColumn-1,i,o,n);for(var s=e.startLineNumber+1;si;s++)i=this._findMatchesInLine(t,this._lines[s-1].text,s,0,i,o,n);return n>i&&(r=this._lines[e.endLineNumber-1].text.substring(0,e.endColumn-1),i=this._findMatchesInLine(t,r,e.endLineNumber,0,i,o,n)),o},t.prototype._findMatchInLine=function(e,t,n,r){var o=e.exec(t);return o?new i.Range(n,o.index+1+r,n,o.index+1+o[0].length+r):null},t.prototype._findMatchesInLine=function(e,t,n,r,o,s,a){var u;do if(u=e.exec(t),u&&(s.push(new i.Range(n,u.index+1+r,n,u.index+1+u[0].length+r)),o++,o>=a))return o;while(u);return o},t}(n.OrderGuaranteeEventEmitter);t.TextModel=p}),define("vs/editor/common/model/textModelWithTokensHelpers",["require","exports","vs/editor/common/modes/nullMode","vs/editor/common/core/range","vs/editor/common/editorCommon","vs/editor/common/core/arrays","vs/base/common/errors"],function(e,t,n,r,o,i,s){var a=o.LineTokensBinaryEncoding.getType,u=o.LineTokensBinaryEncoding.getBracket,c=o.LineTokensBinaryEncoding.getStartIndex,l=function(){function e(){}return e._safeGetWordDefinition=function(e){var t=null;if(e.tokenTypeClassificationSupport)try{t=e.tokenTypeClassificationSupport.getWordDefinition()}catch(n){s.onUnexpectedError(n)}return t},e.ensureValidWordDefinition=function(e){var t=n.NullMode.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)t=e;else{var r="g";e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),t=new RegExp(e.source,r)}return t.lastIndex=0,t},e.massageWordDefinitionOf=function(t){return e.ensureValidWordDefinition(e._safeGetWordDefinition(t))},e.getWords=function(t,n){if(!t._lineIsTokenized(n))return e._getWordsInText(t.getLineContent(n),e.massageWordDefinitionOf(t.getMode()));var r=[],o=t.getLineContent(n);if(o.length>0){var i,s,a,u,c,l,d,h,p,f,m,g,v=t._getLineModeTransitions(n);for(i=0,c=0,s=v.length;s>i;i++)if(d=e.massageWordDefinitionOf(v[i].mode),c=v[i].startIndex,l=s>i+1?v[i+1].startIndex:o.length,h=o.substring(c,l),p=h.match(d))for(m=0,a=0,u=p.length;u>a;a++)g=p[a],g.length>0&&(f=h.indexOf(g,m),m=f+g.length,r.push({start:c+f,end:c+m}))}return r},e._getWordsInText=function(e,t){var n,r,o,i,s,a,u=e.match(t)||[],c=[];for(n=0;n0&&(r=e.indexOf(a,o),o=r+a.length,i=r,s=o,c.push({start:i,end:s}));return c},e._getWordAtColumn=function(t,n,r,o){var i=o[r].startIndex,s=r+10&&s[u].startIndex===a&&(r=e._getWordAtColumn(o,n.column,u-1,s)),r},e._getWordAtText=function(e,t,n,r){var o,i,s,a,u,c,l=n.match(t);if(l)for(o=0;o0&&(i=n.indexOf(c,s),s=i+c.length,a=r+i+1,u=r+s+1,e>=a&&u>=e))return{word:c,startColumn:a,endColumn:u};return null},e}();t.WordHelper=l;var d=function(){function e(){}return e._sign=function(e){return 0>e?-1:e>0?1:0},e._findMatchingBracketUp=function(t,n,o,i,s){var l,d,h,p=s;for(l=o;l>=1;l--){var f=t.getLineTokens(l,!1),m=f.getBinaryEncodedTokens(),g=f.getBinaryEncodedTokensMap(),v=t.getLineContent(l);for(h=(l===o?i:m.length)-1;h>=0;h--)if(a(g,m[h])===n&&(p+=e._sign(u(m[h])),0===p))return d=h===m.length-1?v.length:c(m[h+1]),new r.Range(l,c(m[h])+1,l,d+1)}return null},e._findMatchingBracketDown=function(t,n,o,i,s){var l,d,h,p,f,m=1;for(l=o,d=t.getLineCount();d>=l;l++){if(s&&!t._lineIsTokenized(l))return{range:null,isAccurate:!1};var g=t.getLineTokens(l,!1),v=g.getBinaryEncodedTokens(),_=g.getBinaryEncodedTokensMap(),y=t.getLineContent(l);for(p=l===o?i+1:0,f=v.length;f>p;p++)if(a(_,v[p])===n&&(m+=e._sign(u(v[p])),0===m))return h=p===v.length-1?y.length:c(v[p+1]),{range:new r.Range(l,c(v[p])+1,l,h+1),isAccurate:!0}}return{range:null,isAccurate:!0}},e.findMatchingBracketUp=function(t,n,r){var o,i,s,a=r.column-1,u=-1,l=t.getLineTokens(r.lineNumber,!1),d=l.getBinaryEncodedTokens(),h=t.getLineContent(r.lineNumber);for(o=0,i=d.length;-1===u&&i>o;o++)s=o===i-1?h.length:c(d[o+1]),c(d[o])<=a&&s>=a&&(u=o);return e._findMatchingBracketUp(t,n,r.lineNumber,u+1,0)},e.matchBracket=function(t,n,o){if(o&&!t._lineIsTokenized(n.lineNumber))return{brackets:null,isAccurate:!1};var i,s,l=t.getLineContent(n.lineNumber),d={brackets:null,isAccurate:!0};if(l.length>0){var h,p,f,m,g,v=n.column-1,_=t.getLineTokens(n.lineNumber,!1),y=_.getBinaryEncodedTokens(),k=_.getBinaryEncodedTokensMap();for(i=0,s=y.length;null===d.brackets&&s>i;i++)if(h=y[i],f=c(h),g=a(k,h),m=u(h),p=i===s-1?l.length:c(y[i+1]),v>=f&&p>=v){if(0>m){var b=e._findMatchingBracketUp(t,g,n.lineNumber,i,-1);b&&(d.brackets=[new r.Range(n.lineNumber,f+1,n.lineNumber,p+1),b])}if(null===d.brackets&&m>0){var E=e._findMatchingBracketDown(t,g,n.lineNumber,i,o);d.isAccurate=E.isAccurate,E.range&&(d.brackets=[new r.Range(n.lineNumber,f+1,n.lineNumber,p+1),E.range])}}}return d},e}();t.BracketsHelper=d}),define("vs/editor/common/model/tokenIterator",["require","exports","vs/editor/common/editorCommon"],function(e,t,n){var r=n.LineTokensBinaryEncoding.getStartIndex,o=n.LineTokensBinaryEncoding.inflate,i=function(){function e(e,t){this._model=e,this._currentLineNumber=t.lineNumber,this._currentTokenIndex=0,this._readLineTokens(this._currentLineNumber),this._next=null,this._prev=null;for(var n=t.column-1,o=Number.MAX_VALUE,i=this._currentTokens.length-1;i>=0;i--){if(r(this._currentTokens[i])<=n&&o>=n){this._currentTokenIndex=i,this._next=this._current(),this._prev=this._current();break}o=r(this._currentTokens[i])}}return e.prototype._readLineTokens=function(e){this._currentLineTokens=this._model.getLineTokens(e,!1),this._currentTokens=this._currentLineTokens.getBinaryEncodedTokens(),this._map=this._currentLineTokens.getBinaryEncodedTokensMap()},e.prototype._advanceNext=function(){if(this._prev=this._next,this._next=null,this._currentTokenIndex+10){this._currentTokenIndex=0,this._next=this._current();break}null===this._next&&(this._readLineTokens(this._currentLineNumber),this._currentTokenIndex=this._currentTokens.length,this._advancePrev(),this._next=null)}},e.prototype._advancePrev=function(){if(this._next=this._prev,this._prev=null,this._currentTokenIndex>0)this._currentTokenIndex--,this._prev=this._current();else for(;this._currentLineNumber>1;)if(this._currentLineNumber--,this._readLineTokens(this._currentLineNumber),this._currentTokens.length>0){this._currentTokenIndex=this._currentTokens.length-1,this._prev=this._current();break}},e.prototype._current=function(){return{token:o(this._map,this._currentTokens[this._currentTokenIndex]),lineNumber:this._currentLineNumber,startColumn:r(this._currentTokens[this._currentTokenIndex])+1,endColumn:this._currentTokenIndex+1r;r++)if(e=this.brackets[r],e.isElectric){var o=e.close.charAt(e.close.length-1);t.push(this.caseInsensitive?o.toLowerCase():o)}var i;n=this.regexBrackets.length;for(var r=0;n>r;r++)i=this.regexBrackets[r],i.openTrigger&&t.push(this.caseInsensitive?i.openTrigger.toLowerCase():i.openTrigger),i.closeTrigger&&t.push(this.caseInsensitive?i.closeTrigger.toLowerCase():i.closeTrigger);if(this.docComment&&t.push(this.docComment.open.charAt(this.docComment.open.length-1)),this.caseInsensitive)for(var s=t.length,r=0;s>r;++r)t.push(t[r].toUpperCase());return t=t.filter(function(e,t,n){return n.indexOf(e)==t})},e.prototype.onEnter=function(e,t){return 0===e.getTokenCount()?null:this._onEnterRegexBrackets(e,t)},e.prototype.onElectricCharacter=function(e,t){return 0===e.getTokenCount()?null:this._onElectricCharacterDocComment(e,t)||this._onElectricCharacterRegexBrackets(e,t)||this._onElectricCharacterStandardBrackets(e,t)},e.prototype.stringIsBracket=function(e){var t=e;this.caseInsensitive&&(t=e.toLowerCase());for(var n,r=0;r=0&&e.getTokenEndIndex(r)-1>t)return null;var s=n.firstNonWhitespaceIndex(e.getLineContent());return-1!==s&&s<=t-o.length?null:{matchBracketType:i}},e.prototype._onElectricCharacterRegexBrackets=function(e,t){for(var n=e.getLineContent(),r=0;r=0)return null;var o=e.findIndexOfOffset(t);return this.containsTokenTypes(e.getTokenType(o),this.docComment.scope)?n.substring(e.getTokenStartIndex(o),t+1)!==this.docComment.open?null:{appendText:this.docComment.close}:null},e.prototype._detectLetercase=function(e){return e.toLowerCase()===e?o.Lowercase:e.toUpperCase()===e?o.Uppercase:e.length>1&&e.charAt(0).toUpperCase()===e.charAt(0)&&e.charAt(1).toLowerCase()===e.charAt(1)?o.Camelcase:o.Unknown},e.prototype._changeLettercase=function(e,t){switch(t){case o.Lowercase:return e.toLowerCase();case o.Uppercase:return e.toUpperCase();case o.Camelcase:for(var n=e.toLowerCase().split(" "),r=0;ra;a++)if(o){if(s.indexOf(n[a])>=0)return!0}else if(r.endsWith(s,n[a]))return!0;return!1}function h(e){return"function"==typeof e}var p=function(){function e(e,t,n){this.startIndex=e,this.type=t,this.bracket=n}return e.prototype.toString=function(){return"("+this.startIndex+", "+this.type+", "+this.bracket+")"},e}();t.Token=p,t.handleEvent=l,t.isLineToken=d;var f=function(){function e(e,t,n,r,o,i){this.modeTransitions=[{startIndex:0,mode:t}],this._actual=e,this._firstTokenInModeIndex=n,this._nextTokenAfterMode=r,this._firstTokenCharacterOffset=o,this._nextCharacterAfterModeIndex=i}return e.prototype.getLineContent=function(){var e=this._actual.getLineContent();return e.substring(this._firstTokenCharacterOffset,this._nextCharacterAfterModeIndex)},e.prototype.getTokenCount=function(){return this._nextTokenAfterMode-this._firstTokenInModeIndex},e.prototype.findIndexOfOffset=function(e){return this._actual.findIndexOfOffset(e+this._firstTokenCharacterOffset)-this._firstTokenInModeIndex},e.prototype.getTokenStartIndex=function(e){return this._actual.getTokenStartIndex(e+this._firstTokenInModeIndex)-this._firstTokenCharacterOffset},e.prototype.getTokenEndIndex=function(e){return this._actual.getTokenEndIndex(e+this._firstTokenInModeIndex)-this._firstTokenCharacterOffset},e.prototype.getTokenType=function(e){return this._actual.getTokenType(e+this._firstTokenInModeIndex)},e.prototype.getTokenBracket=function(e){return this._actual.getTokenBracket(e+this._firstTokenInModeIndex)},e.prototype.getTokenText=function(e){return this._actual.getTokenText(e+this._firstTokenInModeIndex)},e}();t.FilteredLineContext=f;var m=function(){function e(e){this._mode=e}return Object.defineProperty(e.prototype,"mode",{get:function(){return this._mode},enumerable:!0,configurable:!0}),e}();t.AbstractSupport=m;var g=function(e){function t(t,n,r,o){if(e.call(this,t),this.customization=n,this.supportsNestedModes=r,this._embeddedModesListeners={},this.supportsNestedModes&&!this.mode.registerSupport)throw new Error("Cannot be a mode with nested modes unless I can emit a tokenizationSupport changed event!");this.shouldGenerateEmbeddedModels=o,this.defaults={enterNestedMode:!h(n.enterNestedMode),getNestedMode:!h(n.getNestedMode),getNestedModeInitialState:!h(n.getNestedModeInitialState),getLeavingNestedModeData:!h(n.getLeavingNestedModeData),onReturningFromNestedMode:!h(n.onReturningFromNestedMode)}}return __extends(t,e),t.prototype.dispose=function(){for(var e in this._embeddedModesListeners)this._embeddedModesListeners[e].dispose(),delete this._embeddedModesListeners[e]},t.prototype.getInitialState=function(){return this.customization.getInitialState()},t.prototype.tokenize=function(e,t,n,r){return void 0===n&&(n=0),void 0===r&&(r=n+e.length),t.getMode()!==this.mode?this._nestedTokenize(e,t,n,r,[],[]):this._myTokenize(e,t,n,r,[],[])},t.prototype._nestedTokenize=function(e,t,n,r,o,s){for(var a=t.getStateData(),u=this.getLeavingNestedModeData(e,a),c=t;c.getStateData()&&c.getStateData().getMode()!==this.mode;)c=c.getStateData();var l=c.getMode();if(!u){var d;return d=l.tokenizationSupport?l.tokenizationSupport.tokenize(e,t,n,r):i.nullTokenize(l,e,t,n),d.tokens=o.concat(d.tokens),d.modeTransitions=s.concat(d.modeTransitions),d}var h=u.nestedModeBuffer;if(h.length>0){var p;p=l.tokenizationSupport?l.tokenizationSupport.tokenize(h,t,n,r):i.nullTokenize(l,h,t,n),t=p.endState,o=o.concat(p.tokens),s=s.concat(p.modeTransitions)}var f=u.bufferAfterNestedMode,m=u.stateAfterNestedMode;return m.setStateData(a.getStateData()),this.onReturningFromNestedMode(m,t),this._myTokenize(f,m,n+h.length,r,o,s)},t.prototype._myTokenize=function(e,n,r,i,s,a){var c,l,d=this,h=new o.LineStream(e),f=null,m=null;n=n.clone(),(a.length<=0||a[a.length-1].mode!==this.mode)&&a.push({startIndex:r,mode:this.mode});for(var g=Math.min(i-r,e.length),v=u.Bracket.None;h.pos()0)for(var r=0;r0){ +var o=e.sortByType.indexOf(t.type),i=e.sortByType.indexOf(n.type);if(0>o&&(o=e.sortByType.length),0>i&&(i=e.sortByType.length),i>o)return-1;if(o>i)return 1;if(o0?t.label.split(s):[t.label],u="string"==typeof s&&s.length>0?n.label.split(s):[n.label];if(a.lengthu.length)return 1;for(var c=0;c-1)return!1;break}return!0}return t.characterPairSupport?t.characterPairSupport.shouldAutoClosePair(e,n,o):null})},t.prototype.getSurroundingPairs=function(){return this._surroundingPairs},t}(m);t.CharacterPairSupport=S;var C=function(){function e(){}return e.prototype.valueSetsReplace=function(e,t,n){for(var r=null,o=0,i=e.length;null===r&&i>o;o++)r=this.valueSetReplace(e[o],t,n);return r},e.prototype.valueSetReplace=function(e,t,n){var r=e.indexOf(t);return r>=0?(r+=n?1:-1,0>r?r=e.length-1:r%=e.length,e[r]):null},e}();t.ReplaceSupport=new C;var M=function(){function e(e){void 0===e&&(e=null),this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]],this.defaults={textReplace:!e||!h(e.textReplace),navigateValueSetFallback:!e||!h(e.navigateValueSetFallback)},this.customization=e}return e.prototype.navigateValueSet=function(e,t,r){var o=this.doNavigateValueSet(e,t,r,!0);return o&&o.value&&o.range?n.TPromise.as(o):this.defaults.navigateValueSetFallback?n.TPromise.as(null):this.customization.navigateValueSetFallback(e,t,r)},e.prototype.doNavigateValueSet=function(e,t,n,r){var o,i=this.getModel(e),s={range:null,value:null};if(r)t.startColumn===t.endColumn&&(t.endColumn+=1),o=i.getValueInRange(t),s.range=t;else{var a={lineNumber:t.startLineNumber,column:t.startColumn},u=i.getWordAtPosition(a);if(!u||-1===u.startColumn)return null;o=u.word,s.range={startLineNumber:t.startLineNumber,endLineNumber:t.endLineNumber,startColumn:u.startColumn,endColumn:u.endColumn}}var c=this.numberReplace(o,n);if(null!==c)s.value=c;else{var l=this.textReplace(o,n);if(null!==l)s.value=l;else if(r)return this.doNavigateValueSet(e,t,n,!1)}return s},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),r=Number(e),o=parseFloat(e);return isNaN(r)||isNaN(o)||r!==o?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null},e.prototype.textReplace=function(e,n){return this.defaults.textReplace?t.ReplaceSupport.valueSetsReplace(this._defaultValueSet,e,n):this.customization.textReplace(e,n)||t.ReplaceSupport.valueSetsReplace(this._defaultValueSet,e,n)},e.prototype.getModel=function(e){throw new Error("Not implemented")},e}();t.AbstractInplaceReplaceSupport=M;var w=function(e){function t(t,n){void 0===n&&(n=null),e.call(this,n),this.resourceService=t}return __extends(t,e),t.prototype.getModel=function(e){return this.resourceService.get(e)},t}(M);t.WorkerInplaceReplaceSupport=w;var I=function(e){function t(t,n){void 0===n&&(n=null),e.call(this,n),this.modelService=t}return __extends(t,e),t.prototype.getModel=function(e){return this.modelService.getModel(e)},t}(M);t.MainInplaceReplaceSupport=I;var x=function(){function e(e){this._contribution=e}return e.prototype.getCommentsConfiguration=function(){return this._contribution.commentsConfiguration},e}();t.CommentsSupport=x;var L=function(){function e(e){this._contribution=e}return e.prototype.getWordDefinition=function(){return"undefined"==typeof this._contribution.wordDefinition?i.NullMode.DEFAULT_WORD_REGEXP:this._contribution.wordDefinition},e}();t.TokenTypeClassificationSupport=L}),define("vs/editor/common/modes/supports/onEnter",["require","exports","vs/editor/common/modes/supports","vs/editor/common/modes","vs/base/common/errors","vs/base/common/strings"],function(e,t,n,r,o,i){var s=function(){function e(t,n){n=n||{},n.brackets=n.brackets||[{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"}],this._modeId=t,this._brackets=n.brackets.map(function(t){return{open:t.open,openRegExp:e._createOpenBracketRegExp(t.open),close:t.close,closeRegExp:e._createCloseBracketRegExp(t.close)}}),this._regExpRules=n.regExpRules||[],this._indentationRules=n.indentationRules}return e.prototype.onEnter=function(e,t){var r=this,o=e.getLineContext(t.lineNumber);return n.handleEvent(o,t.column-1,function(n,o,i){return r._modeId===n.getId()?r._onEnter(e,t):n.onEnterSupport?n.onEnterSupport.onEnter(e,t):null})},e.prototype._onEnter=function(e,t){var n=e.getLineContent(t.lineNumber),r=n.substr(0,t.column-1),o=n.substr(t.column-1),i=1===t.lineNumber?"":e.getLineContent(t.lineNumber-1);return this._actualOnEnter(i,r,o)},e.prototype._actualOnEnter=function(t,n,r){for(var o=0,i=this._regExpRules.length;i>o;o++){var s=this._regExpRules[o];if(s.beforeText.test(n)){if(!s.afterText)return s.action;if(s.afterText.test(r))return s.action}}if(n.length>0&&r.length>0)for(var o=0,i=this._brackets.length;i>o;o++){var a=this._brackets[o];if(a.openRegExp.test(n)&&a.closeRegExp.test(r))return e._INDENT_OUTDENT}if(this._indentationRules){if(this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(n))return e._INDENT;if(this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(n))return e._INDENT;if(/^\s/.test(n)){if(this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(r))return e._OUTDENT;if(this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(t))return e._OUTDENT}}if(n.length>0)for(var o=0,i=this._brackets.length;i>o;o++){var a=this._brackets[o];if(a.openRegExp.test(n))return e._INDENT}return null},e._createOpenBracketRegExp=function(t){var n=i.escapeRegExpCharacters(t);return/\B/.test(n.charAt(0))||(n="\\b"+n),n+="\\s*$",e._safeRegExp(n)},e._createCloseBracketRegExp=function(t){var n=i.escapeRegExpCharacters(t);return/\B/.test(n.charAt(n.length-1))||(n+="\\b"),n="^\\s*"+n,e._safeRegExp(n)},e._safeRegExp=function(e){try{return new RegExp(e)}catch(t){return o.onUnexpectedError(t),null}},e._INDENT={indentAction:r.IndentAction.Indent},e._INDENT_OUTDENT={indentAction:r.IndentAction.IndentOutdent},e._OUTDENT={indentAction:r.IndentAction.Outdent},e}();t.OnEnterSupport=s}),define("vs/nls!vs/editor/common/model/textModelWithTokens",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/editor/common/model/textModelWithTokens",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithTokens",["require","exports","vs/nls!vs/editor/common/model/textModelWithTokens","vs/base/common/timer","vs/editor/common/modes/nullMode","vs/editor/common/model/textModelWithTokensHelpers","vs/editor/common/model/tokenIterator","vs/editor/common/model/textModel","vs/editor/common/config/defaultConfig","vs/editor/common/editorCommon","vs/base/common/async","vs/editor/common/core/arrays","vs/base/common/errors","vs/base/common/lifecycle","vs/base/common/stopwatch","vs/base/common/winjs.base"],function(e,t,n,r,o,i,s,a,u,c,l,d,h,p,f,m){var g=function(){function e(){this._inflate=[""],this._deflate={"":0}}return e}();t.TokensInflatorMap=g;var v=function(){function e(e,t){var n=this;this._modePromise=e,this._externalModePromise=new m.TPromise(function(e,t,r){n._externalModePromise_c=e,n._externalModePromise_e=t},function(){}),this._model=t,this._isDisposed=!1,m.TPromise.timeout(0).then(function(){return n._modePromise}).then(function(e){if(n._isDisposed)return void n._externalModePromise_c(!1);var t=n._model;n.dispose(),t.setMode(e),t._warmUpTokens(),n._externalModePromise_c(!0)}).done(null,function(e){n._externalModePromise_e(e),h.onUnexpectedError(e)})}return e.prototype.getModePromise=function(){return this._externalModePromise},e.prototype.dispose=function(){this._modePromise=null,this._model=null,this._isDisposed=!0},e}(),_=function(){function e(e,t){var n=this;this._retokenizePromise=e,this._model=t,this._isDisposed=!1,this.isFulfilled=!1,m.TPromise.timeout(0).then(function(){return n._retokenizePromise}).then(function(){n._isDisposed||(n.isFulfilled=!0,n._model.onRetokenizerFulfilled())}).done(null,h.onUnexpectedError)}return e.prototype.getRange=function(){return null},e.prototype.dispose=function(){this._retokenizePromise=null,this._model=null,this._isDisposed=!0},e}();t.FullModelRetokenizer=_;var y=function(){function e(e,t){this.modeTransitions=t.getModeTransitions().toArray(e),this._text=t.text,this._lineTokens=t.getTokens()}return e.prototype.getLineContent=function(){return this._text},e.prototype.getTokenCount=function(){return this._lineTokens.getTokenCount()},e.prototype.getTokenStartIndex=function(e){return this._lineTokens.getTokenStartIndex(e)},e.prototype.getTokenEndIndex=function(e){return this._lineTokens.getTokenEndIndex(e,this._text.length)},e.prototype.getTokenType=function(e){return this._lineTokens.getTokenType(e)},e.prototype.getTokenBracket=function(e){return this._lineTokens.getTokenBracket(e)},e.prototype.getTokenText=function(e){var t=this._lineTokens.getTokenStartIndex(e),n=this._lineTokens.getTokenEndIndex(e,this._text.length);return this._text.substring(t,n)},e.prototype.findIndexOfOffset=function(e){return this._lineTokens.findIndexOfOffset(e)},e}(),k=function(e){function t(n,r,i,s){var a=this;if(n.push(c.EventType.ModelTokensChanged),n.push(c.EventType.ModelModeChanged),n.push(c.EventType.ModelModeSupportChanged),e.call(this,n,r),this._shouldAutoTokenize=i,this._shouldSimplifyMode=r.length>t.MODEL_SYNC_LIMIT,this._shouldDenyMode=r.length>t.MODEL_TOKENIZATION_LIMIT,this._stopLineTokenizationAfter=u.DefaultConfig.editor.stopLineTokenizationAfter,s)if(m.TPromise.is(s)){var d=s;this._modeToModelBinder=new v(d,this),this._mode=new o.NullMode}else this._mode=this._massageMode(s),this._resetModeListener(this._mode);else this._mode=new o.NullMode;this._revalidateTokensTimeout=-1,this._scheduleRetokenizeNow=new l.RunOnceScheduler(function(){return a._retokenizeNow()},200),this._retokenizers=[],this._resetTokenizationState()}return __extends(t,e),t.prototype.dispose=function(){this._modeToModelBinder&&(this._modeToModelBinder.dispose(),this._modeToModelBinder=null),this._resetModeListener(null),this._clearTimers(),this._mode=null,this._lastState=null,this._tokensInflatorMap=null,this._retokenizers=p.disposeAll(this._retokenizers),this._scheduleRetokenizeNow.dispose(),e.prototype.dispose.call(this)},t.prototype._massageMode=function(e){return this._shouldDenyMode?new o.NullMode:this._shouldSimplifyMode?new b(e):e},t.prototype.whenModeIsReady=function(){var e=this;return this._modeToModelBinder?this._modeToModelBinder.getModePromise().then(function(){return e._mode}):m.TPromise.as(this._mode)},t.prototype.onRetokenizerFulfilled=function(){this._scheduleRetokenizeNow.schedule()},t.prototype._retokenizeNow=function(){var e=this._retokenizers.filter(function(e){return e.isFulfilled});this._retokenizers=this._retokenizers.filter(function(e){return!e.isFulfilled});for(var t=!1,n=0;nn;n++)this._lines[n].isInvalid=!0;this._invalidLineStartIndex=0}else{for(var o=Number.MAX_VALUE,n=0;ne||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return t||this._updateTokensUntilLine(e,!0),this._lines[e-1].getTokens()},t.prototype.getLineContext=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getLineContext: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._updateTokensUntilLine(e,!0),new y(this._mode,this._lines[e-1])},t.prototype._getInternalTokens=function(e){return this._updateTokensUntilLine(e,!0),this._lines[e-1].getTokens()},t.prototype.setValue=function(t,n){if(void 0===n&&(n=null),this._isDisposed)throw new Error("TextModelWithTokens.setValue: Model is disposed");if(null!==t&&e.prototype.setValue.call(this,t),n)if(this._modeToModelBinder&&(this._modeToModelBinder.dispose(),this._modeToModelBinder=null),m.TPromise.is(n))this._modeToModelBinder=new v(n,this);else{var r=this._massageMode(n);if(this._mode!==r){var o={oldMode:this._mode,newMode:r};this._resetMode(o,r),this._emitModelModeChangedEvent(o)}}},t.prototype.getMode=function(){if(this._isDisposed)throw new Error("TextModelWithTokens.getMode: Model is disposed");return this._mode},t.prototype.setMode=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.setMode: Model is disposed");e&&this.setValue(null,e)},t.prototype.getModeAtPosition=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.getModeAtPosition: Model is disposed");var n=this.validatePosition({lineNumber:e,column:t}),r=n.lineNumber,o=n.column;if(1===o)return this.getStateBeforeLine(r).getMode();if(o===this.getLineMaxColumn(r))return this.getStateAfterLine(r).getMode();var i=this._getLineModeTransitions(r),s=d.Arrays.findIndexInSegmentsArray(i,o-1);return i[s].mode},t.prototype._invalidateLine=function(e){this._lines[e].isInvalid=!0,e=n;n++){var r=this._lines[n-1].text;if(r.length>=200){t=n-1;break}}this._revalidateTokensNow(t)},t.prototype._revalidateTokensNow=function(e){void 0===e&&(e=this._invalidLineStartIndex+1e6);var t=r.start(r.Topic.EDITOR,"backgroundTokenization");e=Math.min(this._lines.length,e);for(var n,o=20,i=this._invalidLineStartIndex+1,s=0,a=0,u=0,c=this._stopLineTokenizationAfter,l=f.StopWatch.create(),d=i;e>=d;d++){if(n=l.elapsed(),n>o){e=d-1;break}if(a=this._lines[d-1].text.length,-1!==c&&a>c&&(a=c),s>0&&(u=n/s*a,n+u>o)){e=d-1;break}this._updateTokensUntilLine(d,!1),s+=a}n=l.elapsed();var h=r.start(r.Topic.EDITOR,"**speed: "+this._tokenizationTotalCharacters/this._tokenizationElapsedTime);h.stop(),e>=i&&this.emitModelTokensChangedEvent(i,e),this._invalidLineStartIndexe||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._updateTokensUntilLine(e,!0),this._lines[e-1].getModeTransitions().toArray(this._mode)},t.prototype._updateTokensUntilLine=function(e,n){var r=this._lines.length,i=e-1,s=this._stopLineTokenizationAfter;-1===s&&(s=1e9);for(var a=f.StopWatch.create(),u=0,c=this._invalidLineStartIndex+1,l=e,d=this._invalidLineStartIndex;i>=d;d++){var p=d+1,m=null,g=this._lines[d].text;if(this._mode.tokenizationSupport){try{m=this._mode.tokenizationSupport.tokenize(this._lines[d].text,this._lines[d].getState(),0,s),u=m?m.actualStopOffset:this._lines[d].text.length}catch(v){v.friendlyMessage=t.MODE_TOKENIZATION_FAILED_MSG,h.onUnexpectedError(v)}m&&m.retokenize&&this._retokenizers.push(this._createRetokenizer(m.retokenize,d+1)),m&&m.tokens&&m.tokens.length>0&&(m.actualStopOffset=Math.max(m.actualStopOffset,m.tokens[m.tokens.length-1].startIndex+1)),m&&m.actualStopOffsetp)if(null!==this._lines[p].getState()&&m.endState.equals(this._lines[p].getState())){for(var _=d+1;r>_&&!this._lines[_].isInvalid;){if(r>_+1){if(null===this._lines[_+1].getState())break}else if(null===this._lastState)break;_++}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,_),d=_-1}else this._lines[p].setState(m.endState);else this._lastState=m.endState}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,i+1),this._tokenizationElapsedTime+=a.elapsed(),this._tokenizationTotalCharacters+=u,n&&l>=c&&this.emitModelTokensChangedEvent(c,l)},t.prototype.emitModelTokensChangedEvent=function(e,t){var n={fromLineNumber:e,toLineNumber:t};this._isDisposing||this.emit(c.EventType.ModelTokensChanged,n)},t.prototype._emitModelModeChangedEvent=function(e){this._isDisposing||this.emit(c.EventType.ModelModeChanged,e)},t.prototype._emitModelModeSupportChangedEvent=function(e){this._isDisposing||this.emit(c.EventType.ModelModeSupportChanged,e)},t.prototype._lineIsTokenized=function(e){return this._invalidLineStartIndex>e-1},t.prototype._getWordDefinition=function(){return i.WordHelper.massageWordDefinitionOf(this._mode)},t.prototype.getWordAtPosition=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWordAtPosition: Model is disposed");return i.WordHelper.getWordAtPosition(this,this.validatePosition(e))},t.prototype.getWordUntilPosition=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWordUntilPosition: Model is disposed");var t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.getWords=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWords: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return i.WordHelper.getWords(this,this.validateLineNumber(e))},t.prototype.tokenIterator=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.tokenIterator: Model is disposed");var n=new s.TokenIterator(this,this.validatePosition(e)),r=t(n);return n._invalidate(),r},t.prototype.findMatchingBracketUp=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.findMatchingBracketUp: Model is disposed");return i.BracketsHelper.findMatchingBracketUp(this,e,this.validatePosition(t))},t.prototype.matchBracket=function(e,t){if(void 0===t&&(t=!1),this._isDisposed)throw new Error("TextModelWithTokens.matchBracket: Model is disposed");return i.BracketsHelper.matchBracket(this,this.validatePosition(e),t)},t.MODE_TOKENIZATION_FAILED_MSG=n.localize(0,null),t.MODEL_SYNC_LIMIT=5242880,t.MODEL_TOKENIZATION_LIMIT=52428800,t}(a.TextModel);t.TextModelWithTokens=k;var b=function(){function e(e){this._id="vs.editor.modes.simplifiedMode:"+e.getId(),this.tokenizationSupport=e.tokenizationSupport,this.electricCharacterSupport=e.electricCharacterSupport,this.commentsSupport=e.commentsSupport,this.characterPairSupport=e.characterPairSupport,this.tokenTypeClassificationSupport=e.tokenTypeClassificationSupport}return e.prototype.getId=function(){return this._id},e}()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/mirrorModel",["require","exports","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/model/textModel","vs/editor/common/model/textModelWithTokens","vs/editor/common/model/modelLine","vs/editor/common/editorCommon","vs/base/common/network","vs/base/common/lifecycle"],function(e,t,n,r,o,i,s,a,u){function c(e,t,n,o,i,s){return new p(e,t,r.TextModel.toRawText(n),o,i,s)}var l=function(e){function t(t,n,r,o,i,a){e.call(this,t.concat([s.EventType.ModelDispose]),r,!1,o),a||(a={}),this._setVersionId(n),this._associatedResource=i,this._extraProperties=a}return __extends(t,e),t.prototype.getModeId=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getModeId: Model is disposed");return this.getMode().getId()},t.prototype.getEmbeddedAtPosition=function(e){return null},t.prototype.getAllEmbedded=function(){return[]},t.prototype._constructLines=function(t){e.prototype._constructLines.call(this,t),this._EOL="\n"},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){this.emit(s.EventType.ModelDispose),e.prototype.dispose.call(this)},t.prototype.getAssociatedResource=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getAssociatedResource: Model is disposed");return this._associatedResource},t.prototype.getProperty=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getProperty: Model is disposed");return this._extraProperties.hasOwnProperty(e)?this._extraProperties[e]:null},t.prototype._ensurePrefixSum=function(){if(!this._lineStarts){for(var e=[],t=this.getEOL().length,r=0,o=this._lines.length;o>r;r++)e.push(this._lines[r].text.length+t);this._lineStarts=new n.PrefixSumComputer(e)}},t.prototype.getRangeFromOffsetAndLength=function(e,t){if(this._isDisposed)throw new Error("AbstractMirrorModel.getRangeFromOffsetAndLength: Model is disposed");var n=this.getPositionFromOffset(e),r=this.getPositionFromOffset(e+t);return{startLineNumber:n.lineNumber,startColumn:n.column,endLineNumber:r.lineNumber,endColumn:r.column}},t.prototype.getOffsetAndLengthFromRange=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getOffsetAndLengthFromRange: Model is disposed");var t=this.getOffsetFromPosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this.getOffsetFromPosition({lineNumber:e.endLineNumber,column:e.endColumn});return{offset:t,length:n-t}},t.prototype.getPositionFromOffset=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getPositionFromOffset: Model is disposed");this._ensurePrefixSum();var t={index:0,remainder:0};return this._lineStarts.getIndexOf(e,t),{lineNumber:t.index+1,column:this.getEOL().length+t.remainder}},t.prototype.getOffsetFromPosition=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getOffsetFromPosition: Model is disposed");return this.getLineStart(e.lineNumber)+e.column-1},t.prototype.getLineStart=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getLineStart: Model is disposed");this._ensurePrefixSum();var t=Math.min(e,this._lines.length)-1;return this._lineStarts.getAccumulatedValue(t-1)},t.prototype.getAllWordsWithRange=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getAllWordsWithRange: Model is disposed");if(this._lines.length>1e4)return[];var e,t=[],n=function(n){var o=r.text.substring(n.start,n.end),i={startLineNumber:e+1,startColumn:n.start+1,endLineNumber:e+1,endColumn:n.end+1};t.push({text:o,range:i})};for(e=0;e=r[o].start;o++){var i=r[o];if(t<=i.end)return n(e,i.start,i.end)}return n(e,-1,-1)},t}(o.TextModelWithTokens);t.AbstractMirrorModel=l;var d=function(e){function t(n,r,o,i){e.call(this,["changed"],n.getVersionId(),t._getMirrorValueWithinRanges(n,r),o,i),this._actualModel=n}return __extends(t,e),t._getMirrorValueWithinRanges=function(e,t){var n,o="",i=1,s=1;for(n=0;n=u;u++)for(var c=e._getLineModeTransitions(u),l=0;ln;n++){var o=e[n];switch(o.type){case s.EventType.ModelContentChanged:var i=o;switch(this._lineStarts=null,this._setVersionId(i.versionId), +i.changeType){case s.EventType.ModelContentChangedFlush:this._onLinesFlushed(i),t=!0;break;case s.EventType.ModelContentChangedLinesDeleted:this._onLinesDeleted(i),t=!0;break;case s.EventType.ModelContentChangedLinesInserted:this._onLinesInserted(i),t=!0;break;case s.EventType.ModelContentChangedLineChanged:this._onLineChanged(i),t=!0}break;case s.EventType.ModelPropertiesChanged:this._extraProperties=o.properties;break;default:console.warn("Unknown model event: "+o.type)}}var a=!1;return t&&(this.emit("changed",{}),a=this._updateEmbeddedModels()),a},t.prototype._onLinesFlushed=function(e){this._constructLines(e.detail),this._resetTokenizationState()},t.prototype._onLineChanged=function(e){this._lines[e.lineNumber-1].applyEdits({},[{startColumn:1,endColumn:Number.MAX_VALUE,text:e.detail,forceMoveMarkers:!1}]),this._invalidateLine(e.lineNumber-1)},t.prototype._onLinesDeleted=function(e){var t=e.fromLineNumber-1,n=e.toLineNumber-1,r=this._lines[t].getState();this._lines.splice(t,n-t+1),t=2&&this._invalidateLine(e.fromLineNumber-2)},t}(l);t.MirrorModel=p});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithMarkers",["require","exports","vs/editor/common/core/position","vs/editor/common/model/textModelWithTokens","vs/editor/common/core/idGenerator"],function(e,t,n,r,o){var i=function(){function e(e,t,n){this.id=e,this.column=t,this.stickToPreviousCharacter=n,this.oldLineNumber=0,this.oldColumn=0,this.line=null}return e.prototype.toString=function(){return"{'"+this.id+"';"+this.column+","+this.stickToPreviousCharacter+",["+this.oldLineNumber+","+this.oldColumn+"]}"},e}();t.LineMarker=i;var s=0,a=function(e){function t(t,n,r){e.call(this,t,n,!0,r),this._markerIdGenerator=new o.IdGenerator(++s+";"),this._markerIdToMarker={}}return __extends(t,e),t.prototype.dispose=function(){this._markerIdToMarker=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._markerIdToMarker={}},t.prototype._addMarker=function(e,t,r){if(this._isDisposed)throw new Error("TextModelWithMarkers._addMarker: Model is disposed");var o=this.validatePosition(new n.Position(e,t)),s=new i(this._markerIdGenerator.generate(),o.column,r);return this._markerIdToMarker[s.id]=s,this._lines[o.lineNumber-1].addMarker(s),s.id},t.prototype._addMarkers=function(e){for(var t=Object.create(null),n=[],r=0,o=e.length;o>r;r++){var s=e[r],a=new i(this._markerIdGenerator.generate(),s.column,s.stickToPreviousCharacter);this._markerIdToMarker[a.id]=a,t[s.lineNumber]||(t[s.lineNumber]=[]),t[s.lineNumber].push(a),n.push(a.id)}for(var u=Object.keys(t),r=0,o=u.length;o>r;r++){var c=parseInt(u[r],10);this._lines[c-1].addMarkers(t[u[r]])}return n},t.prototype._changeMarker=function(e,t,r){if(this._isDisposed)throw new Error("TextModelWithMarkers._changeMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var o=this._markerIdToMarker[e],i=this.validatePosition(new n.Position(t,r));i.lineNumber!==o.line.lineNumber&&(o.line.removeMarker(o),this._lines[i.lineNumber-1].addMarker(o)),o.column=i.column}},t.prototype._changeMarkerStickiness=function(e,t){if(this._isDisposed)throw new Error("TextModelWithMarkers._changeMarkerStickiness: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var n=this._markerIdToMarker[e];n.stickToPreviousCharacter!==t&&(n.stickToPreviousCharacter=t)}},t.prototype._getMarker=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var t=this._markerIdToMarker[e];return new n.Position(t.line.lineNumber,t.column)}return null},t.prototype._getMarkersCount=function(){return Object.keys(this._markerIdToMarker).length},t.prototype._getLineMarkers=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getLineMarkers: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].getMarkers()},t.prototype._removeMarker=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._removeMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var t=this._markerIdToMarker[e];t.line.removeMarker(t),delete this._markerIdToMarker[e]}},t.prototype._removeMarkers=function(e){for(var t=Object.create(null),n=0,r=e.length;r>n;n++){var o=e[n];if(this._markerIdToMarker.hasOwnProperty(o)){var i=this._markerIdToMarker[o],s=i.line.lineNumber;t[s]||(t[s]=Object.create(null)),t[s][o]=!0,delete this._markerIdToMarker[o]}}for(var a=Object.keys(t),n=0,r=a.length;r>n;n++){var s=parseInt(a[n],10);this._lines[s-1].removeMarkers(t[a[n]])}},t.prototype._getMarkersInMap=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getMarkersInMap: Model is disposed");var t,n=[];for(t in e)e.hasOwnProperty(t)&&this._markerIdToMarker.hasOwnProperty(t)&&n.push(this._markerIdToMarker[t]);return n},t}(r.TextModelWithTokens);t.TextModelWithMarkers=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithTrackedRanges",["require","exports","vs/editor/common/core/range","vs/editor/common/model/textModelWithMarkers","vs/editor/common/model/textModelWithTokens","vs/editor/common/editorCommon","vs/editor/common/core/idGenerator"],function(e,t,n,r,o,i,s){var a=function(e){function t(t,n,r){e.call(this,t,r),this.trackedRangeId=r.addTrackedRange({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:r.getLineMaxColumn(n)},i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges)}return __extends(t,e),t.prototype.getRange=function(){return this._model.getTrackedRange(this.trackedRangeId)},t.prototype.dispose=function(){var t=this._model;t.isValidTrackedRange(this.trackedRangeId)&&t.removeTrackedRange(this.trackedRangeId),e.prototype.dispose.call(this)},t}(o.FullModelRetokenizer),u=function(){function e(e,t,n){this.id=e,this.startMarkerId=t,this.endMarkerId=n}return e}(),c=0,l=function(e){function t(t,n,r){e.call(this,t,n,r),this._rangeIdGenerator=new s.IdGenerator(++c+";"),this._ranges={},this._markerIdToRangeId={},this._multiLineTrackedRanges={}}return __extends(t,e),t.prototype._createRetokenizer=function(e,t){return new a(e,t,this)},t.prototype.dispose=function(){this._ranges=null,this._markerIdToRangeId=null,this._multiLineTrackedRanges=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._ranges={},this._markerIdToRangeId={},this._multiLineTrackedRanges={}},t.prototype._setRangeIsMultiLine=function(e,t){var n=this._multiLineTrackedRanges.hasOwnProperty(e);!n&&t?this._multiLineTrackedRanges[e]=!0:n&&!t&&delete this._multiLineTrackedRanges[e]},t.prototype._shouldStartMarkerSticksToPreviousCharacter=function(e){return e===i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges||e===i.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore?!0:!1},t.prototype._shouldEndMarkerSticksToPreviousCharacter=function(e){return e===i.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges||e===i.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore?!0:!1},t.prototype._getTrackedRangesCount=function(){return Object.keys(this._ranges).length},t.prototype.addTrackedRange=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.addTrackedRange: Model is disposed");e=this.validateRange(e);var n=this._shouldStartMarkerSticksToPreviousCharacter(t),r=this._shouldEndMarkerSticksToPreviousCharacter(t),o=this._addMarker(e.startLineNumber,e.startColumn,n),i=this._addMarker(e.endLineNumber,e.endColumn,r),s=new u(this._rangeIdGenerator.generate(),o,i);return this._ranges[s.id]=s,this._markerIdToRangeId[o]=s.id,this._markerIdToRangeId[i]=s.id,this._setRangeIsMultiLine(s.id,e.startLineNumber!==e.endLineNumber),s.id},t.prototype._addTrackedRanges=function(e,t){for(var n=[],r=0,o=e.length;o>r;r++){var i=e[r],s=t[r];n.push({lineNumber:i.startLineNumber,column:i.startColumn,stickToPreviousCharacter:this._shouldStartMarkerSticksToPreviousCharacter(s)}),n.push({lineNumber:i.endLineNumber,column:i.endColumn,stickToPreviousCharacter:this._shouldEndMarkerSticksToPreviousCharacter(s)})}for(var a=this._addMarkers(n),c=[],r=0,o=e.length;o>r;r++){var i=e[r],l=a[2*r],d=a[2*r+1],h=new u(this._rangeIdGenerator.generate(),l,d);this._ranges[h.id]=h,this._markerIdToRangeId[l]=h.id,this._markerIdToRangeId[d]=h.id,this._setRangeIsMultiLine(h.id,i.startLineNumber!==i.endLineNumber),c.push(h.id)}return c},t.prototype.changeTrackedRange=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.changeTrackedRange: Model is disposed");if(this._ranges.hasOwnProperty(e)){t=this.validateRange(t);var n=this._ranges[e];this._changeMarker(n.startMarkerId,t.startLineNumber,t.startColumn),this._changeMarker(n.endMarkerId,t.endLineNumber,t.endColumn),this._setRangeIsMultiLine(n.id,t.startLineNumber!==t.endLineNumber)}},t.prototype.changeTrackedRangeStickiness=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.changeTrackedRangeStickiness: Model is disposed");if(this._ranges.hasOwnProperty(e)){var n=this._ranges[e];this._changeMarkerStickiness(n.startMarkerId,this._shouldStartMarkerSticksToPreviousCharacter(t)),this._changeMarkerStickiness(n.endMarkerId,this._shouldEndMarkerSticksToPreviousCharacter(t))}},t.prototype.isValidTrackedRange=function(e){return this._isDisposed||!this._ranges?!1:this._ranges.hasOwnProperty(e)},t.prototype.removeTrackedRange=function(e){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.removeTrackedRange: Model is disposed");if(this._ranges.hasOwnProperty(e)){var t=this._ranges[e];this._removeMarker(t.startMarkerId),this._removeMarker(t.endMarkerId),this._setRangeIsMultiLine(t.id,!1),delete this._ranges[t.id],delete this._markerIdToRangeId[t.startMarkerId],delete this._markerIdToRangeId[t.endMarkerId]}},t.prototype.removeTrackedRanges=function(e){for(var t=[],n=0,r=e.length;r>n;n++){var o=e[n];if(this._ranges.hasOwnProperty(o)){var i=this._ranges[o];t.push(i.startMarkerId),t.push(i.endMarkerId),this._setRangeIsMultiLine(i.id,!1),delete this._ranges[i.id],delete this._markerIdToRangeId[i.startMarkerId],delete this._markerIdToRangeId[i.endMarkerId]}}t.length>0&&this._removeMarkers(t)},t.prototype._newEditorRange=function(e,t){return t.isBefore(e)?new n.Range(e.lineNumber,e.column,e.lineNumber,e.column):new n.Range(e.lineNumber,e.column,t.lineNumber,t.column)},t.prototype.getTrackedRange=function(e){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.getTrackedRange: Model is disposed");var t=this._ranges[e],n=this._getMarker(t.startMarkerId),r=this._getMarker(t.endMarkerId);return this._newEditorRange(n,r)},t.prototype._getMultiLineTrackedRanges=function(e,t){var n,r,o,i,s=[];for(n in this._multiLineTrackedRanges)if(this._multiLineTrackedRanges.hasOwnProperty(n)){if(r=this._ranges[n],o=this._getMarker(r.startMarkerId),o.lineNumber>t)continue;if(i=this._getMarker(r.endMarkerId),i.lineNumberi;i++)d[l[i].id]=!0;for(a=e;t>=a;a++)for(n=this._getLineMarkers(a),i=0,s=n.length;s>i;i++)r=n[i],this._markerIdToRangeId.hasOwnProperty(r.id)&&(o=this._markerIdToRangeId[r.id],d.hasOwnProperty(o)||(u=this._getMarker(this._ranges[o].startMarkerId),c=this._getMarker(this._ranges[o].endMarkerId),l.push({id:o,range:this._newEditorRange(u,c)}),d[o]=!0));return l},t.prototype._onChangedMarkers=function(e){var t,n,r,o,i,s,a={};for(i=0,s=e.length;s>i;i++)o=e[i],this._markerIdToRangeId.hasOwnProperty(o.id)&&(r=this._markerIdToRangeId[o.id],n=this._ranges[r],a.hasOwnProperty(n.id)?t=a[n.id]:(t={startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0},a[n.id]=t),o.id===n.startMarkerId?(t.startLineNumber=o.oldLineNumber,t.startColumn=o.oldColumn):(t.endLineNumber=o.oldLineNumber,t.endColumn=o.oldColumn),this._setRangeIsMultiLine(n.id,this._getMarker(n.startMarkerId).lineNumber!==this._getMarker(n.endMarkerId).lineNumber));return a},t}(r.TextModelWithMarkers);t.TextModelWithTrackedRanges=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithDecorations",["require","exports","vs/base/common/strings","vs/editor/common/model/textModelWithTrackedRanges","vs/editor/common/editorCommon","vs/base/common/errors","vs/editor/common/core/idGenerator","vs/editor/common/core/range"],function(e,t,n,r,o,i,s,a){function u(e){return e.replace(/[^a-z0-9\-]/gi," ")}function c(e){return new m(e)}function l(e,t){return void 0===t&&(t=null),new v(e,t)}var d=function(){function e(){this.changedMarkers={},this.oldDecorationRange={},this.oldDecorationOptions={},this.newOrChangedDecorations={},this.removedDecorations={}}return e.prototype.addNewDecoration=function(e){this.newOrChangedDecorations[e]=!0},e.prototype.addRemovedDecoration=function(e,t,n,r){this.newOrChangedDecorations.hasOwnProperty(e)&&delete this.newOrChangedDecorations[e],this.oldDecorationRange.hasOwnProperty(e)||(this.oldDecorationRange[e]=n),this.oldDecorationOptions.hasOwnProperty(e)||(this.oldDecorationOptions[e]=r),this.removedDecorations[e]=!0},e.prototype.addMovedDecoration=function(e,t){this.oldDecorationRange.hasOwnProperty(e)||(this.oldDecorationRange[e]=t),this.newOrChangedDecorations[e]=!0},e.prototype.addUpdatedDecoration=function(e,t){this.oldDecorationOptions.hasOwnProperty(e)||(this.oldDecorationOptions[e]=t),this.newOrChangedDecorations[e]=!0},e}();t.DeferredEventsBuilder=d;var h=0,p=function(e){function t(t,n,r){t.push(o.EventType.ModelDecorationsChanged),e.call(this,t,n,r),this._decorationIdGenerator=new s.IdGenerator(++h+";"),this.decorations={},this.rangeIdToDecorationId={},this._currentDeferredEvents=null}return __extends(t,e),t.prototype.dispose=function(){this.decorations=null,this.rangeIdToDecorationId=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this.decorations={},this.rangeIdToDecorationId={}},t.prototype.changeDecorations=function(e,t){var n=this;if(void 0===t&&(t=0),this._isDisposed)throw new Error("TextModelWithDecorations.changeDecorations: Model is disposed");return this._withDeferredEvents(function(r){var o={addDecoration:function(e,o){return n._addDecorationImpl(r,t,n.validateRange(e),c(o))},changeDecoration:function(e,t){n._changeDecorationImpl(r,e,n.validateRange(t))},changeDecorationOptions:function(e,t){n._changeDecorationOptionsImpl(r,e,c(t))},removeDecoration:function(e){n._removeDecorationImpl(r,e)},deltaDecorations:function(e,o){return n._deltaDecorationsImpl(r,t,e,n._normalizeDeltaDecorations(o))}},s=null;try{s=e(o)}catch(a){i.onUnexpectedError(a)}return o.addDecoration=null,o.changeDecoration=null,o.removeDecoration=null,o.deltaDecorations=null,s})},t.prototype.deltaDecorations=function(e,t,n){if(void 0===n&&(n=0),this._isDisposed)throw new Error("TextModelWithDecorations.deltaDecorations: Model is disposed");return e||(e=[]),this.changeDecorations(function(n){return n.deltaDecorations(e,t)},n)},t.prototype.removeAllDecorationsWithOwnerId=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.removeAllDecorationsWithOwnerId: Model is disposed");var t,n,r=[];for(t in this.decorations)this.decorations.hasOwnProperty(t)&&(n=this.decorations[t],n.ownerId===e&&r.push(n.id));this._removeDecorationsImpl(null,r)},t.prototype.getDecorationOptions=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationOptions: Model is disposed");return this.decorations.hasOwnProperty(e)?this.decorations[e].options:null},t.prototype.getDecorationRange=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationRange: Model is disposed");if(this.decorations.hasOwnProperty(e)){var t=this.decorations[e];return this.getTrackedRange(t.rangeId)}return null},t.prototype.getLineDecorations=function(e,t,n){if(void 0===t&&(t=0),void 0===n&&(n=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getLineDecorations: Model is disposed");return 1>e||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype._getDecorationsInRange=function(e,t,n,r,i,s){var a,u,c,l,d=[],h=this.getLinesTrackedRanges(e,n);for(u=0,l=h.length;l>u;u++)if(c=h[u],this.rangeIdToDecorationId.hasOwnProperty(c.id)){if(a=this.decorations[this.rangeIdToDecorationId[c.id]],i&&a.ownerId&&a.ownerId!==i)continue;if(s&&(a.options.className===o.ClassName.EditorErrorDecoration||a.options.className===o.ClassName.EditorWarningDecoration))continue;if(c.range.startLineNumber===e&&c.range.endColumnr)continue;d.push({id:a.id,ownerId:a.ownerId,range:c.range,options:a.options})}return d},t.prototype.getLinesDecorations=function(e,t,n,r){if(void 0===n&&(n=0),void 0===r&&(r=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getLinesDecorations: Model is disposed");var o=this.getLineCount();return e=Math.min(o,Math.max(1,e)),t=Math.min(o,Math.max(1,t)),this._getDecorationsInRange(e,1,t,Number.MAX_VALUE,n,r)},t.prototype.getDecorationsInRange=function(e,t,n){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationsInRange: Model is disposed");var r=this.validateRange(e);return this._getDecorationsInRange(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn,t,n)},t.prototype.getAllDecorations=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getAllDecorations: Model is disposed");var n,r,i=[];for(n in this.decorations)if(this.decorations.hasOwnProperty(n)){if(r=this.decorations[n],e&&r.ownerId&&r.ownerId!==e)continue;if(t&&(r.options.className===o.ClassName.EditorErrorDecoration||r.options.className===o.ClassName.EditorWarningDecoration))continue;i.push({id:r.id,ownerId:r.ownerId,range:this.getTrackedRange(r.rangeId),options:r.options})}return i},t.prototype._withDeferredEvents=function(e){var t=this;return this.deferredEmit(function(){var n=t._currentDeferredEvents?!1:!0;n&&(t._currentDeferredEvents=new d);try{var r=e(t._currentDeferredEvents);n&&t._handleCollectedEvents(t._currentDeferredEvents)}finally{n&&(t._currentDeferredEvents=null)}return r})},t.prototype._handleCollectedEvents=function(e){var t=this._getMarkersInMap(e.changedMarkers),n=this._onChangedMarkers(t);this._onChangedRanges(e,n),this._handleCollectedDecorationsEvents(e);for(var r=0,o=t.length;o>r;r++)t[r].oldLineNumber=0,t[r].oldColumn=0},t.prototype._onChangedRanges=function(e,t){var n,r;for(n in t)t.hasOwnProperty(n)&&this.rangeIdToDecorationId.hasOwnProperty(n)&&(r=this.rangeIdToDecorationId[n],e.addMovedDecoration(r,t[n]))},t.prototype._handleCollectedDecorationsEvents=function(e){var t,n,r,i=[],s=[],a=[];for(t in e.newOrChangedDecorations)e.newOrChangedDecorations.hasOwnProperty(t)&&(a.push(t),n=this._getDecorationData(t),n.isForValidation=n.options.className===o.ClassName.EditorErrorDecoration||n.options.className===o.ClassName.EditorWarningDecoration,i.push(n),e.oldDecorationRange.hasOwnProperty(t)&&(r=e.oldDecorationRange[t],r.startLineNumber=r.startLineNumber||n.range.startLineNumber,r.startColumn=r.startColumn||n.range.startColumn,r.endLineNumber=r.endLineNumber||n.range.endLineNumber,r.endColumn=r.endColumn||n.range.endColumn));for(t in e.removedDecorations)e.removedDecorations.hasOwnProperty(t)&&(a.push(t),s.push(t));if(a.length>0){var u={ids:a,addedOrChangedDecorations:i,removedDecorations:s,oldOptions:e.oldDecorationOptions,oldRanges:e.oldDecorationRange};this.emitModelDecorationsChangedEvent(u)}},t.prototype._getDecorationData=function(e){var t=this.decorations[e];return{id:t.id,ownerId:t.ownerId,range:this.getTrackedRange(t.rangeId),isForValidation:!1,options:t.options}},t.prototype.emitModelDecorationsChangedEvent=function(e){this._isDisposing||this.emit(o.EventType.ModelDecorationsChanged,e)},t.prototype._normalizeDeltaDecorations=function(e){for(var t=[],n=0,r=e.length;r>n;n++){var o=e[n];t.push(new g(n,this.validateRange(o.range),c(o.options)))}return t},t.prototype._addDecorationImpl=function(e,t,n,r){var o=this.addTrackedRange(n,r.stickiness),i=new f(this._decorationIdGenerator.generate(),t,o,r);return this.decorations[i.id]=i,this.rangeIdToDecorationId[o]=i.id,e.addNewDecoration(i.id),i.id},t.prototype._addDecorationsImpl=function(e,t,n){for(var r=this._addTrackedRanges(n.map(function(e){return e.range}),n.map(function(e){return e.options.stickiness})),o=[],i=0,s=n.length;s>i;i++){var a=r[i],u=new f(this._decorationIdGenerator.generate(),t,a,n[i].options);this.decorations[u.id]=u,this.rangeIdToDecorationId[a]=u.id,e.addNewDecoration(u.id),o.push(u.id)}return o},t.prototype._changeDecorationImpl=function(e,t,n){if(this.decorations.hasOwnProperty(t)){var r=this.decorations[t],o=this.getTrackedRange(r.rangeId);this.changeTrackedRange(r.rangeId,n),e.addMovedDecoration(t,o)}},t.prototype._changeDecorationOptionsImpl=function(e,t,n){if(this.decorations.hasOwnProperty(t)){var r=this.decorations[t],o=r.options;o.stickiness!==n.stickiness&&this.changeTrackedRangeStickiness(r.rangeId,n.stickiness),r.options=n,e.addUpdatedDecoration(t,o)}},t.prototype._removeDecorationImpl=function(e,t){if(this.decorations.hasOwnProperty(t)){var n=this.decorations[t],r=null;e&&(r=this.getTrackedRange(n.rangeId)),this.removeTrackedRange(n.rangeId),delete this.rangeIdToDecorationId[n.rangeId],delete this.decorations[t],e&&e.addRemovedDecoration(t,n.ownerId,r,n.options)}},t.prototype._removeDecorationsImpl=function(e,t){for(var n=[],r=0,o=t.length;o>r;r++){var i=t[r];if(this.decorations.hasOwnProperty(i)){var s=this.decorations[i];if(e){var a=this.getTrackedRange(s.rangeId);e.addRemovedDecoration(i,s.ownerId,a,s.options)}n.push(s.rangeId),delete this.rangeIdToDecorationId[s.rangeId],delete this.decorations[i]}}n.length>0&&this.removeTrackedRanges(n)},t.prototype._resolveOldDecorations=function(e){for(var t=[],n=0,r=e.length;r>n;n++){var o=e[n];if(this.decorations.hasOwnProperty(o)){var i=this.decorations[o];t.push({id:o,range:this.getTrackedRange(i.rangeId),options:i.options})}}return t},t.prototype._deltaDecorationsImpl=function(e,t,n,r){if(0===n.length)return this._addDecorationsImpl(e,t,r);if(0===r.length)return this._removeDecorationsImpl(e,n),[];var o=this._resolveOldDecorations(n);o.sort(function(e,t){return a.Range.compareRangesUsingStarts(e.range,t.range)}),r.sort(function(e,t){return a.Range.compareRangesUsingStarts(e.range,t.range)});for(var i=[],s=0,u=o.length,c=0,l=r.length,d=[],h=[];u>s&&l>c;){var p=o[s],f=r[c],m=a.Range.compareRangesUsingStarts(p.range,f.range);0>m?(h.push(p.id),s++):m>0?(d.push(f),c++):p.options.equals(f.options)?(i[f.index]=p.id,s++,c++):(h.push(p.id),s++)}for(;u>s;)h.push(o[s].id),s++;for(;l>c;)d.push(r[c]),c++;if(h.length>0&&this._removeDecorationsImpl(e,h),d.length>0)for(var g=this._addDecorationsImpl(e,t,d),v=0,_=d.length;_>v;v++)i[d[v].index]=g[v];return i},t}(r.TextModelWithTrackedRanges);t.TextModelWithDecorations=p;var f=function(){function e(e,t,n,r){this.id=e,this.ownerId=t,this.rangeId=n,this.options=r}return e}(),m=function(){function e(e){this.stickiness=e.stickiness||o.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,this.className=u(e.className||n.empty),this.hoverMessage=e.hoverMessage||n.empty,this.htmlMessage=e.htmlMessage||[],this.isWholeLine=e.isWholeLine||!1,this.overviewRuler=l(e.overviewRuler,e.showInOverviewRuler),this.glyphMarginClassName=u(e.glyphMarginClassName||n.empty),this.linesDecorationsClassName=u(e.linesDecorationsClassName||n.empty),this.inlineClassName=u(e.inlineClassName||n.empty)}return e._htmlContentEquals=function(t,n){return t.formattedText===n.formattedText&&t.text===n.text&&t.className===n.className&&t.style===n.style&&t.customStyle===n.customStyle&&t.tagName===n.tagName&&t.isText===n.isText&&e._htmlContentArrEquals(t.children,n.children)},e._htmlContentArrEquals=function(t,n){if(!t)return!n;if(!n)return!1;var r=t.length,o=n.length;if(r!==o)return!1;for(var i=0;r>i;i++)if(!e._htmlContentEquals(t[i],n[i]))return!1;return!0},e._overviewRulerEquals=function(e,t){return e.color===t.color&&e.position===t.position&&e.darkColor===t.darkColor},e.prototype.equals=function(t){return this.stickiness===t.stickiness&&this.className===t.className&&this.hoverMessage===t.hoverMessage&&this.isWholeLine===t.isWholeLine&&this.showInOverviewRuler===t.showInOverviewRuler&&this.glyphMarginClassName===t.glyphMarginClassName&&this.linesDecorationsClassName===t.linesDecorationsClassName&&this.inlineClassName===t.inlineClassName&&e._htmlContentArrEquals(this.htmlMessage,t.htmlMessage)&&e._overviewRulerEquals(this.overviewRuler,t.overviewRuler)},e}(),g=function(){function e(e,t,n){this.index=e,this.range=t,this.options=n}return e}(),v=function(){function e(e,t){this.color=n.empty,this.darkColor=n.empty,this.position=o.OverviewRulerLane.Center,t&&(this.color=t),e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor),e&&e.hasOwnProperty("position")&&(this.position=e.position)}return e}()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/editableTextModel",["require","exports","vs/editor/common/core/range","vs/editor/common/model/editStack","vs/editor/common/model/modelLine","vs/editor/common/model/textModelWithDecorations","vs/editor/common/editorCommon"],function(e,t,n,r,o,i,s){var a=function(e){function t(t,n,o){t.push(s.EventType.ModelContentChanged),t.push(s.EventType.ModelContentChanged2),e.call(this,t,n,o),this._commandManager=new r.EditStack(this),this._isUndoing=!1,this._isRedoing=!1,this._hasEditableRange=!1,this._editableRangeId=null}return __extends(t,e),t.prototype.dispose=function(){this._commandManager=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._commandManager=new r.EditStack(this),this._hasEditableRange=!1,this._editableRangeId=null},t.prototype.pushStackElement=function(){if(this._isDisposed)throw new Error("EditableTextModel.pushStackElement: Model is disposed");this._commandManager.pushStackElement()},t.prototype.pushEditOperations=function(e,t,n){if(this._isDisposed)throw new Error("EditableTextModel.pushEditOperations: Model is disposed");return this._commandManager.pushEditOperation(e,t,n)},t.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},t.prototype._toSingleEditOperation=function(e){for(var t=!1,r=e[0].range,o=e[e.length-1].range,i=new n.Range(r.startLineNumber,r.startColumn,o.endLineNumber,o.endColumn),s=r.startLineNumber,a=r.startColumn,u=[],c=0,l=e.length;l>c;c++){var d=e[c],h=d.range;t=t||d.forceMoveMarkers;for(var p=s;pf;f++)0!==f&&u.push("\n"),u.push(d.lines[f]);s=d.range.endLineNumber,a=d.range.endColumn}return{identifier:e[0].identifier,range:i,lines:u.join("").split("\n"),forceMoveMarkers:t}},t.prototype.applyEdits=function(e){for(var r=[],o=0;o=0;o--)if(r[o+1].range.getStartPosition().isBeforeOrEqual(r[o].range.getEndPosition()))throw new Error("Overlapping ranges are not allowed!");r=this._reduceOperations(r);var s=this.getEditableRange(),a=s.getStartPosition(),u=s.getEndPosition();for(o=0;oi;i++){var a,u=e[i],c=u.deltaStartLineNumber+t,l=u.deltaStartColumn+(0===u.deltaStartLineNumber?r:0);a=u.original.lines&&u.original.lines.length>0?1===u.original.lines.length?new n.Range(c,l,c,l+u.original.lines[0].length):new n.Range(c,l,c+u.original.lines.length-1,u.original.lines[u.original.lines.length-1].length+1):new n.Range(c,l,c,l),t=a.endLineNumber,r=a.endColumn,o.push(a)}return o},t.prototype._generateSequentialEdits=function(e){for(var t=[],r=0,o=0,i=0,s=e.length;s>i;i++){var a=e[i],u=a.deltaStartLineNumber+r,c=a.deltaStartColumn+(0===a.deltaStartLineNumber?o:0),l=a.deltaEndLineNumber+r,d=a.deltaEndColumn+(0===a.deltaEndLineNumber?o:0),h=new n.Range(u,c,l,d),p=this.getValueLengthInRange(h);t.push({range:h,rangeLength:p,text:a.original.lines?a.original.lines.join(this.getEOL()):""}),a.original.lines&&a.original.lines.length>0?1===a.original.lines.length?(r=u,o=c+a.original.lines[0].length):(r=u+a.original.lines.length-1,o=a.original.lines[a.original.lines.length-1].length+1):(r=u,o=c)}return t},t.prototype._applyEdits=function(e){var t=this,n=this._generateSequentialEdits(e);this._withDeferredEvents(function(r){for(var i=0,s=0,a=0,u=0,c=[],l=0,d=function(e,n){if(0!==n)for(var o=u+1;e>=o;o++)t._lines[o-1].updateLineNumber(r.changedMarkers,o);u=e},h=function(e,n,o,i,s){e!==l&&(c.length>0&&(t._applyLineEdits(r,l,c),c=[]),l=e),(n!==o||0!==i.length)&&c.push({startColumn:n,endColumn:o,text:i,forceMoveMarkers:s})},p=function(){var e=0;return c.length>0&&(e=t._applyLineEdits(r,l,c),c=[]),l=0,e},f=t.getVersionId(),m=0,g=e.length-1;g>=0;g--)if(!e[g].isNoOp){m=g;break}for(var g=0,v=e.length;v>g;g++){var _=e[g],y=_.deltaStartLineNumber+i,k=_.deltaStartColumn+(0===_.deltaStartLineNumber?s:0),b=_.deltaEndLineNumber+i,E=_.deltaEndColumn+(0===_.deltaEndLineNumber?s:0);if(i=y+(_.original.lines?_.original.lines.length-1:0),s=E,!_.isNoOp){for(var T=b-y,S=_.original.lines?_.original.lines.length-1:0,C=Math.min(T,S),M=0,w=0,I=0;C>=I;I++){var x=y+I,L=x===y?k:1,R=x===b?E:t.getLineMaxColumn(x),N=_.original.lines?_.original.lines[I]:"";h(x,L,R,N,_.original.forceMoveMarkers),I===C&&(M=R)}if(T>C){w=p();var A=M+w;s=A;var O=t._lines[b-1].split(r.changedMarkers,E,!1); +t._invalidateLine(y+C-1);var P=y+C,D=T-C;d(y+C,a),a-=D;for(var B=[],I=0;D>I;I++){var W=P+I;B=B.concat(t._lines[W].deleteLine(r.changedMarkers,A,W+1))}t._lines.splice(P,D),t._lines[P-1].append(r.changedMarkers,O),t._lines[P-1].addMarkers(B),t.emitModelContentChangedLineChangedEvent(P),t.emitModelContentChangedLinesDeletedEvent(P+1,P+D)}if(S>C){w=p();var A=M+w,F=t._lines[y+C-1].split(r.changedMarkers,A,_.original.forceMoveMarkers);t.emitModelContentChangedLineChangedEvent(y+C),t._invalidateLine(y+C-1),s=_.original.lines[_.original.lines.length-1].length+1,d(y+C,a),a+=S-C;for(var z=[],I=C+1;S>=I;I++){var x=y+I;t._lines.splice(x-1,0,new o.ModelLine(x,_.original.lines[I])),z.push(_.original.lines[I])}z[z.length-1]+=F.text,t._lines[y+S-1].append(r.changedMarkers,F),t.emitModelContentChangedLinesInsertedEvent(y+C+1,y+S,z.join("\n"))}g===m&&p();var U=n[g];t.getVersionId()===f&&t._increaseVersionId(),f=t.getVersionId(),t._emitContentChanged2(U.range.startLineNumber,U.range.startColumn,U.range.endLineNumber,U.range.endColumn,U.rangeLength,U.text,t._isUndoing,t._isRedoing)}}d(t._lines.length,a)})},t.prototype._assertLineNumbersOK=function(){for(var e=0,t=0,n=this._lines.length;n>t;t++){var r=this._lines[t],o=t+1;if(r.lineNumber!==o)throw new Error("Invalid lineNumber at line: "+o+"; text is: "+this.getValue());for(var i=r.getMarkers(),s=0,a=i.length;a>s;s++){e++;var u=i[s].id,c=this._markerIdToMarker[u];if(c.line!==r)throw new Error("Misplaced marker with id "+u)}}var l=Object.keys(this._markerIdToMarker).length;if(l!==e)throw new Error("There are misplaced markers!")},t.prototype._applyLineEdits=function(e,t,n){this._invalidateLine(t-1);var r=this._lines[t-1].applyEdits(e.changedMarkers,n);return this.emitModelContentChangedLineChangedEvent(t),r},t._toDeltaOperations=function(e){for(var n=[],r=0;r0?e[r-1]:null,e[r]);return n},t.prototype.undo=function(){var e=this;if(this._isDisposed)throw new Error("EditableTextModel.undo: Model is disposed");return this._withDeferredEvents(function(){e._isUndoing=!0;var t=e._commandManager.undo();return e._isUndoing=!1,t?(e._overwriteAlternativeVersionId(t.recordedVersionId),t.selections):null})},t.prototype.redo=function(){var e=this;if(this._isDisposed)throw new Error("EditableTextModel.redo: Model is disposed");return this._withDeferredEvents(function(){e._isRedoing=!0;var t=e._commandManager.redo();return e._isRedoing=!1,t?(e._overwriteAlternativeVersionId(t.recordedVersionId),t.selections):null})},t.prototype.setEditableRange=function(e){if(this._isDisposed)throw new Error("EditableTextModel.setEditableRange: Model is disposed");this._commandManager.clear(),this._hasEditableRange&&(this.removeTrackedRange(this._editableRangeId),this._editableRangeId=null,this._hasEditableRange=!1),e&&(this._hasEditableRange=!0,this._editableRangeId=this.addTrackedRange(e,s.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges))},t.prototype.hasEditableRange=function(){if(this._isDisposed)throw new Error("EditableTextModel.hasEditableRange: Model is disposed");return this._hasEditableRange},t.prototype.getEditableRange=function(){if(this._isDisposed)throw new Error("EditableTextModel.getEditableRange: Model is disposed");return this._hasEditableRange?this.getTrackedRange(this._editableRangeId):this.getFullModelRange()},t.prototype._updateLineNumbers=function(e,t){var n,r,o=this._lines;for(n=t-1,r=o.length;r>n;n++)o[n].updateLineNumber(e,n+1)},t.prototype.emitModelContentChangedLineChangedEvent=function(e){this._increaseVersionId();var t={changeType:s.EventType.ModelContentChangedLineChanged,lineNumber:e,detail:this._lines[e-1].text,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,t)},t.prototype.emitModelContentChangedLinesDeletedEvent=function(e,t){this._increaseVersionId();var n={changeType:s.EventType.ModelContentChangedLinesDeleted,fromLineNumber:e,toLineNumber:t,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,n)},t.prototype.emitModelContentChangedLinesInsertedEvent=function(e,t,n){this._increaseVersionId();var r={changeType:s.EventType.ModelContentChangedLinesInserted,fromLineNumber:e,toLineNumber:t,detail:n,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,r)},t}(i.TextModelWithDecorations);t.EditableTextModel=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/model",["require","exports","vs/editor/common/model/textModel","vs/editor/common/model/editableTextModel","vs/editor/common/editorCommon","vs/base/common/network","vs/base/common/objects"],function(e,t,n,r,o,i,s){var a=0,u={},c=function(e){function t(t,r,s){if(void 0===s&&(s=null),e.call(this,[o.EventType.ModelPropertiesChanged,o.EventType.ModelDispose],n.TextModel.toRawText(t),r),a++,this.id="$model"+a,("undefined"==typeof s||null===s)&&(s=new i.URL("inmemory://model/"+a)),this._associatedResource=s,u[String(this._associatedResource)])throw new Error("Cannot instantiate a second Model with the same URI!");this._extraProperties={},this._attachedEditorCount=0,u[String(this._associatedResource)]=!0}return __extends(t,e),t.prototype.getURL=function(){return this._associatedResource},t.prototype.getModeId=function(){return this.getMode().getId()},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){this._isDisposing=!0,delete u[String(this._associatedResource)],this.emit(o.EventType.ModelDispose),e.prototype.dispose.call(this),this._isDisposing=!1},t.prototype.onBeforeAttached=function(){if(this._isDisposed)throw new Error("Model.onBeforeAttached: Model is disposed");this._attachedEditorCount++,this._warmUpTokens()},t.prototype.onBeforeDetached=function(){if(this._isDisposed)throw new Error("Model.onBeforeDetached: Model is disposed");this._attachedEditorCount--},t.prototype.isAttachedToEditor=function(){return this._attachedEditorCount>0},t.prototype.getAssociatedResource=function(){if(this._isDisposed)throw new Error("Model.getAssociatedResource: Model is disposed");return this._associatedResource},t.prototype.setProperty=function(e,t){if(this._isDisposed)throw new Error("Model.setProperty: Model is disposed");this._extraProperties[e]=t,this.emitModelPropertiesChangedEvent()},t.prototype.getProperty=function(e){if(this._isDisposed)throw new Error("Model.getProperty: Model is disposed");return this._extraProperties.hasOwnProperty(e)?this._extraProperties[e]:null},t.prototype.getProperties=function(){if(this._isDisposed)throw new Error("Model.getProperties: Model is disposed");return s.clone(this._extraProperties)},t.prototype.emitModelPropertiesChangedEvent=function(){var e={properties:this._extraProperties};this._isDisposing||this.emit(o.EventType.ModelPropertiesChanged,e)},t}(r.EditableTextModel);t.Model=c}),define("vs/nls!vs/editor/common/modes/languageExtensionPoint",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/editor/common/modes/languageExtensionPoint",t)}),define("vs/nls!vs/platform/configuration/common/configurationRegistry",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/platform/configuration/common/configurationRegistry",t)}),define("vs/nls!vs/platform/plugins/common/abstractPluginService",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/platform/plugins/common/abstractPluginService",t)}),define("vs/nls!vs/platform/plugins/common/pluginsRegistry",["vs/nls","vs/nls!vs/editor/common/worker/editorWorkerServer"],function(e,t){return e.create("vs/platform/plugins/common/pluginsRegistry",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/instantiation/common/descriptors",["require","exports","vs/base/common/errors","vs/base/common/marshalling","vs/base/common/hash"],function(e,t,n,r,o){var i=function(){function e(e){this._staticArguments=e}return e.prototype.appendStaticArguments=function(e){this._staticArguments.push.apply(this._staticArguments,e)},e.prototype.staticArguments=function(e){return isNaN(e)?this._staticArguments.slice(0):this._staticArguments[e]},e.prototype._validate=function(e){if(!e)throw n.illegalArgument("can not be falsy")},e}();t.AbstractDescriptor=i;var s=function(e){function t(t){for(var n=[],r=1;r="0"&&"9">=r?"0":r>="a"&&"z">=r?"a":r>="A"&&"Z">=r?"A":r}return t},t.prototype.insert=function(e,t){var n=this;if(this.contains(e))throw new Error("ResourceService: Cannot add model "+this._anonymousModelId(e.toString())+" because it already exists!");var o=e.toString();this.data[o]=t,this.unbinds[o]=[],this.unbinds[o].push(t.addBulkListener(function(t){n.emit(r.ResourceEvents.CHANGED,{url:e,originalEvents:t})})),this.emit(r.ResourceEvents.ADDED,{url:e,addedElement:t})},t.prototype.get=function(e){return this.data[e.toString()]?this.data[e.toString()]:null},t.prototype.all=function(){var e=this;return Object.keys(this.data).map(function(t){return e.data[t]})},t.prototype.contains=function(e){return!!this.data[e.toString()]},t.prototype.remove=function(e){if(this.contains(e)){for(var t=e.toString(),n=this.data[t];this.unbinds[t].length>0;)this.unbinds[t].pop()();delete this.unbinds[t],delete this.data[t],this.emit(r.ResourceEvents.REMOVED,{url:e,removedElement:n})}},t}(n.EventEmitter);t.ResourceService=o}),define("vs/editor/common/worker/validationHelper",["require","exports","vs/editor/common/services/resourceService","vs/base/common/async","vs/base/common/lifecycle"],function(e,t,n,r,o){var i=function(){function e(e,t){var n=this;this._toDispose=[],this._changeCallback=t,this._model=e,this._isDirty=!1,this._toDispose.push({dispose:e.addBulkListener(function(e){return n._onModelChanged(e)})})}return e.prototype.dispose=function(){this._toDispose=o.disposeAll(this._toDispose),this._changeCallback=null},e.prototype.markAsClean=function(){this._isDirty=!1},e.prototype.markAsDirty=function(){this._isDirty=!0},e.prototype.isDirty=function(){return this._isDirty},e.prototype.getMirrorModel=function(){return this._model},e.prototype._onModelChanged=function(e){for(var t=!1,n=0;!t&&n>"));n[i.serviceId]=!0;var s=c._util.getServiceDependencies(i.desc.ctor);if(Array.isArray(s))for(var l=0;ln;n++)t[n-1]=arguments[n];return e instanceof a.SyncDescriptor?this._servicesMap.createInstance(e,t):e instanceof a.AsyncDescriptor?this._createInstanceAsync(e,t):this._servicesMap.createInstance(new a.SyncDescriptor(e),t)},t.prototype._createInstanceAsync=function(t,o){var i,s=this;return new n.TPromise(function(n,u,c){e([t.moduleName],function(e){if(i&&u(i),!e)return u(r.illegalArgument("module not found: "+t.moduleName));var c;if(c=t.ctorName?e[t.ctorName]:e,"function"!=typeof c)return u(r.illegalArgument("not a function: "+t.ctorName||t.moduleName));try{o.unshift.apply(o,t.staticArguments()),n(s._servicesMap.createInstance(new a.SyncDescriptor(c),o))}catch(l){return u(l)}},u)},function(){i=r.canceled()})},t.prototype.invokeFunction=function(e){for(var t=[],n=1;no;o++){var s=e[o];s&&r.push({currentWord:s.currentWord,suggestions:s.suggestions.filter(function(n){return t(e[o].currentWord,n)}),incomplete:s.incomplete,overwriteBefore:s.overwriteBefore,overwriteAfter:s.overwriteAfter})}return r},function(e){return[{currentWord:"",suggestions:[]}]})},e.prototype._participantSuggests=function(e,t,n){return this._suggestParticipants.map(function(r){try{return r.suggest(e,t,n)}catch(o){}})},e.prototype._getSuggestContext=function(e){return l.TPromise.as(void 0)},e.prototype.doSuggest=function(e,t){var n=this.resourceService.get(e),r=n.getWordUntilPosition(t).word,o={currentWord:r,suggestions:[]};return o.suggestions.push.apply(o.suggestions,this.suggestWords(e,t,!1)),o.suggestions.push.apply(o.suggestions,this.suggestSnippets(e,t)),l.TPromise.as(o)},e.prototype.suggestWords=function(e,t,n){var r=this.resourceService.get(e),o=r.getWordUntilPosition(t).word,i=r.getAllUniqueWords(o);return n&&!o?[]:i.filter(function(e){return!/^-?\d*\.?\d/.test(e)}).map(function(e){return{type:"text",label:e,codeSnippet:e,noAutoAccept:!0}})},e.prototype.suggestSnippets=function(e,t){return[]},e.prototype.getSuggestionFilterMain=function(){var e=this.getSuggestionFilter();return this._suggestParticipants.forEach(function(t){"function"==typeof t.filter&&(e=s.and(e,t.filter))}),e},e.prototype.getSuggestionFilter=function(){return e.filter},e.prototype.findOccurrences=function(e,t,n){for(var r=this.resourceService.get(e),o=r.getWordAtPosition(t),i=o?o.word:"",s=[],a=r.getAllWordsWithRange(),u=Math.min(1e3,a.length),c=0;u>c;c++)a[c].text===i&&s.push({range:a[c].range,kind:"text"});return l.TPromise.as(s)},e.prototype.computeDiff=function(e,t,n){var r=this.resourceService.get(e),o=this.resourceService.get(t);if(null!==r&&null!==o){var s=r.getLinesContent(),a=o.getLinesContent(),u=new i.DiffComputer(s,a,{shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldConsiderTrimWhitespaceInEmptyCase:!0});return l.TPromise.as(u.computeDiff())}return l.TPromise.as(null)},e.prototype.computeDirtyDiff=function(e,t){var n=this.resourceService.get(e),r=n.getProperty("original");if(r&&null!==n){var o=a.TextModel.toRawText(r),s=o.lines,u=n.getLinesContent(),c=new i.DiffComputer(s,u,{shouldPostProcessCharChanges:!1,shouldIgnoreTrimWhitespace:t,shouldConsiderTrimWhitespaceInEmptyCase:!1});return l.TPromise.as(c.computeDiff()); +}return l.TPromise.as([])},e.prototype.computeLinks=function(e){var t=this.resourceService.get(e),n=o.computeLinks(t);return l.TPromise.as(n)},e.prototype.configure=function(e){var t=this,n=this._doConfigure(e);return n?n.then(function(e){return e&&t._validationHelper.triggerDueToConfigurationChange(),!0}):void 0},e.prototype._doConfigure=function(e){return l.TPromise.as(!0)},e.filter=s.DefaultFilter,e=__decorate([__param(2,r.IResourceService),__param(3,n.IMarkerService)],e)}();t.AbstractModeWorker=p}),define("vs/platform/platform",["require","exports","vs/base/common/types","vs/base/common/assert"],function(e,t,n,r){var o=function(){function e(){this.data={}}return e.prototype.add=function(e,t){r.ok(n.isString(e)),r.ok(n.isObject(t)),r.ok(!this.data.hasOwnProperty(e),"There is already an extension with this id"),this.data[e]=t},e.prototype.knows=function(e){return this.data.hasOwnProperty(e)},e.prototype.as=function(e){return this.data[e]||null},e}();t.Registry=new o;var i=function(){function e(){this.toBeInstantiated=[],this.instances=[]}return e.prototype.setInstantiationService=function(e){for(this.instantiationService=e;this.toBeInstantiated.length>0;){var t=this.toBeInstantiated.shift();this.instantiate(t)}},e.prototype.instantiate=function(e){var t=this.instantiationService.createInstance(e);this.instances.push(t)},e.prototype._register=function(e){this.instantiationService?this.instantiate(e):this.toBeInstantiated.push(e)},e.prototype._getInstances=function(){return this.instances.slice(0)},e.prototype._setInstances=function(e){this.instances=e},e}();t.BaseRegistry=i}),define("vs/languages/json/common/jsonContributionRegistry",["require","exports","vs/platform/platform","vs/base/common/eventEmitter"],function(e,t,n,r){function o(e){return e.length>0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e}t.Extensions={JSONContribution:"base.contributions.json"};var i=function(){function e(){this.schemasById={},this.schemaAssociations={},this.eventEmitter=new r.EventEmitter}return e.prototype.addRegistryChangedListener=function(e){return this.eventEmitter.addListener2("registryChanged",e)},e.prototype.registerSchema=function(e,t){this.schemasById[o(e)]=t,this.eventEmitter.emit("registryChanged",{})},e.prototype.addSchemaFileAssociation=function(e,t){var n=this.schemaAssociations[e];n||(n=[],this.schemaAssociations[e]=n),n.push(t),this.eventEmitter.emit("registryChanged",{})},e.prototype.getSchemaContributions=function(){return{schemas:this.schemasById,schemaAssociations:this.schemaAssociations}},e}(),s=new i;n.Registry.add(t.Extensions.JSONContribution,s)}),define("vs/platform/plugins/common/plugins",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IPluginService=n.createDecorator("pluginService"),t.INSTANCE=null}),define("vs/platform/plugins/common/pluginsRegistry",["require","exports","vs/platform/platform","vs/base/common/errors","vs/languages/json/common/jsonContributionRegistry","vs/nls!vs/platform/plugins/common/pluginsRegistry","vs/base/common/paths","vs/base/common/severity"],function(e,t,n,r,o,i,s,a){function u(e,t,n){if(!t)return n.push(i.localize(0,null)),!1;if("string"!=typeof t.publisher)return n.push(i.localize(1,null,"publisher")),!1;if("string"!=typeof t.name)return n.push(i.localize(2,null,"name")),!1;if(!t.engines)return n.push(i.localize(3,null,"engines")),!1;if("string"!=typeof t.engines.vscode)return n.push(i.localize(4,null,"engines.vscode")),!1;if("undefined"!=typeof t.extensionDependencies&&!c(t.extensionDependencies))return n.push(i.localize(5,null,"extensionDependencies")),!1;if("undefined"!=typeof t.activationEvents){if(!c(t.activationEvents))return n.push(i.localize(6,null,"activationEvents")),!1;if("undefined"==typeof t.main)return n.push(i.localize(7,null,"activationEvents","main")),!1}if("undefined"!=typeof t.main){if("string"!=typeof t.main)return n.push(i.localize(8,null,"main")),!1;var r=s.normalize(s.join(e,t.main));if(r.indexOf(e)&&n.push(i.localize(9,null,r,e)),"undefined"==typeof t.activationEvents)return n.push(i.localize(10,null,"activationEvents","main")),!1}return!0}function c(e){if(!Array.isArray(e))return!1;for(var t=0,n=e.length;n>t;t++)if("string"!=typeof e[t])return!1;return!0}var l=function(){function e(e,t){this._scope=e,this._actual=t}return e.prototype.error=function(e){this._actual.error(this._scope,e)},e.prototype.warn=function(e){this._actual.warn(this._scope,e)},e.prototype.info=function(e){this._actual.info(this._scope,e)},e}(),d=function(){function e(e){this._handler=e}return e.prototype._pushMessage=function(e,t,n){this._handler(e,t,this._ensureString(n))},e.prototype._ensureString=function(e){return e&&e.message&&e.stack?e.message+"\n\n"+e.stack:String(e)},e.prototype.error=function(e,t){this._pushMessage(a["default"].Error,e,t)},e.prototype.warn=function(e,t){this._pushMessage(a["default"].Warning,e,t)},e.prototype.info=function(e,t){this._pushMessage(a["default"].Info,e,t)},e.prototype.scopeTo=function(e){return new l(e,this)},e}(),h=function(){function e(){this._messages=[]}return e.prototype.getMessages=function(){return this._messages},e.prototype._pushMessage=function(e,t,n){this._messages.push({type:e,message:this._ensureString(n),source:t})},e.prototype._ensureString=function(e){return e&&e.message&&e.stack?e.message+"\n\n"+e.stack:String(e)},e.prototype.error=function(e,t){this._pushMessage(a["default"].Error,e,t)},e.prototype.warn=function(e,t){this._pushMessage(a["default"].Warning,e,t)},e.prototype.info=function(e,t){this._pushMessage(a["default"].Info,e,t)},e.prototype.scopeTo=function(e){return new l(e,this)},e}();t.PluginsMessageCollector=h,t.isValidPluginDescription=u;var p=Object.hasOwnProperty,f=n.Registry.as(o.Extensions.JSONContribution),m=function(){function e(e,t){this.name=e,this._registry=t,this._handler=null,this._collector=null}return e.prototype.setHandler=function(e){if(this._handler)throw new Error("Handler already set!");this._handler=e,this._handle()},e.prototype.handle=function(e){this._collector=e,this._handle()},e.prototype._handle=function(){var e=this;this._handler&&this._collector&&this._registry.registerPointListener(this.name,function(t){var n=t.map(function(t){return{description:t,value:t.contributes[e.name],collector:e._collector.scopeTo(t.extensionFolderPath)}});e._handler(n)})},e}(),g=function(){function e(){this._pluginsMap={},this._pluginsArr=[],this._activationMap={},this._pointListeners=[],this._extensionPoints={},this._oneTimeActivationEventListeners={}}return e.prototype.registerPointListener=function(t,n){var r={extensionPoint:t,listener:n};this._pointListeners.push(r),this._triggerPointListener(r,e._filterWithExtPoint(this.getAllPluginDescriptions(),t))},e.prototype.registerExtensionPoint=function(e,t){if(p.call(this._extensionPoints,e))throw new Error("Duplicate extension point: "+e);var n=new m(e,this);return this._extensionPoints[e]=n,y.properties.contributes.properties[e]=t,f.registerSchema(_,y),n},e.prototype.handleExtensionPoints=function(e){var t=this,n=new d(e);Object.keys(this._extensionPoints).forEach(function(e){t._extensionPoints[e].handle(n)})},e.prototype._triggerPointListener=function(e,t){if(t&&0!==t.length)try{e.listener(t)}catch(n){r.onUnexpectedError(n)}},e.prototype.registerPlugins=function(t){for(var n=0,r=t.length;r>n;n++){var o=t[n];if(p.call(this._pluginsMap,o.id))console.error("Plugin `"+o.id+"` is already registered");else if(this._pluginsMap[o.id]=o,this._pluginsArr.push(o),Array.isArray(o.activationEvents))for(var i=0,s=o.activationEvents.length;s>i;i++){var a=o.activationEvents[i];this._activationMap[a]=this._activationMap[a]||[],this._activationMap[a].push(o)}}for(var n=0,r=this._pointListeners.length;r>n;n++){var u=this._pointListeners[n],c=e._filterWithExtPoint(t,u.extensionPoint);this._triggerPointListener(u,c)}},e._filterWithExtPoint=function(e,t){return e.filter(function(e){return e.contributes&&p.call(e.contributes,t)})},e.prototype.getPluginDescriptionsForActivationEvent=function(e){return p.call(this._activationMap,e)?this._activationMap[e].slice(0):[]},e.prototype.getAllPluginDescriptions=function(){return this._pluginsArr.slice(0)},e.prototype.getPluginDescription=function(e){return p.call(this._pluginsMap,e)?this._pluginsMap[e]:null},e.prototype.registerOneTimeActivationEventListener=function(e,t){p.call(this._oneTimeActivationEventListeners,e)||(this._oneTimeActivationEventListeners[e]=[]),this._oneTimeActivationEventListeners[e].push(t)},e.prototype.triggerActivationEventListeners=function(e){if(p.call(this._oneTimeActivationEventListeners,e)){var t=this._oneTimeActivationEventListeners[e];delete this._oneTimeActivationEventListeners[e];for(var n=0,o=t.length;o>n;n++){var i=t[n];try{i()}catch(s){r.onUnexpectedError(s)}}}},e}(),v={PluginsRegistry:"PluginsRegistry"};n.Registry.add(v.PluginsRegistry,new g),t.PluginsRegistry=n.Registry.as(v.PluginsRegistry);var _="local://schemas/vscode-extension",y={"default":{name:"{{name}}",description:"{{description}}",author:"{{author}}",version:"{{1.0.0}}",main:"{{pathToMain}}",dependencies:{}},properties:{publisher:{description:i.localize(11,null),type:"string"},activationEvents:{description:i.localize(12,null),type:"array",items:{type:"string"}},extensionDependencies:{description:i.localize(13,null),type:"array",items:{type:"string"}},scripts:{type:"object",properties:{"vscode:prepublish":{description:i.localize(14,null),type:"string"}}},contributes:{description:i.localize(15,null),type:"object","default":{languages:[{id:"",extensions:[]}]},properties:{outputChannels:{description:i.localize(16,null),type:"array",items:{type:"string",description:i.localize(17,null)}}}}},definitions:{}};f.registerSchema(_,y),f.addSchemaFileAssociation("/package.json",_)}),define("vs/platform/configuration/common/configurationRegistry",["require","exports","vs/nls!vs/platform/configuration/common/configurationRegistry","vs/base/common/event","vs/platform/platform","vs/base/common/objects","vs/base/common/strings","vs/platform/plugins/common/pluginsRegistry","vs/languages/json/common/jsonContributionRegistry"],function(e,t,n,r,o,i,s,a,u){t.Extensions={Configuration:"base.contributions.configuration"};var c=function(){function e(){this.configurationContributors=[],this.hasJSONContributions=!1,this._onDidRegisterConfiguration=new r.Emitter}return Object.defineProperty(e.prototype,"onDidRegisterConfiguration",{get:function(){return this._onDidRegisterConfiguration.event},enumerable:!0,configurable:!0}),e.prototype.registerConfiguration=function(e){this.configurationContributors.push(e),this.registerJSONConfiguration(e),this._onDidRegisterConfiguration.fire(this)},e.prototype.getConfigurations=function(){return this.configurationContributors.slice(0)},e.prototype.registerJSONConfiguration=function(e){var t=s.format("local://schemas/settings/{0}",e.id),n=i.clone(e);n.id=t;var r=o.Registry.as(u.Extensions.JSONContribution);r.registerSchema(t,n),r.addSchemaFileAssociation("inmemory://defaults/settings.json",t),r.addSchemaFileAssociation("%APP_SETTINGS_HOME%/settings.json",t),r.addSchemaFileAssociation("/.vscode/settings.json",t)},e}(),l=new c;o.Registry.add(t.Extensions.Configuration,l);var d=a.PluginsRegistry.registerExtensionPoint("configuration",{description:n.localize(0,null),type:"object","default":{title:"",type:"object",properties:{}},properties:{title:{description:n.localize(1,null),type:"string"},type:{description:n.localize(2,null),"enum":["object"]},properties:{description:n.localize(3,null),type:"object"}}});d.setHandler(function(e){for(var t=0;tc;c++){var h=o[c],p=i.PluginsRegistry.getPluginDescription(h);if(!p)return this._showMessage(s["default"].Error,n.localize(0,null,h,e.id)),void(this.activatedPlugins[e.id]=new l(!0,{activate:void 0,deactivate:void 0},{},[]));if(u.call(this.activatedPlugins,h)){var f=this.activatedPlugins[h];if(f.activationFailed)return this._showMessage(s["default"].Error,n.localize(1,null,h,e.id)),void(this.activatedPlugins[e.id]=new l(!0,{activate:void 0,deactivate:void 0},{},[]))}else a=!1,t[h]=p}a?t[e.id]=e:r.push(e)},e.prototype._activatePlugins=function(e,t){var r=this;if(0===e.length)return o.TPromise.as(void 0);if(e=e.filter(function(e){return!u.call(r.activatedPlugins,e.id)}),0===e.length)return o.TPromise.as(void 0);if(t>10){for(var i=0,a=e.length;a>i;i++)this._showMessage(s["default"].Error,n.localize(2,null,e[i].id)),this.activatedPlugins[e[i].id]=new l(!0,{activate:void 0,deactivate:void 0},{},[]);return o.TPromise.as(void 0)}for(var c=Object.create(null),d=[],i=0,a=e.length;a>i;i++)this._handleActivateRequest(e[i],c,d);for(var i=0,a=d.length;a>i;i++)c[d[i].id]&&delete c[d[i].id];var h=Object.keys(c).map(function(e){return c[e]});return 0===d.length?o.TPromise.join(h.map(function(e){return r._activatePlugin(e)})).then(function(e){return void 0}):this._activatePlugins(h,t+1).then(function(e){return r._activatePlugins(d,t+1)})},e.prototype._activatePlugin=function(e){var t=this;return u.call(this.activatedPlugins,e.id)?o.TPromise.as(this.activatedPlugins[e.id].exports):u.call(this.activatingPlugins,e.id)?this.activatingPlugins[e.id]:(this.activatingPlugins[e.id]=this._actualActivatePlugin(e).then(null,function(r){return t._showMessage(s["default"].Error,n.localize(3,null,e.id,r.message)),console.error("Activating extension `"+e.id+"` failed: ",r.message),console.log("Here is the error stack: ",r.stack),new l(!0,{activate:void 0,deactivate:void 0},{},[])}).then(function(n){return t.activatedPlugins[e.id]=n,delete t.activatingPlugins[e.id],n.exports}),this.activatingPlugins[e.id])},e.prototype._actualActivatePlugin=function(t){var n=this;return t.main?this._loadPluginModule(t).then(function(r){return n._loadPluginContext(t).then(function(t){return e._callActivate(r,t)})}):o.TPromise.as(new l(!1,{activate:void 0,deactivate:void 0},{},[]))},e.prototype._loadPluginModule=function(e){return a(e.main)},e.prototype._loadPluginContext=function(e){return o.TPromise.as(void 0)},e._callActivate=function(e,t){return e=e||{activate:void 0,deactivate:void 0},this._callActivateOptional(e,t).then(function(n){return new l(!1,e,n,t.subscriptions)})},e._callActivateOptional=function(e,t){if("function"!=typeof e.activate)return o.TPromise.as(e);try{return o.TPromise.as(e.activate.apply(c,[t]))}catch(n){return o.TPromise.wrapError(n)}},e}();t.AbstractPluginService=d,t.loadAMDModule=a}),define("vs/platform/request/common/request",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IRequestService=n.createDecorator("requestService")}),define("vs/platform/request/common/baseRequestService",["require","exports","vs/base/common/network","vs/base/common/strings","vs/base/common/timer","vs/base/common/async","vs/base/common/http","vs/base/common/winjs.base","vs/base/common/objects","vs/platform/request/common/request"],function(e,t,n,r,o,i,s,a,u,c){var l=function(){function e(e,t){this.serviceId=c.IRequestService;var n=null,e=e,o=e.getWorkspace();this._serviceMap=o||Object.create(null),this._telemetryService=t,o&&(n=r.rtrim(o.resource.toString(),"/")+"/"),this.computeOrigin(n)}return e.prototype.computeOrigin=function(e){if(e){this._origin=e;var t=new n.URL(this._origin).getPath();t&&t.length>0&&(this._origin=this._origin.substring(0,this._origin.length-t.length+1)),r.endsWith(this._origin,"/")||(this._origin+="/")}else this._origin="/"},e.prototype.getRequestUrl=function(e,t,o){if(this._serviceMap[e]){var i=this._serviceMap[e]+r.normalizePath(t),s=new n.URL(i);return s.getScheme()?i:o?this._origin+r.ltrim(i,"/"):i}return null},e.prototype.getPath=function(e,t){var n=this.getRequestUrl(e,"/",!0);if(!n)return null;var r=t.toString().indexOf(n);return 0===r?t.toString().substr(n.length-1):null},e.prototype.makeCrossOriginRequest=function(e){return null},e.prototype.makeRequest=function(e){var t=o.nullEvent,n=!1,s=e.url;if(!s)throw new Error("IRequestService.makeRequest: Url is required");if((r.startsWith(s,"http://")||r.startsWith(s,"https://"))&&this._origin&&!r.startsWith(s,this._origin)){var c=this.makeCrossOriginRequest(e);if(c)return c;n=!0}var l=e;if(!n){var d={};this._telemetryService&&(d["X-TelemetrySession"]=this._telemetryService.getSessionId()),d["X-Requested-With"]="XMLHttpRequest",l.headers=u.mixin(l.headers,d)}return e.timeout&&(l.customRequestInitializer=function(t){t.timeout=e.timeout}),i.always(a.xhr(l),function(e){t.data&&(t.data.status=e.status),t.stop()})},e.prototype.makeChunkedRequest=function(e){var t,n,r,o=this,i=0,u=!1;return new a.TPromise(function(a,u,c){t=a,n=u,r=c,o.makeRequest(e).done(function(e){var n={request:e,chunks:[]};i=s.parseChunkedData(e,n.chunks,i),t(n)},function(e){n(e)},function(e){})},function(){u=!0})},e}();t.BaseRequestService=l}),define("vs/platform/search/common/search",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.ID="searchService",t.ISearchService=n.createDecorator(t.ID),function(e){e[e.File=1]="File",e[e.Text=2]="Text"}(t.QueryType||(t.QueryType={}));var r=(t.QueryType,function(){function e(e){this.resource=e,this.lineMatches=[]}return e}());t.FileMatch=r;var o=function(){function e(e,t,n){this.preview=e,this.lineNumber=t,this.offsetAndLengths=n}return e}();t.LineMatch=o}),define("vs/platform/telemetry/common/telemetry",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){function r(e){if(!e)return e;for(var t="",n=0;n="0"&&"9">=r?"0":r>="a"&&"z">=r?"a":r>="A"&&"Z">=r?"A":r}return t}t.ID="telemetryService",t.ITelemetryService=n.createDecorator(t.ID),t.anonymize=r}),define("vs/platform/telemetry/common/abstractTelemetryService",["require","exports","vs/base/common/errors","vs/base/common/types","vs/base/common/platform","vs/base/common/timer","vs/base/common/objects","vs/platform/platform","vs/platform/telemetry/common/telemetry"],function(e,t,n,r,o,i,s,a,u){var c=function(){function e(){var e=this;this.serviceId=u.ITelemetryService,this.sessionId="SESSION_ID_NOT_SET",this.timeKeeper=new i.TimeKeeper,this.toUnbind=[],this.appenders=[],this.timeKeeperListener=function(t){return e.onTelemetryTimerEventStop(t)},this.timeKeeper.addListener(this.timeKeeperListener),this.toUnbind.push(n.errorHandler.addListener(this.onErrorEvent.bind(this))),this.errorBuffer=Object.create(null),this.enableGlobalErrorHandler(),this.errorFlushTimeout=-1}return e.prototype._safeStringify=function(e){return s.safeStringify(e)},e.prototype.onTelemetryTimerEventStop=function(e){for(var t=0;t-1&&this.appenders.splice(t,1)},e.prototype.setInstantiationService=function(e){this.instantiationService=e,this.instantiationService&&this.loadTelemetryAppendersFromRegistery()},e.prototype.handleEvent=function(e,t){throw new Error("Not implemented!")},e.ERROR_FLUSH_TIMEOUT=5e3,e}();t.AbstractTelemetryService=c,t.Extenstions={TelemetryAppenders:"telemetry.appenders"};var l=function(){function e(){this.telemetryAppenderDescriptors=[]}return e.prototype.registerTelemetryAppenderDescriptor=function(e){this.telemetryAppenderDescriptors.push(e)},e.prototype.getTelemetryAppenderDescriptors=function(){return this.telemetryAppenderDescriptors},e}();a.Registry.add(t.Extenstions.TelemetryAppenders,new l)}),define("vs/platform/thread/common/thread",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IThreadService=n.createDecorator("threadService");var r=function(){function e(){}return e}();t.IRemotableCtorMap=r;var o=function(){function e(){}return e}();t.IRemotableCtorAffinityMap=o;var i=function(){function e(){}return e.getId=function(t){return t[e.PROP_NAME]||null},e.MainContext=function(t){return function(n){e._ensureUnique(t),e.Registry.MainContext[t]=n,n[e.PROP_NAME]=t}},e.PluginHostContext=function(t){return function(n){e._ensureUnique(t),e.Registry.PluginHostContext[t]=n,n[e.PROP_NAME]=t}},e.WorkerContext=function(t,n){return function(r){e._ensureUnique(t),e.Registry.WorkerContext[t]={ctor:r,affinity:n},r[e.PROP_NAME]=t}},e._ensureUnique=function(t){if(e.Registry.MainContext[t]||e.Registry.PluginHostContext[t]||e.Registry.WorkerContext[t])throw new Error("Duplicate Remotable identifier found")},e.PROP_NAME="$__REMOTABLE_ID",e.Registry={MainContext:Object.create(null),PluginHostContext:Object.create(null),WorkerContext:Object.create(null)},e}();t.Remotable=i,function(e){e[e.None=0]="None",e[e.Group1=1]="Group1",e[e.Group2=2]="Group2",e[e.Group3=3]="Group3",e[e.Group4=4]="Group4",e[e.Group5=5]="Group5",e[e.Group6=6]="Group6",e[e.Group7=7]="Group7",e[e.Group8=8]="Group8",e[e.Group9=9]="Group9",e[e.All=10]="All"}(t.ThreadAffinity||(t.ThreadAffinity={}));t.ThreadAffinity});var __decorate=this&&this.__decorate||function(e,t,n,r){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,r);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,r){return void(r&&r(t,n))},void 0);case 4:return e.reduceRight(function(e,r){return r&&r(t,n,e)||e},r)}},__param=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};define("vs/editor/common/services/modelServiceImpl",["require","exports","vs/editor/common/services/modeService","vs/editor/common/model/mirrorModel","vs/editor/common/core/range","vs/editor/common/editorCommon","vs/editor/common/services/resourceService","vs/editor/common/services/modelService","vs/platform/thread/common/thread","vs/base/common/eventSource","vs/base/common/uri","vs/base/common/network","vs/base/common/severity","vs/base/common/errors","vs/platform/telemetry/common/telemetry","vs/editor/common/model/model"],function(e,t,n,r,o,i,s,a,u,c,l,d,h,p,f,m){var g=function(){function e(e){this.model=e,this.toUnbind=null}return e.prototype.dispose=function(){this._decorationIds=this.model.deltaDecorations(this._decorationIds,[]),this.model=null,this.toUnbind&&(this.toUnbind(),this.toUnbind=null)},e.prototype.deltaMarkers=function(e){var t=this;e=e.slice(0,500);var n=e.map(function(e){return{range:t._createDecorationRange(e),options:t._createDecorationOption(e)}});this._decorationIds=this.model.deltaDecorations(this._decorationIds,n)},e.prototype._createDecorationRange=function(e){var t=this.model.validateRange(new o.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),n=new o.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);if(n.isEmpty()){var r=this.model.getWordAtPosition(n.getStartPosition());if(r)n.startColumn=r.startColumn,n.endColumn=r.endColumn;else{var i=this.model.getLineLastNonWhitespaceColumn(t.startLineNumber)||this.model.getLineMaxColumn(t.startLineNumber);1===i||(n.endColumn>=i?(n.endColumn=i,n.startColumn=i-1):n.endColumn+=1)}}else if(e.endColumn===Number.MAX_VALUE&&1===e.startColumn&&n.startLineNumber===n.endLineNumber){var s=this.model.getLineFirstNonWhitespaceColumn(e.startLineNumber);sn;n++){var a=t[n],u=a.getData();switch(a.getType()){case i.EventType.ModelDispose:return void this.removeModel(this._models[e].model);case i.EventType.ModelContentChanged:switch(u.changeType){case i.EventType.ModelContentChangedFlush:o.push(this._mixinProperties({type:a.getType()},u,["changeType","detail","versionId"]));break;case i.EventType.ModelContentChangedLinesDeleted:o.push(this._mixinProperties({type:a.getType()},u,["changeType","fromLineNumber","toLineNumber","versionId"]));break;case i.EventType.ModelContentChangedLinesInserted:o.push(this._mixinProperties({type:a.getType()},u,["changeType","fromLineNumber","toLineNumber","detail","versionId"]));break;case i.EventType.ModelContentChangedLineChanged:o.push(this._mixinProperties({type:a.getType()},u,["changeType","lineNumber","detail","versionId"]))}s=!0;break;case i.EventType.ModelPropertiesChanged:o.push(this._mixinProperties({type:a.getType()},u,["properties"]));break;case i.EventType.ModelModeChanged:var c=u;this._workerHelper.$onModelModeChanged(e,c.oldMode.getId(),c.newMode.getId()),this._onModelModeChanged.fire(this._models[e].model,c.oldMode.getId())}}o.length>0&&this._sendModelEvents(this._models[e].model.getAssociatedResource(),o)},e.prototype._mixinProperties=function(e,t,n){for(var r=0;r0)throw new Error("Received model events for missing models "+n.map(f.anonymize).join(" AND "))},e=__decorate([u.Remotable.WorkerContext("ModelServiceWorkerHelper",u.ThreadAffinity.All),__param(0,s.IResourceService),__param(1,n.IModeService)],e)}();t.ModelServiceWorkerHelper=_});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,r){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,r);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,r){return void(r&&r(t,n))},void 0);case 4:return e.reduceRight(function(e,r){return r&&r(t,n,e)||e},r)}},__param=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};define("vs/platform/telemetry/common/abstractRemoteTelemetryService",["require","exports","vs/platform/telemetry/common/abstractTelemetryService","vs/platform/telemetry/common/telemetry","vs/platform/thread/common/thread"],function(e,t,n,r,o){var i=function(){function e(e){this._telemetryService=e}return e.prototype._handleRemoteTelemetryEvent=function(e,t){this._telemetryService.publicLog(e,t)},e.prototype.getTelemetryInfo=function(){return this._telemetryService.getTelemetryInfo()},e=__decorate([o.Remotable.MainContext("RemoteTelemetryServiceHelper"),__param(0,r.ITelemetryService)],e)}();t.RemoteTelemetryServiceHelper=i;var s=function(e){function t(t){e.call(this),this._proxy=t.getRemotable(i)}return __extends(t,e),t.prototype.getTelemetryInfo=function(){return this._proxy.getTelemetryInfo()},t.prototype.addTelemetryAppender=function(e){throw new Error("Telemetry appenders are not supported in this execution envirnoment")},t.prototype.handleEvent=function(e,t){this._proxy._handleRemoteTelemetryEvent(e,t)},t}(n.AbstractTelemetryService);t.AbstractRemoteTelemetryService=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/telemetry/common/workerTelemetryService",["require","exports","vs/platform/telemetry/common/abstractRemoteTelemetryService"],function(e,t,n){var r=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.handleEvent=function(t,n){var n=n||{};n.workerTelemetry=!0,e.prototype.handleEvent.call(this,t,n)},t}(n.AbstractRemoteTelemetryService);t.WorkerTelemetryService=r}),define("vs/platform/thread/common/threadService",["require","exports","vs/platform/platform","vs/base/common/winjs.base","./thread"],function(e,t,n,r,o){function i(e,t){for(var n in e)if(e[n]===t)return n;throw new Error("Member not found in prototype")}function s(e){var n=e[t.THREAD_SERVICE_PROPERTY_NAME];if(!n)throw new Error("Objects that use thread attributes must be instantiated with the thread service");return n}function a(e,t){var n=i(e.prototype,t);e.prototype[n]=function(){for(var e=[],r=0;r=e&&t>=S;case 3:return S>=e&&n>=S;case 4:return S>=e&&r>=S;case 5:return S>=e&&o>=S;case 6:return S>=e&&i>=S;case 7:return S>=e&&s>=S;case 8:return S>=e&&a>=S;case 9:return S>=e&&u>=S;case 10:return S>=e&&c>=S;case 11:return S>=e&&c>=S||S===l||S===g;case 12:return S>=e&&c>=S||S>=l&&d>=S||S>=g&&v>=S;case 13:return S>=e&&c>=S||S>=l&&h>=S||S>=g&&_>=S;case 14:return S>=e&&c>=S||S>=l&&p>=S||S>=g&&y>=S;case 15:return S>=e&&c>=S||S>=l&&f>=S||S>=g&&k>=S;default:return S>=e&&c>=S||S>=l&&m>=S||S>=g&&b>=S}}}();var f=function(e){function t(t,n,r){e.call(this,t,n,r)}return __extends(t,e),t=__decorate([__param(1,a.IInstantiationService),__param(2,u.IThreadService)],t)}(p);t.FrankensteinMode=f}),define("vs/editor/common/modes/languageExtensionPoint",["require","exports","vs/nls!vs/editor/common/modes/languageExtensionPoint","vs/base/common/paths","vs/base/common/strings","vs/platform/thread/common/threadService","vs/platform/plugins/common/pluginsRegistry","vs/base/common/mime","vs/base/common/errors","vs/platform/instantiation/common/descriptors","vs/base/common/event"],function(e,t,n,r,o,i,s,a,u,c,l){function d(e){return"undefined"==typeof e?!0:Array.isArray(e)?e.every(function(e){return"string"==typeof e}):!1}function h(e,t){return e?"string"!=typeof e.id?(t.error(n.localize(9,null,"id")),!1):d(e.extensions)?d(e.filenames)?"undefined"!=typeof e.firstLine&&"string"!=typeof e.firstLine?(t.error(n.localize(12,null,"firstLine")),!1):"undefined"!=typeof e.configuration&&"string"!=typeof e.configuration?(t.error(n.localize(13,null,"configuration")),!1):d(e.aliases)?d(e.mimetypes)?!0:(t.error(n.localize(15,null,"mimetypes")),!1):(t.error(n.localize(14,null,"aliases")),!1):(t.error(n.localize(11,null,"filenames")),!1):(t.error(n.localize(10,null,"extensions")),!1):(t.error(n.localize(8,null,p.name)),!1)}var p=s.PluginsRegistry.registerExtensionPoint("languages",{description:n.localize(0,null),type:"array","default":[{id:"",aliases:[],extensions:[]}],items:{type:"object","default":{id:"",extensions:[]},properties:{id:{description:n.localize(1,null),type:"string"},aliases:{description:n.localize(2,null),type:"array",items:{type:"string"}},extensions:{description:n.localize(3,null),"default":[".foo"],type:"array",items:{type:"string"}},filenames:{description:n.localize(4,null),type:"array",items:{type:"string"}},mimetypes:{description:n.localize(5,null),type:"array",items:{type:"string"}},firstLine:{description:n.localize(6,null),type:"string"},configuration:{description:n.localize(7,null),type:"string"}}}}),f=Object.prototype.hasOwnProperty,m=function(){function e(){this._onDidAddMode=new l.Emitter,this.onDidAddMode=this._onDidAddMode.event,this.knownModeIds={},this.mime2LanguageId={},this.name2LanguageId={},this.id2Name={},this.name2Extensions={},this.compatModes={},this.lowerName2Id={},this.id2ConfigurationFiles={},this._isRegisteredWithThreadService=!1}return e.prototype.creationDone=function(){this._isRegisteredWithThreadService=!0},e.prototype.getId=function(){return"LanguageExtensionPointHandler"},e.prototype.getSerializableState=function(){return{knownModeIds:this.knownModeIds,mime2LanguageId:this.mime2LanguageId,name2LanguageId:this.name2LanguageId,name2Extensions:this.name2Extensions,id2Name:this.id2Name,compatModes:this.compatModes,lowerName2Id:this.lowerName2Id}},e.prototype.setData=function(e){this.knownModeIds=e.knownModeIds,this.mime2LanguageId=e.mime2LanguageId,this.name2LanguageId=e.name2LanguageId,this.name2Extensions=e.name2Extensions,this.id2Name=e.id2Name,this.compatModes=e.compatModes,this.lowerName2Id=e.lowerName2Id},e.prototype.registerCompatMode=function(e){this._onLanguage({id:e.id,extensions:e.extensions,filenames:e.filenames,firstLine:e.firstLine,aliases:e.aliases,mimetypes:e.mimetypes}),this.compatModes[e.id]=c.createAsyncDescriptor1(e.moduleId,e.ctorName)},e.prototype._handleLanguagesExtensionPointUsers=function(e){for(var t=[],o=0,i=e.length;i>o;o++){var s=e[o];if(Array.isArray(s.value))for(var a=0,u=s.value.length;u>a;a++)h(s.value[a],s.collector)&&t.push({id:s.value[a].id,extensions:s.value[a].extensions,filenames:s.value[a].filenames,firstLine:s.value[a].firstLine,aliases:s.value[a].aliases,mimetypes:s.value[a].mimetypes,configuration:s.value[a].configuration?r.join(s.description.extensionFolderPath,s.value[a].configuration):s.value[a].configuration});else s.collector.error(n.localize(16,null,p.name))}this._isRegisteredWithThreadService?this._onLanguagesEverywhere(t):this._onLanguagesImpl(t)},e.prototype._onLanguagesEverywhere=function(e){this._onLanguagesImpl(e)},e.prototype._onLanguagesImpl=function(e){for(var t=0;t> to now point to modeId <<"+t+">>"),this.mime2LanguageId[e]=t},e.prototype.registerLanguage=function(e){this._onLanguage(e)},e.prototype._onLanguage=function(e){this.knownModeIds[e.id]=!0;var t=null;if("undefined"!=typeof e.mimetypes&&Array.isArray(e.mimetypes))for(var n=0;n0){var r=e.firstLine;"^"!==r.charAt(0)&&(r="^"+r);try{var i=new RegExp(r);o.regExpLeadsToEndlessLoop(i)||a.registerTextMimeByFirstLine(i,t)}catch(s){u.onUnexpectedError(s)}}var c=null;if("undefined"!=typeof e.aliases&&Array.isArray(e.aliases))for(var n=0;n1){var a=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column-1,endLineNumber:t.lineNumber,endColumn:t.column});if(0!==a.trim().length)return i}}else{var u=o.toLowerCase();s=function(e){return r.startsWith(e.label.toLowerCase(),u)}}var c=e.getMode().getId(),l=[],d=f[c];if(d)for(var h in d)l=l.concat(d[h]);var m=p[c];return m&&(l=l.concat(m)),i.suggestions=s?l.filter(s):l,i}t.Extensions={EditorModes:"editor.modes"};var d=function(){function e(){this.workerParticipants=[]}return e.prototype.registerWorkerParticipant=function(e,t){this.workerParticipants.push({modeId:e,descriptor:t})},e.prototype._getAllWorkerParticipants=function(){return this.workerParticipants},e.prototype._setWorkerParticipants=function(e){this.workerParticipants=e},e.prototype.getWorkerParticipants=function(e){return this.workerParticipants.filter(function(t){return t.modeId===e}).map(function(e){return e.descriptor})},e.prototype.isRegisteredMode=function(e){return n.LanguageExtensions.isRegisteredMode(e)},e.prototype.getRegisteredModes=function(){return n.LanguageExtensions.getRegisteredModes()},e.prototype.getRegisteredMimetypes=function(){return n.LanguageExtensions.getRegisteredMimetypes()},e.prototype.getRegisteredLanguageNames=function(){return n.LanguageExtensions.getRegisteredLanguageNames()},e.prototype.getExtensions=function(e){return n.LanguageExtensions.getExtensions(e)},e.prototype.getMimeForMode=function(e){return n.LanguageExtensions.getMimeForMode(e)},e.prototype.getLanguageName=function(e){return n.LanguageExtensions.getLanguageName(e)},e.prototype.getModeIdForLanguageName=function(e){return n.LanguageExtensions.getModeIdForLanguageNameLowercase(e)},e.prototype.registerMode=function(e){n.LanguageExtensions.registerCompatMode(e)},e.prototype.getModeId=function(e){var t=n.LanguageExtensions.extractModeIds(e);return t.length>0?t[0]:null},e}(),h=new d;o.Registry.add(t.Extensions.EditorModes,h),t.registerMode=s,t.registerWorkerParticipant=a;var p=Object.create(null),f=Object.create(null);t.registerDefaultSnippets=u,t.registerSnippets=c,t.getSnippets=l}),define("vs/editor/common/modes/monarch/monarchDefinition",["require","exports","vs/base/common/winjs.base","vs/editor/common/modes/abstractMode"],function(e,t,n,r){function o(e){return{commentsConfiguration:{lineCommentTokens:[e.lineComment],blockCommentStartToken:e.blockCommentStart,blockCommentEndToken:e.blockCommentEnd}}}function i(e){return{brackets:e.standardBrackets,regexBrackets:e.enhancedBrackets,caseInsensitive:e.ignoreCase,embeddedElectricCharacters:e.outdentTriggers.split("")}}function s(e){return{wordDefinition:e.wordDefinition}}function a(e){return{autoClosingPairs:e.autoClosingPairs}}function u(e,t,n,r){var o=n.suggestSupport.snippets;return o&&0!==o.length?(r||(r=[]),r.push({currentWord:e.getWordUntilPosition(t).word,suggestions:o.slice(0)}),r):r}function c(e){return{brackets:e.standardBrackets}}function l(e,t,o){return o.suggestSupport.textualCompletions&&t instanceof r.AbstractMode?{triggerCharacters:o.suggestSupport.triggerCharacters,disableAutoTrigger:o.suggestSupport.disableAutoTrigger,excludeTokens:[],suggest:function(e,n){return t.suggest(e,n)},composeSuggest:function(t,r,i){return n.TPromise.as(u(e.getModel(t),r,o,i))}}:{triggerCharacters:o.suggestSupport.triggerCharacters,disableAutoTrigger:o.suggestSupport.disableAutoTrigger,excludeTokens:[],suggest:function(t,r){return n.TPromise.as(u(e.getModel(t),r,o,null))},composeSuggest:function(e,t,r){return n.TPromise.as(r)}}}t.createCommentsSupport=o,t.createBracketElectricCharacterContribution=i,t.createTokenTypeClassificationSupportContribution=s,t.createCharacterPairContribution=a,t.createOnEnterSupportOptions=c,t.createSuggestSupport=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/modes/monarch/monarchLexer",["require","exports","vs/editor/common/modes/abstractState","vs/editor/common/modes/lineStream","vs/editor/common/modes/modesRegistry","vs/editor/common/modes/supports","vs/editor/common/modes/monarch/monarchCommon","vs/editor/common/modes","vs/platform/platform"],function(e,t,n,r,o,i,s,a,u){function c(e,t){if(!t)return null;t=s.fixCase(e,t);for(var n=e.brackets,r=0;r=this.lexer.maxStack?s.throwError(this.lexer,"maximum tokenizer stack size reached: ["+this.stack[0]+","+this.stack[1]+",...,"+this.stack[this.stack.length-2]+","+this.stack[this.stack.length-1]+"]"):this.stack.unshift(o);else if("@pop"===l.next)this.stack.length<=1?s.throwError(this.lexer,"trying to pop an empty stack in rule: "+p.name):this.stack.shift();else if("@popall"===l.next)this.stack.length>1&&(this.stack=[this.stack[this.stack.length-1]]);else{var b=s.substituteMatches(this.lexer,l.next,u,i,o);"@"===b[0]&&(b=b.substr(1)),s.findRules(this.lexer,b)?this.stack.unshift(b):s.throwError(this.lexer,"trying to set a next state '"+b+"' that is undefined in rule: "+p.name)}l.log&&"string"==typeof l.log&&s.log(this.lexer,this.lexer.displayName+": "+s.substituteMatches(this.lexer,l.log,u,i,o))}if(null===y&&(s.throwError(this.lexer,"lexer rule has no well-defined action in rule: "+p.name),y=this.lexer.defaultToken),Array.isArray(y)){this.groupActions&&this.groupActions.length>0&&s.throwError(this.lexer,"groups cannot be nested: "+p.name),i.length!==y.length+1&&s.throwError(this.lexer,"matched number of groups does not match the number of actions in rule: "+p.name);for(var E=0,T=1;T0?t[0]:null},e.prototype.getModeIdByLanguageName=function(e){var t=s.LanguageExtensions.getModeIdsFromLanguageName(e);return t.length>0?t[0]:null},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var n=s.LanguageExtensions.getModeIdsFromFilenameOrFirstLine(e,t);return n.length>0?n[0]:null},e.prototype.getOrCreateMode=function(e){var t=this;return this._pluginService.onReady().then(function(){var n=t.getModeId(e);return t._getOrCreateMode(n||"plaintext")})},e.prototype.getOrCreateModeByLanguageName=function(e){var t=this;return this._pluginService.onReady().then(function(){var n=t.getModeIdByLanguageName(e);return t._getOrCreateMode(n||"plaintext")})},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var n=this;return this._pluginService.onReady().then(function(){var r=n.getModeIdByFilenameOrFirstLine(e,t);return n._getOrCreateMode(r||"plaintext")})},e.prototype._getOrCreateMode=function(e){var t=this;return this._instantiatedModes.hasOwnProperty(e)?n.TPromise.as(this._instantiatedModes[e]):this._activationPromises.hasOwnProperty(e)?this._activationPromises[e]:(this._activationPromises[e]=this._createMode(e).then(function(n){return t._instantiatedModes[e]=n,delete t._activationPromises[e],t._instantiatedModes[e]}),this._activationPromises[e])},e.prototype._createMode=function(e){var t=this,r="onLanguage:"+e,o=s.LanguageExtensions.getCompatMode(e);if(o)return this._pluginService.activateByEvent(r).then(function(n){var r=t._createModeDescriptor(e);return t._threadService.createInstance(o,r)}).then(function(n){return n.configSupport&&n.configSupport.configure(t.getConfigurationForMode(e)),n});var i=this._getOrCreateFrankensteinMode(e);return this._pluginService.activateByEvent(r).done(null,a.onUnexpectedError),n.TPromise.as(i)},e.prototype._getOrCreateFrankensteinMode=function(e){if(!this._frankensteinModes.hasOwnProperty(e)){var t=this._createModeDescriptor(e);this._frankensteinModes[e]=this._threadService.createInstance(i.FrankensteinMode,t)}return this._frankensteinModes[e]},e.prototype._createModeDescriptor=function(e){var t=p.Registry.as(f.Extensions.EditorModes),n=t.getWorkerParticipants(e);return{id:e,workerParticipants:n}},e.prototype.registerModeSupport=function(e,t,n){var r=this._getOrCreateMode(e).then(function(r){return r.registerSupport?r.registerSupport(t,n):(console.warn("Cannot register support "+t+" on mode "+e+" because it is not a Frankenstein mode"),g.empty)});return{dispose:function(){r.done(function(e){return e.dispose()},null)}}},e.prototype.doRegisterMonarchDefinition=function(e,t){var n=this;return g.combinedDispose(this.registerTokenizationSupport(e,function(e){return d.createTokenizationSupport(n,e,t)}),this.registerDeclarativeCommentsSupport(e,l.createCommentsSupport(t)),this.registerDeclarativeElectricCharacterSupport(e,l.createBracketElectricCharacterContribution(t)),this.registerDeclarativeTokenTypeClassificationSupport(e,l.createTokenTypeClassificationSupportContribution(t)),this.registerDeclarativeCharacterPairSupport(e,l.createCharacterPairContribution(t)),this.registerDeclarativeOnEnterSupport(e,l.createOnEnterSupportOptions(t)))},e.prototype.registerMonarchDefinition=function(e,t){var n=h.compile(c.clone(t));return this.doRegisterMonarchDefinition(e,n)},e.prototype.registerDeclarativeCharacterPairSupport=function(e,t){return this.registerModeSupport(e,"characterPairSupport",function(e){return new o.CharacterPairSupport(e,t)})},e.prototype.registerCodeLensSupport=function(e,t){return this.registerModeSupport(e,"codeLensSupport",function(e){return t})},e.prototype.registerDeclarativeCommentsSupport=function(e,t){return this.registerModeSupport(e,"commentsSupport",function(e){return new o.CommentsSupport(t)})},e.prototype.registerDeclarativeDeclarationSupport=function(e,t){return this.registerModeSupport(e,"declarationSupport",function(e){return new o.DeclarationSupport(e,t)})},e.prototype.registerDeclarativeElectricCharacterSupport=function(e,t){return this.registerModeSupport(e,"electricCharacterSupport",function(e){return new o.BracketElectricCharacterSupport(e,t)})},e.prototype.registerExtraInfoSupport=function(e,t){return this.registerModeSupport(e,"extraInfoSupport",function(e){return t})},e.prototype.registerFormattingSupport=function(e,t){return this.registerModeSupport(e,"formattingSupport",function(e){return t})},e.prototype.registerInplaceReplaceSupport=function(e,t){return this.registerModeSupport(e,"inplaceReplaceSupport",function(e){return t})},e.prototype.registerOccurrencesSupport=function(e,t){return this.registerModeSupport(e,"occurrencesSupport",function(e){return t})},e.prototype.registerOutlineSupport=function(e,t){return this.registerModeSupport(e,"outlineSupport",function(e){return t})},e.prototype.registerDeclarativeParameterHintsSupport=function(e,t){return this.registerModeSupport(e,"parameterHintsSupport",function(e){return new o.ParameterHintsSupport(e,t)})},e.prototype.registerQuickFixSupport=function(e,t){return this.registerModeSupport(e,"quickFixSupport",function(e){return t})},e.prototype.registerDeclarativeReferenceSupport=function(e,t){return this.registerModeSupport(e,"referenceSupport",function(e){return new o.ReferenceSupport(e,t)})},e.prototype.registerRenameSupport=function(e,t){return this.registerModeSupport(e,"renameSupport",function(e){return t})},e.prototype.registerDeclarativeSuggestSupport=function(e,t){return this.registerModeSupport(e,"suggestSupport",function(e){return new o.SuggestSupport(e,t)})},e.prototype.registerTokenizationSupport=function(e,t){return this.registerModeSupport(e,"tokenizationSupport",t)},e.prototype.registerDeclarativeTokenTypeClassificationSupport=function(e,t){return this.registerModeSupport(e,"tokenTypeClassificationSupport",function(e){return new o.TokenTypeClassificationSupport(t)})},e.prototype.registerDeclarativeOnEnterSupport=function(e,t){return this.registerModeSupport(e,"onEnterSupport",function(n){return new m.OnEnterSupport(e,t)})},e}();t.ModeServiceImpl=v;var _=function(e){function t(t,n,r){e.call(this,t,n),this._modelService=r,this._hasInitialized=!1}return __extends(t,e),t.prototype._getModeServiceWorkerHelper=function(){var e=this._threadService.getRemotable(y);if(!this._hasInitialized){this._hasInitialized=!0;var t=p.Registry.as(f.Extensions.EditorModes);e.initialize(t._getAllWorkerParticipants())}return e},t.prototype.configureModeById=function(t,n){this._getModeServiceWorkerHelper().configureModeById(t,n),e.prototype.configureModeById.call(this,t,n)},t.prototype._createMode=function(t){return this._getModeServiceWorkerHelper().instantiateMode(t),e.prototype._createMode.call(this,t)},t.prototype.registerModeSupport=function(t,n,r){return this._getModeServiceWorkerHelper().instantiateMode(t),e.prototype.registerModeSupport.call(this,t,n,r)},t.prototype.registerMonarchDefinition=function(t,n){var r=this;this._getModeServiceWorkerHelper().registerMonarchDefinition(t,n);var i=h.compile(c.clone(n));return g.combinedDispose(e.prototype.doRegisterMonarchDefinition.call(this,t,i),this.registerModeSupport(t,"suggestSupport",function(e){return new o.ComposableSuggestSupport(e,l.createSuggestSupport(r._modelService,e,i))}))},t}(v);t.MainThreadModeServiceImpl=_;var y=function(){function e(e){this._modeService=e}return e.prototype.initialize=function(e){var t=p.Registry.as(f.Extensions.EditorModes);t._setWorkerParticipants(e)},e.prototype.instantiateMode=function(e){this._modeService.getOrCreateMode(e).done(null,a.onUnexpectedError)},e.prototype.configureModeById=function(e,t){this._modeService.configureMode(e,t)},e.prototype.registerMonarchDefinition=function(e,t){this._modeService.registerMonarchDefinition(e,t)},e=__decorate([u.Remotable.WorkerContext("ModeServiceWorkerHelper",u.ThreadAffinity.All),__param(0,r.IModeService)],e)}();t.ModeServiceWorkerHelper=y});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,r){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,r);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,r){return void(r&&r(t,n))},void 0);case 4:return e.reduceRight(function(e,r){return r&&r(t,n,e)||e},r)}},__param=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};define("vs/languages/plaintext/common/plaintext",["require","exports","vs/editor/common/modes/supports","vs/editor/common/modes/abstractMode","vs/editor/common/modes/abstractState","vs/platform/instantiation/common/instantiation","vs/platform/thread/common/thread"],function(e,t,n,r,o,i,s){var a=function(e){function t(t){e.call(this,t)}return __extends(t,e),t.prototype.makeClone=function(){return this},t.prototype.equals=function(n){return n instanceof t?e.prototype.equals.call(this,n):!1},t.prototype.tokenize=function(e){return e.advanceToEOS(),{type:""}},t}(o.AbstractState),u=function(e){function t(t,r,o){var i=this;e.call(this,t,r,o),this.tokenizationSupport=new n.TokenizationSupport(this,{getInitialState:function(){return new a(i)}},!1,!1)}return __extends(t,e),t=__decorate([__param(1,i.IInstantiationService),__param(2,s.IThreadService)],t)}(r.AbstractMode);t.Mode=u}),define("vs/platform/markers/common/markerService",["require","exports","vs/base/common/network","vs/base/common/arrays","vs/base/common/strings","vs/base/common/collections","vs/base/common/event","vs/base/common/severity","vs/platform/thread/common/threadService","./markers"],function(e,t,n,r,o,i,s,a,u,c){var l;!function(e){function t(e){var t=/^(.*)→(.*)$/.exec(e);return{owner:t[1],resource:n.URL.fromValue(t[2])}}function r(e){return e.owner+"→"+e.resource}function i(e,t){return new RegExp(o.format(a,e?o.escapeRegExpCharacters(e):".*",t?o.escapeRegExpCharacters(t.toString()):".*"))}function s(e,t){return e+"→"+t}e.fromValue=t,e.valueOf=r;var a="^({0})→({1})$";e.selector=i,e.raw=s}(l||(l={}));var d=function(){function e(e){this.serviceId=c.IMarkerService,this._data=Object.create(null),this._stats=this._emptyStats(),this._onMarkerChanged=new s.Emitter,e.registerInstance(this)}return e.prototype.getId=function(){return"__markerService"},e.prototype.getSerializableState=function(){return this._data},e.prototype.setData=function(e){this._data=e},e.prototype.getStatistics=function(){return this._stats},Object.defineProperty(e.prototype,"onMarkerChanged",{get:function(){return this._onMarkerChanged?this._onMarkerChanged.event:null},enumerable:!0,configurable:!0}),e.prototype.changeOne=function(e,t,n){this._doChangeOne(e,t,n)&&this._onMarkerChanged.fire([t])},e.prototype.remove=function(e,t){if(!r.isFalsyOrEmpty(t)){for(var n,o=0;o0&&a++>=r)?!1:void 0})},e.prototype._fromEntry=function(t,n){var r=l.fromValue(t.key);t.value.forEach(function(t){e._sanitize(t),n.push({owner:r.owner,resource:r.resource,code:t.code,message:t.message,severity:t.severity,startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn})})},e.prototype._computeStats=function(e){var t=0,n=0,r=0,o=0;if(e)for(var i=0;i0?e.startLineNumber:1,e.startColumn=e.startColumn>0?e.startColumn:1,e.endLineNumber=e.endLineNumber>=e.startLineNumber?e.endLineNumber:e.startLineNumber,e.endColumn=e.endColumn>0?e.endColumn:e.startColumn},e.$changeOne=u.MainThreadAttr(e,e.prototype.changeOne),e.$changeAll=u.MainThreadAttr(e,e.prototype.changeAll),e}();t.MarkerService=d}),define("vs/platform/thread/common/abstractThreadService",["require","exports","vs/base/common/winjs.base","vs/base/common/remote","vs/base/common/types","vs/platform/thread/common/thread","vs/platform/thread/common/threadService","vs/platform/instantiation/common/descriptors"],function(e,t,n,r,o,i,s,a){var u=function(){function e(e,t){this._proxyDefinition=e,this._disposeDelegate=t}return e.prototype.dispose=function(){return this._disposeDelegate()},e.prototype.getProxyDefinition=function(){return this._proxyDefinition},e}(),c=function(){function e(e){this.isInMainThread=e,this._boundObjects={},this._pendingObjects=[],this._localObjMap=Object.create(null),this._proxyObjMap=Object.create(null)}return e.generateDynamicProxyId=function(){return String(++this._LAST_DYNAMIC_PROXY_ID)},e.prototype.setInstantiationService=function(e){this._instantiationService=e},e.prototype.createInstance=function(){for(var e=[],t=0;t>");var n=a.createSyncDescriptor(e);if(i.Remotable.Registry.MainContext[t])return this._registerAndInstantiateMainProcessActor(t,n);if(i.Remotable.Registry.PluginHostContext[t])return this._registerAndInstantiatePluginHostActor(t,n);if(i.Remotable.Registry.WorkerContext[t])return this._registerAndInstantiateWorkerActor(t,n,i.Remotable.Registry.WorkerContext[t].affinity);throw new Error("Unknown Remotable: <<"+t+">>")},e.prototype.registerRemotableInstance=function(e,t){var n=i.Remotable.getId(e);if(!n)throw new Error("Unknown Remotable: <<"+n+">>");if(i.Remotable.Registry.MainContext[n])return this._registerMainProcessActor(n,t);if(i.Remotable.Registry.PluginHostContext[n])return this._registerPluginHostActor(n,t);if(i.Remotable.Registry.WorkerContext[n])return this._registerWorkerActor(n,t);throw new Error("Unknown Remotable: <<"+n+">>")},e._LAST_DYNAMIC_PROXY_ID=0,e}();t.AbstractThreadService=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/thread/common/workerThreadService",["require","exports","vs/base/common/winjs.base","./threadService","vs/platform/thread/common/abstractThreadService","vs/platform/thread/common/thread"],function(e,t,n,r,o,i){var s=function(e){function t(t,n,o){var s=this;e.call(this,!1),this.serviceId=i.IThreadService,this._mainThreadData=t,this._remoteCom=n,this._remoteCom.registerBigHandler(this),this._publisher=o,r.readThreadSynchronizableObjects().forEach(function(e){return s.registerInstance(e)})}return __extends(t,e),t.prototype._handleRequest=function(e,t,r){var o=this;if(!this._boundObjects.hasOwnProperty(e))return n.Promise.join(this._pendingObjects.slice(0)).then(function(){if(!o._boundObjects.hasOwnProperty(e))return n.Promise.wrapError(new Error("Bound object `"+e+"` was not found."));var i=o._boundObjects[e];return n.Promise.as(i[t].apply(i,r))});var i=this._boundObjects[e];return n.Promise.as(i[t].apply(i,r))},t.prototype.dispatch=function(e){try{var t=e.payload,r=this._handleRequest(t[0],t[1],t[2]);return n.Promise.is(r)?r:n.Promise.as(r)}catch(o){return n.Promise.wrapError(o)}},t.prototype._finishInstance=function(t){var n=t.getId();if(this._mainThreadData.hasOwnProperty(n)){var r=this._mainThreadData[n];delete this._mainThreadData[n],t.setData||console.log("BROKEN INSTANCE!!! "+n),t.setData(r)}return e.prototype._finishInstance.call(this,t)},t.prototype.MainThread=function(e,t,n,r){return this._publisher("threadService",{identifier:e.getId(),memberName:t,args:r})},t.prototype.OneWorker=function(e,t,n,r,o){return n.apply(e,r)},t.prototype.AllWorkers=function(e,t,n,r){return n.apply(e,r)},t.prototype.Everywhere=function(e,t,n,r){return n.apply(e,r)},t.prototype.ensureWorkers=function(){},t.prototype.addStatusListener=function(e){},t.prototype.removeStatusListener=function(e){},t.prototype._registerAndInstantiateMainProcessActor=function(e,t){return this._getOrCreateProxyInstance(this._remoteCom,e,t)},t.prototype._registerMainProcessActor=function(e,t){throw new Error("Not supported in this runtime context!")},t.prototype._registerAndInstantiatePluginHostActor=function(e,t){throw new Error("Not supported in this runtime context: Cannot communicate from Worker directly to Plugin Host!")},t.prototype._registerPluginHostActor=function(e,t){throw new Error("Not supported in this runtime context!")},t.prototype._registerAndInstantiateWorkerActor=function(e,t,n){return this._getOrCreateLocalInstance(e,t)},t.prototype._registerWorkerActor=function(e,t){this._registerLocalInstance(e,t)},t}(o.AbstractThreadService);t.WorkerThreadService=s}),define("vs/platform/workspace/common/workspace",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IWorkspaceContextService=n.createDecorator("contextService")}),require.config({ignoreDuplicateModules:["vs/languages/typescript/common/features/tokenization","vs/languages/typescript/common/features/quickFixMainActions","vs/nls!vs/languages/typescript/common/features/quickFixMainActions","vs/languages/typescript/common/typescript","vs/languages/typescript/common/typescriptMode","vs/nls!vs/languages/typescript/common/typescriptMode","vs/languages/javascript/common/javascript.extensions","vs/languages/html/common/htmlTokenTypes"]}),define("vs/editor/common/languages.common",["vs/base/common/json","vs/base/common/uri","vs/base/common/network","vs/base/common/arrays","vs/base/common/collections","vs/base/common/lifecycle","vs/base/common/async","vs/base/common/glob","vs/base/common/events","vs/platform/configuration/common/configurationRegistry","vs/platform/files/common/files","vs/platform/search/common/search","vs/platform/request/common/request","vs/platform/workspace/common/workspace","vs/platform/telemetry/common/telemetry","vs/editor/common/editorCommon","vs/editor/common/modes/modesRegistry","vs/editor/common/modes/monarch/monarch","vs/editor/common/modes/monarch/monarchCompile","vs/editor/common/services/modeService","vs/editor/common/services/modelService","vs/languages/plaintext/common/plaintext"],function(){}),define("vs/platform/workspace/common/baseWorkspaceContextService",["require","exports","vs/base/common/uri","vs/base/common/paths","./workspace"],function(e,t,n,r,o){var i=function(){function e(e,t,n){void 0===n&&(n={}),this.serviceId=o.IWorkspaceContextService,this.workspace=e,this.configuration=t,this.options=n}return e.prototype.getWorkspace=function(){return this.workspace},e.prototype.getConfiguration=function(){return this.configuration},e.prototype.getOptions=function(){return this.options},e.prototype.isInsideWorkspace=function(e){return e&&this.workspace?r.isEqualOrParent(e.fsPath,this.workspace.resource.fsPath):!1},e.prototype.toWorkspaceRelativePath=function(e){return this.isInsideWorkspace(e)?r.normalize(r.relative(this.workspace.resource.fsPath,e.fsPath)):null},e.prototype.toResource=function(e){return"string"==typeof e&&this.workspace?n["default"].file(r.join(this.workspace.resource.fsPath,e)):null},e}();t.BaseWorkspaceContextService=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/worker/editorWorkerServer",["require","exports","vs/platform/markers/common/markerService","vs/platform/thread/common/workerThreadService","vs/platform/instantiation/common/instantiationService","vs/platform/event/common/eventService","vs/platform/telemetry/common/workerTelemetryService","vs/base/common/winjs.base","vs/editor/common/services/resourceServiceImpl","vs/platform/workspace/common/baseWorkspaceContextService","vs/editor/common/services/modelServiceImpl","vs/base/common/async","vs/platform/instantiation/common/descriptors","vs/platform/request/common/baseRequestService","vs/platform/plugins/common/abstractPluginService","vs/editor/common/services/modeServiceImpl","vs/base/common/severity","vs/editor/common/modes/abstractModeWorker","vs/editor/common/languages.common"],function(e,t,n,r,o,i,s,a,u,c,l,d,h,p,f,m,g){var v=function(e){function t(){e.call(this,!0)}return __extends(t,e),t.prototype._showMessage=function(e,t){switch(e){case g["default"].Error:console.error(t);break;case g["default"].Warning:console.warn(t);break;case g["default"].Info:console.info(t);break;default:console.log(t)}},t}(f.AbstractPluginService),_=function(){function e(){}return e.prototype.initialize=function(e,t,f,g,_){var y=this,k=new v,b=new c.BaseWorkspaceContextService(_.contextService.workspace,_.contextService.configuration,_.contextService.options);this.threadService=new r.WorkerThreadService(_.threadService,e.getRemoteCom(),function(t,n){return e.request(t,n)}),this.threadService.setInstantiationService(o.create({threadService:this.threadService}));var E=new s.WorkerTelemetryService(this.threadService),T=new u.ResourceService,S=new n.MarkerService(this.threadService),C=new m.ModeServiceImpl(this.threadService,k),M=new d.PromiseSource,w=new p.BaseRequestService(b,E),I={threadService:this.threadService,pluginService:k,modeService:C,contextService:b,eventService:new i.EventService,resourceService:T,markerService:S,telemetryService:E,requestService:w},x=a.TPromise.as(null),L=b.getConfiguration().additionalWorkerServices;L&&L.forEach(function(e){x=x.then(function(t){var n=h.AsyncDescriptor.create(e.moduleName,e.ctorName);return o.create(I).createInstance(n).then(function(t){I[e.serviceId]=t})})}),x.then(function(e){var n=o.create(I);y.threadService.setInstantiationService(n),y.threadService.getRemotable(m.ModeServiceWorkerHelper),y.threadService.getRemotable(l.ModelServiceWorkerHelper),M.complete(),t(void 0)})},e.prototype.request=function(e,t,n,r,o){this.threadService.dispatch(o).then(t,n,r)},e}();t.EditorWorkerServer=_,t.value=new _}); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.nls.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.nls.js new file mode 100755 index 0000000000000000000000000000000000000000..2d3aafdf182f3798485b1fe91a86fc327ea35fbb --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/common/worker/editorWorkerServer.nls.js @@ -0,0 +1 @@ +define("vs/editor/common/worker/editorWorkerServer.nls",{"vs/base/common/json":["Invalid symbol","Invalid number format","Property name expected","Value expected","Colon expected","Value expected","Comma expected","Value expected","Closing brace expected","Value expected","Comma expected","Value expected","Closing bracket expected","Value expected","End of content expected"],"vs/base/common/severity":["Error","Warning","Info"],"vs/editor/common/model/textModelWithTokens":["The mode has failed while tokenizing the input."],"vs/editor/common/modes/languageExtensionPoint":["Contributes language declarations.","ID of the language.","Name aliases for the language.","File extensions associated to the language.","File names associated to the language.","Mime types associated to the language.","A regular expression matching the first line of a file of the language.","A relative path to a file containing configuration options for the language.","Empty value for `contributes.{0}`","property `{0}` is mandatory and must be of type `string`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string`","property `{0}` can be omitted and must be of type `string`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string[]`","Invalid `contributes.{0}`. Expected an array."],"vs/platform/configuration/common/configurationRegistry":["Contributes configuration settings.","A summary of the settings. This label will be used in the settings file as separating comment.","Type of the configuration, needs to be 'object'","Description of the configuration properties."],"vs/platform/plugins/common/abstractPluginService":["Extension `{1}` failed to activate. Reason: unknown dependency `{0}`.","Extension `{1}` failed to activate. Reason: dependency `{0}` failed to activate.","Extension `{0}` failed to activate. Reason: more than 10 levels of dependencies (most likely a dependency loop).","Activating extension `{0}` failed: {1}."],"vs/platform/plugins/common/pluginsRegistry":["Got empty extension description","property `{0}` is mandatory and must be of type `string`","property `{0}` is mandatory and must be of type `string`","property `{0}` is mandatory and must be of type `object`","property `{0}` is mandatory and must be of type `string`","property `{0}` can be omitted or must be of type `string[]`","property `{0}` can be omitted or must be of type `string[]`","properties `{0}` and `{1}` must both be specified or must both be omitted","property `{0}` can be omitted or must be of type `string`","Expected `main` ({0}) to be included inside extension's folder ({1}). This might make the extension non-portable.","properties `{0}` and `{1}` must both be specified or must both be omitted","The publisher of the VSCode extension.","Activation events for the VSCode extension.","Dependencies to other extensions.","Script executed before the package is published as a VSCode extension.","All contributions of the VSCode extension represented by this package.","Contributes output views.","The label of the output view."]}); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/cancelSelectionFind.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/cancelSelectionFind.svg new file mode 100755 index 0000000000000000000000000000000000000000..9a59c00df5b166004677fd0f10d683b9e94d2183 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/cancelSelectionFind.svg @@ -0,0 +1,84 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/close.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/close.svg new file mode 100755 index 0000000000000000000000000000000000000000..58af85367992ee38094ef20e70a83bac769cbad4 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/expando-collapsed.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/expando-collapsed.svg new file mode 100755 index 0000000000000000000000000000000000000000..5dcb87c772c21d11d48719811309038c2a47f565 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/expando-collapsed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/next.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/next.svg new file mode 100755 index 0000000000000000000000000000000000000000..a2a011453aa789e0745df74d21bb7e13c798ebe9 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/next.svg @@ -0,0 +1,5 @@ + + + diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/previous.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/previous.svg new file mode 100755 index 0000000000000000000000000000000000000000..3c8b367a9349311364ed1cbff79137b0ecf48f5d --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/previous.svg @@ -0,0 +1,5 @@ + + + diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/regex.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/regex.svg new file mode 100755 index 0000000000000000000000000000000000000000..c677843beef1d48410c4073fc854e17082d978ca --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/find/browser/regex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/quickFix/browser/lightbulp.svg b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/quickFix/browser/lightbulp.svg new file mode 100755 index 0000000000000000000000000000000000000000..b359604661616fd01365a5c72800cf9184763c9f --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/contrib/quickFix/browser/lightbulp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.css b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.css new file mode 100755 index 0000000000000000000000000000000000000000..17113dc0c67bddde0302371e05498294bb648529 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.css @@ -0,0 +1 @@ +.custom-checkbox,.monaco-inputbox{-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box}.monaco-findInput .monaco-inputbox,.monaco-inputbox{font-family:"Segoe UI",SFUIText-Light,HelveticaNeue-Light,sans-serif,"Droid Sans Fallback"}.monaco-editor .word-level-progress,.monaco-editor.hc-black .token.emphasis,.monaco-editor.hc-black .token.markup.italic,.monaco-editor.hc-white .token.emphasis,.monaco-editor.vs .token.emphasis,.monaco-editor.vs .token.markup.italic,.monaco-editor.vs-dark .token.emphasis,.monaco-editor.vs-dark .token.markup.italic{font-style:italic}.hidden{display:none!important;visibility:hidden!important}.builder-visible{display:inherit;visibility:visible}.monaco-action-bar{text-align:center;overflow:hidden;white-space:nowrap}.monaco-action-bar .actions-container{display:inline-block;margin:0 auto;padding:0;width:100%}.monaco-action-bar .action-item{cursor:pointer;display:inline-block;-ms-transition:-ms-transform .1s ease;-webkit-transition:-webkit-transform .1s ease;-moz-transition:-moz-transform .1s ease;-o-transition:-o-transform .1s ease;transition:transform .1s ease;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item.active{-ms-transform:translate(0,-3px);-webkit-transform:translate(0,-3px);-moz-transform:translate(0,-3px);-o-transform:translate(0,-3px);transform:translate(0,-3px)}.monaco-action-bar .action-item .icon{display:inline-block}.monaco-action-bar .action-label{font-size:12px;margin-right:.3em}.monaco-action-bar .action-label:focus,.monaco-action-bar:focus{outline:0}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.4}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{padding-bottom:.1em;display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar.vertical .action-item.active{-ms-transform:translate(5px,0);-webkit-transform:translate(5px,0);-moz-transform:translate(5px,0);-o-transform:translate(5px,0);transform:translate(5px,0)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item .progress-item .label{padding:.7em;background-color:#1382CE;display:inline-block;vertical-align:top;cursor:pointer}.monaco-action-bar .action-item .progress-item .tag{display:inline-block;vertical-align:top;padding:.7em 0;color:#fff;font-weight:700;text-align:center;overflow:hidden;width:0;transition:width .2s;-webkit-transition:width .2s;-o-transition:width .2s;-moz-transition:width .2s;-ms-transition:width .2s}.monaco-action-bar .action-item .progress-item .tag.active{width:1.5em}.monaco-action-bar .action-item .progress-item .tag.progress{background-color:gray}.monaco-action-bar .action-item .progress-item .tag.done{background-color:green}.monaco-action-bar .progress-item .tag.error{background-color:#C33}.monaco-actions-widget{position:relative}.monaco-actions-widget .more{position:absolute;top:0;right:1em;font-weight:700;cursor:pointer;display:none}.monaco-actions-widget .more.active{-ms-transform:translate(0,-3px);-webkit-transform:translate(0,-3px);-moz-transform:translate(0,-3px);-o-transform:translate(0,-3px);transform:translate(0,-3px)}.monaco-actions-widget .primary{display:none}.monaco-actions-widget.hasPrimary .primary,.monaco-actions-widget.hasSecondary .more{display:inherit}.monaco-actions-widget .secondary.monaco-action-bar{display:none}.monaco-actions-widget.more .secondary.monaco-action-bar{display:inherit}.monaco-action-bar .action-item.select-container{overflow:hidden}.monaco-workbench .action-bar-select{height:20px;margin:5px 4px;outline:0}.vs-dark.monaco-workbench .action-bar-select{background-color:#3C3C3C;border-color:#3C3C3C;color:#ccc}.custom-checkbox{margin-left:2px;float:left;cursor:pointer;overflow:hidden;opacity:.7;width:20px;height:20px;border:1px solid transparent;padding:1px;box-sizing:border-box;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.custom-checkbox.checked,.vs-dark .custom-checkbox.checked{border-color:#007ACC}.custom-checkbox.checked,.custom-checkbox:hover{opacity:1}.custom-checkbox:hover{background-color:#EEE}.vs-dark .custom-checkbox:hover{background-color:#292929}.hc-black .custom-checkbox{background:0 0;border:none}.hc-black .custom-checkbox:hover{background:0 0}.hc-black .custom-checkbox.checked{border:1px solid #DF740C}.context-view{position:absolute;z-index:1000}.context-view .tooltip{padding:5px;position:relative;margin-top:4px;margin-right:4px;max-width:350px;-webkit-animation:fadeIn .15s linear;-o-animation:fadeIn .15s linear;-moz-animation:fadeIn .15s linear;-ms-animation:fadeIn .15s linear;animation:fadeIn .15s linear}.context-view .tooltip:after,.context-view .tooltip:before{content:'';position:absolute;border-color:transparent;border-style:solid}.context-view.bottom.right .tooltip:before{top:-12px;right:12px}.context-view.bottom.right .tooltip:after{top:-9px;right:13px}.monaco-count-badge{min-width:18px;padding:0 3px;margin:4px 13px 0 6px;border-radius:8px;font-size:11px;line-height:16px;font-weight:400;text-align:center;background:#BEBEBE;color:#FFF}.vs-dark .monaco-count-badge{color:#FFF;background:#4D4D4D}.monaco-file-label .file-name,.monaco-menu .monaco-action-bar.vertical .action-label:hover{color:inherit}.hc-black .monaco-count-badge{background:#000;border:1px solid #6FC3DF;margin-top:2px}.monaco-file-label .file-path{opacity:.7;margin-left:.5em;font-size:.9em}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%;height:25px}.monaco-findInput .monaco-inputbox>.wrapper>.input{outline:0}.fl:after{clear:both;content:'';display:block;visibility:hidden;height:0}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput>.controls>.custom-checkbox.case-sensitive{background:url(../base/browser/ui/findinput/case-sensitive.svg) center center no-repeat}.vs .monaco-findInput>.controls>.custom-checkbox.whole-word{background:url(../base/browser/ui/findinput/whole-word.svg) center center no-repeat}.vs .monaco-findInput>.controls>.custom-checkbox.regex{background:url(../base/browser/ui/findinput/regex.svg) center center no-repeat}.vs .monaco-findInput.disabled{background-color:#E1E1E1}.vs-dark .monaco-findInput.disabled{background-color:#333}.vs-dark .monaco-findInput>.controls>.custom-checkbox.case-sensitive{background:url(../base/browser/ui/findinput/case-sensitive-dark.svg) center center no-repeat}.vs-dark .monaco-findInput>.controls>.custom-checkbox.whole-word{background:url(../base/browser/ui/findinput/whole-word-dark.svg) center center no-repeat}.vs-dark .monaco-findInput>.controls>.custom-checkbox.regex{background:url(../base/browser/ui/findinput/regex-dark.svg) center center no-repeat}.hc-black .monaco-findInput>.controls>.custom-checkbox.case-sensitive:before{content:url(../base/browser/ui/findinput/case-sensitive-dark.svg)}.hc-black .monaco-findInput>.controls>.custom-checkbox.whole-word:before{content:url(../base/browser/ui/findinput/whole-word-dark.svg)}.hc-black .monaco-findInput>.controls>.custom-checkbox.regex:before{content:url(../base/browser/ui/findinput/regex-dark.svg)}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;line-height:auto!important;font-size:inherit}.monaco-inputbox>.wrapper>.input,.monaco-inputbox>.wrapper>.mirror{padding:4px}.monaco-inputbox>.wrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.wrapper>.input{display:inline-block;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.wrapper>input{text-overflow:ellipsis}.monaco-inputbox>.wrapper>textarea.input{display:block;overflow:hidden}.monaco-inputbox-container .monaco-inputbox-message,.monaco-inputbox>.wrapper>.mirror{display:inline-block;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;width:100%}.monaco-inputbox>.wrapper>.input:focus{outline:0}.monaco-inputbox>.wrapper>.mirror{position:absolute;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;min-height:26px;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{overflow:hidden;text-align:left;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;min-height:34px;margin-top:-1px}.monaco-inputbox .monaco-action-bar{position:absolute;right:0;top:4px}.monaco-inputbox.idle{border:1px solid transparent}.monaco-inputbox.info{border:1px solid #009CCC}.monaco-inputbox-container .monaco-inputbox-message.info{background:#D6ECF2;border:1px solid #009CCC}.monaco-inputbox.warning{border:1px solid #F2CB1D}.monaco-inputbox-container .monaco-inputbox-message.warning{background:#F6F5D2;border:1px solid #F2CB1D}.monaco-inputbox.error{border:1px solid #E51400}.monaco-inputbox-container .monaco-inputbox-message.error{background:#f2dede;border:1px solid #E51400}.vs-dark .monaco-inputbox.info{border-color:#5AF}.vs-dark .monaco-inputbox-container .monaco-inputbox-message.info{background-color:#063B49;border-color:#5AF}.vs-dark .monaco-inputbox.warning{border-color:#B89500}.vs-dark .monaco-inputbox-container .monaco-inputbox-message.warning{background-color:#352A05;border-color:#B89500}.vs-dark .monaco-inputbox.error{border-color:#BE1100}.vs-dark .monaco-inputbox-container .monaco-inputbox-message.error{background-color:#5A1D1D;border-color:#BE1100}.hc-black .monaco-inputbox.idle{border:1px solid #6FC3DF}.hc-black .monaco-inputbox-container .monaco-inputbox-message.info{background-color:#000;border-color:#6FC3DF}.hc-black .monaco-inputbox.warning{border-color:#B89500}.hc-black .monaco-inputbox-container .monaco-inputbox-message.warning{background-color:#000;border-color:#B89500}.hc-black .monaco-inputbox.error{border-color:#BE1100}.hc-black .monaco-inputbox-container .monaco-inputbox-message.error{background-color:#000;border-color:#BE1100}.monaco-left-right-widget>.left{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.monaco-left-right-widget>.right{float:right}.monaco-menu .monaco-action-bar.vertical{margin-left:0}.monaco-menu .monaco-action-bar.vertical .actions-container{display:block}.monaco-menu .monaco-action-bar.vertical .action-item{padding:0;-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;display:-ms-flexbox;display:flex}.monaco-menu .monaco-action-bar.vertical .action-item.active{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none}.monaco-menu .monaco-action-bar.vertical .action-item.focused{background-color:#E4E4E4}.monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled){background-color:#EEE}.monaco-menu .monaco-action-bar.vertical .action-label{-ms-flex:1 1 auto;flex:1 1 auto;text-decoration:none;padding:.8em 1em;line-height:1.1em;background:0 0}.monaco-editor.hc-black .token.markup.underline,.monaco-editor.vs .token.markup.underline,.monaco-editor.vs-dark .token.markup.underline{text-decoration:underline}.monaco-menu .monaco-action-bar.vertical .keybinding{display:inline-block;-ms-flex:2 1 auto;flex:2 1 auto;opacity:.7;padding:.8em 1em;line-height:1.1em;font-size:12px;text-align:right}.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding{opacity:.4}.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator){display:inline-block;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0}.monaco-menu .monaco-action-bar.vertical .action-label.separator{padding:.5em 0 0;margin-bottom:.5em;width:100%}.monaco-menu .monaco-action-bar.vertical .action-label.separator.text{padding:.7em 1em .1em;font-weight:700;opacity:1}.context-view.monaco-menu-container{font-family:"Segoe WPC","Segoe UI",SFUIText-Light,HelveticaNeue-Light,sans-serif,"Droid Sans Fallback";outline:0;box-shadow:0 2px 8px #A8A8A8;border:none;color:#646465;background-color:#fff;-webkit-animation:fadeIn 83ms linear;-o-animation:fadeIn 83ms linear;-moz-animation:fadeIn 83ms linear;-ms-animation:fadeIn 83ms linear;animation:fadeIn 83ms linear}.ie.ie9 .context-view.monaco-menu-container{box-shadow:0 2px 8px 2px #A8A8A8}.context-view.monaco-menu-container :focus{outline:0}.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item.focused{background-color:#4B4C4D}.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled){background-color:#3A3A3A}.vs-dark .context-view.monaco-menu-container{box-shadow:0 2px 8px #000;color:#BBB;background-color:#2D2F31}.hc-black .context-view.monaco-menu-container{border:2px solid #6FC3DF;color:#fff;background-color:#0C141F;box-shadow:none}.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused{background:0 0;border:1px dotted #DF740C}.hc-black .monaco-menu .monaco-action-bar.vertical .action-item:hover:not(.disabled){background:0 0;border:1px dashed #DF740C}.progress-container{width:100%;height:5px}.progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none;background-color:#0E70C0}.progress-container.active .progress-bit{display:inherit}.progress-container.discrete .progress-bit{left:0;transition:width .1s linear;-webkit-transition:width .1s linear;-o-transition:width .1s linear;-moz-transition:width .1s linear;-ms-transition:width .1s linear}.progress-container.discrete.done .progress-bit{width:100%}.progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;animation-timing-function:linear;-ms-animation-name:progress;-ms-animation-duration:4s;-ms-animation-iteration-count:infinite;-ms-animation-timing-function:linear;-webkit-animation-name:progress;-webkit-animation-duration:4s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-moz-animation-name:progress;-moz-animation-duration:4s;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear}.progress-container.infinite.done .progress-bit{transition:opacity .2s linear;-webkit-transition:opacity .2s linear;-o-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-ms-transition:opacity .2s linear}@keyframes progress{from{left:0;width:2%}50%{left:50%;width:5%}to{left:98%;width:2%}}@-ms-keyframes progress{from,to{width:2%}from{left:0}50%{left:50%;width:5%}to{left:98%}}@-webkit-keyframes progress{from{left:0;width:2%}50%{left:50%;width:5%}to{left:98%;width:2%}}@-moz-keyframes progress{from{left:0;width:2%}50%{left:50%;width:5%}to{left:98%;width:2%}}.monaco-sash{position:absolute;z-index:100;touch-action:none}.monaco-sash.vertical{cursor:ew-resize;height:100%;top:0}.monaco-sash.horizontal{cursor:ns-resize;width:100%;left:0}.monaco-sash.disabled{cursor:default}.monaco-scrollable-element>.scrollbar>.up-arrow{background:url(../base/browser/ui/scrollbar/impl/arrow-up.png);cursor:pointer}.monaco-scrollable-element>.scrollbar>.down-arrow{background:url(../base/browser/ui/scrollbar/impl/arrow-down.png);cursor:pointer}.monaco-scrollable-element>.scrollbar>.left-arrow{background:url(../base/browser/ui/scrollbar/impl/arrow-left.png);cursor:pointer}.monaco-scrollable-element>.scrollbar>.right-arrow{background:url(../base/browser/ui/scrollbar/impl/arrow-right.png);cursor:pointer}.monaco-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-ms-transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0}.monaco-scrollable-element>.invisible.fade{-webkit-transition:opacity .8s linear;-o-transition:opacity .8s linear;-moz-transition:opacity .8s linear;-ms-transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:#DDD 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:#DDD 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:#DDD 6px 6px 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:rgba(100,100,100,.4)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:rgba(100,100,100,.7)}.monaco-scrollable-element>.scrollbar>.slider.active{background:rgba(0,0,0,.6)}.hc-black .monaco-scrollable-element>.scrollbar>.slider{background:0 0;border:20px solid #6FC3DF;opacity:.3}.hc-black .monaco-scrollable-element>.scrollbar>.slider:hover{opacity:.35}.hc-black .monaco-scrollable-element>.scrollbar>.slider.active{opacity:.4}.quick-open-widget{position:absolute;width:600px;z-index:2050;padding-bottom:6px;left:50%;margin-left:-300px;background-color:#F6F6F6;box-shadow:0 2px 8px #A8A8A8}.quick-open-widget .progress-container{position:absolute;left:0;top:38px;z-index:1;height:2px}.quick-open-widget .progress-container .progress-bit{height:2px}.quick-open-widget .quick-open-input{width:588px;border:none;margin:6px;outline:0}.quick-open-widget .quick-open-input .monaco-inputbox{width:100%}.quick-open-widget .quick-open-tree{line-height:1.8em;height:0}.quick-open-widget .quick-open-tree.transition{-webkit-transition:height .1s ease-in;-ms-transition:height .1s ease-in;-moz-transition:height .1s ease-in;-khtml-transition:height .1s ease-in;-o-transition:height .1s ease-in;transition:height .1s ease-in}.quick-open-widget .quick-open-tree .quick-open-entry{overflow:hidden;text-overflow:ellipsis}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{overflow:hidden;width:16px;height:16px;margin-right:4px;display:inline-block;vertical-align:middle}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-help-entry-label{float:left;min-width:16px;text-align:center}.quick-open-widget .quick-open-tree .quick-open-entry .monaco-highlighted-label span{opacity:1}.quick-open-widget .quick-open-tree .quick-open-entry-meta{opacity:.7;margin-left:.5em}.quick-open-widget .quick-open-tree .quick-open-entry-description{opacity:.7;margin-left:.5em;font-size:.9em}.quick-open-widget .quick-open-tree .results-group-separator{border-top-width:1px;border-top-style:solid;box-sizing:border-box;margin-left:-11px;padding-left:11px}.quick-open-widget.no-shadow{box-shadow:none;border:1px solid #E6E6E6}.vs-dark .quick-open-widget{background-color:#252526;box-shadow:0 2px 8px #000}.vs-dark .quick-open-widget.no-shadow{box-shadow:none;border:1px solid #000}.vs-dark .quick-open-widget input{background-color:#3C3C3C;color:inherit}.hc-black .quick-open-widget input{background-color:#000;color:inherit}.monaco .quick-open-widget{background-color:#F9F9F9}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-help-entry-label{color:#007ACC}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-help-entry-label{color:#0097FB}.quick-open-widget .quick-open-tree .results-group{float:right;opacity:.6;margin-right:18px;color:#007ACC}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content>*,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content>*{float:left}.vs-dark .quick-open-widget .quick-open-tree .results-group{color:#0097FB}.quick-open-widget .quick-open-tree .results-group-separator{border-top-color:#CCCEDB}.vs-dark .quick-open-widget .quick-open-tree .results-group-separator{border-top-color:#3F3F46}.quick-open-widget .quick-open-tree .monaco-highlighted-label .highlight{color:#007ACC;font-weight:700}.vs-dark .quick-open-widget .quick-open-tree .monaco-highlighted-label .highlight{color:#0097FB}.hc-black .quick-open-widget{border:2px solid #6FC3DF;background-color:#0C141F;color:#fff;box-shadow:none}.hc-black .quick-open-widget .monaco-tree .monaco-tree-row.drop-target>.content.actions>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree .monaco-tree-row.focused:not(.highlighted)>.content.actions>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree .monaco-tree-row.selected:not(.highlighted)>.content.actions>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)>.content.actions>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree .monaco-tree-row>.content.actions.more>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree.focused .monaco-tree-row.focused:not(.highlighted)>.content.actions>.primary-action-bar,.hc-black .quick-open-widget .monaco-tree.focused .monaco-tree-row.selected:not(.highlighted)>.content.actions>.primary-action-bar{background-color:#0C141F}.monaco-tree{height:100%;width:100%;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none;position:relative}.monaco-tree:focus{outline:0}.monaco-tree>.monaco-scrollable-element{height:100%}.monaco-tree>.monaco-scrollable-element>.monaco-tree-wrapper{height:100%;width:100%;position:relative}.monaco-tree .monaco-tree-rows{position:absolute;width:100%}.monaco-tree .monaco-tree-rows>.monaco-tree-row{-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;cursor:pointer;overflow:hidden;width:100%;touch-action:none}.monaco-tree .monaco-tree-rows>.monaco-tree-row>.content{position:relative;-moz-transition:opacity .15s ease-out;-webkit-transition:opacity .15s ease-out;-ms-transition:opacity .15s ease-out;-o-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.monaco-tree-drag-image{display:inline-block;padding:1px 7px;color:#fff;background-color:#4A4A4A;border-radius:10px;font-size:12px;position:absolute;top:0;left:0}.monaco-tree .monaco-tree-rows>.monaco-tree-row.scrolling{display:none}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:after,.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{position:absolute;display:block;content:"";width:0;height:0;border-style:solid}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{border-width:4px 4px 4px 5px;top:8px;left:-10px}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:after{border-width:2px;top:10px;left:-9px}.monaco-tree.no-row-padding .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{left:10px}.monaco-tree.no-row-padding .monaco-tree-rows>.monaco-tree-row.has-children>.content:after{left:11px}.monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:before{border-width:6px 6px 0 5px;top:9px;left:-16px}.monaco-tree.no-row-padding .monaco-tree-rows>.monaco-tree-row.expanded>.content:before{left:4px}.monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:after{border-width:0}.monaco-tree .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before,.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before{border-left-width:5px}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background:url(../base/parts/tree/browser/loading.svg) 50% 50% no-repeat;width:10px;height:10px;border:none;top:7px;left:-12px}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:after{background:0 0}.monaco-tree.highlighted .monaco-tree-rows>.monaco-tree-row:not(.highlighted){opacity:.3}.monaco-tree .monaco-tree-rows>.monaco-tree-row.fake{position:absolute;visibility:hidden;top:-1000px;left:-1000px;z-index:-100}.monaco-tree.bare .monaco-tree-row,.monaco-tree.bare .monaco-tree-wrapper.drop-target{color:inherit!important;background-color:inherit!important}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.focused:not(.highlighted){background-color:#DCEBFC}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){background-color:#4FA7FF;color:#fff}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.focused.selected:not(.highlighted){background-color:#39F;color:#fff}.monaco-tree .monaco-tree-rows>.monaco-tree-row.focused:not(.highlighted){background-color:#eaeaea}.monaco-tree .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){background-color:#CCCEDB}.monaco-tree .monaco-tree-rows>.monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused){background-color:#F0F0F0}.monaco-tree .monaco-tree-rows>.monaco-tree-row.drop-target,.monaco-tree .monaco-tree-wrapper.drop-target{background-color:#DDECFF!important;color:inherit!important}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{border-color:transparent transparent transparent #A6A6A6}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:after{border-color:transparent transparent transparent #F6F6F6}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:before{border-left-color:#fff}.monaco-tree .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:before{border-left-color:#646465}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children:hover:not(.selected):not(.focused)>.content:after{border-left-color:#f0f0f0}.monaco-tree .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:after{border-left-color:#CCCEDB}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:after{border-left-color:#39F}.monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:before{border-color:transparent #646465 transparent transparent}.monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:after{border-color:transparent}.monaco-tree .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before{border-left-color:transparent}.monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before{border-right-color:#fff;border-left-color:transparent}.vs-dark .monaco-tree.focused .monaco-tree-row.focused:not(.highlighted){background-color:#073655}.vs-dark .monaco-tree.focused .monaco-tree-row.selected:not(.highlighted){background-color:#0E639C;color:#fff}.vs-dark .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.focused.selected:not(.highlighted){background-color:#094771;color:#fff}.vs-dark .monaco-tree .monaco-tree-row.focused:not(.highlighted){background-color:#2f3334}.vs-dark .monaco-tree .monaco-tree-row.selected:not(.highlighted){background-color:#3F3F46}.vs-dark .monaco-tree .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused){background-color:#2A2D2E}.vs-dark .monaco-tree .monaco-tree-row.drop-target,.vs-dark .monaco-tree-wrapper.drop-target{background-color:#383B3D!important;color:inherit!important}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{border-left-color:#D4D4D4}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:after{border-left-color:#252526}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:before{border-left-color:transparent;border-right-color:#D4D4D4}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children:hover:not(.selected):not(.focused)>.content:after{border-left-color:#2A2D2E}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url(../base/parts/tree/browser/loading-dark.svg)}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row{background:0 0!important}.hc-black .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.focused:not(.highlighted){border:1px dotted #DF740C}.hc-black .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){border:1px solid #DF740C}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.focused:not(.highlighted){border:1px dotted #DF740C}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){border:1px solid #DF740C}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused){border:1px dashed #DF740C}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.drop-target,.hc-black .monaco-tree .monaco-tree-wrapper.drop-target{background:0 0!important;border:1px dashed #DF740C}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:before{border:none;content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRsMS41ODYgMS41ODYtMS41ODYgMS41ODZ2LTMuMTcyeiIvPjwvc3ZnPg==);top:2px;left:-16px}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children>.content:after{border:none}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.expanded>.content:before{border:none;content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExIDEwLjA3aC01LjY1Nmw1LjY1Ni01LjY1NnY1LjY1NnoiLz48L3N2Zz4=);top:3px}.monaco-editor .contentWidgets{position:absolute;top:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0;background:#E6E7E8;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-workbench-container .monaco-editor .glyph-margin{background:#fff}.monaco-editor .margin-view-overlays .cgmr{position:absolute}.monaco-editor .margin-view-overlays .line-numbers{position:absolute;text-align:right;cursor:url(browser/viewParts/lineNumbers/flipped-cursor.svg) 12.6 0,default}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:#DDD 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;width:2px;cursor:text}.monaco-editor .cursors-layer>.cursor.secondary{width:1px;opacity:.6}.monaco-editor,.monaco-editor .inputarea{font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;color:#333;background:#fffffe}.monaco-editor.mac{font-size:12px;line-height:18px}.monaco-editor-background{background:#fffffe}.monaco-editor .cursor{background:#000}.monaco-editor .current-line{display:block;position:absolute;left:0;top:0;background:#eaeaf2;-moz-box-sizing:border-box;box-sizing:border-box}.monaco-editor .typeInfo{font-size:12px}.monaco-editor .typeInfo .documentation{font-family:"Segoe UI",SFUIText-Regular,HelveticaNeue,sans-serif}.monaco-editor .line-numbers{color:#2B91AF}.monaco-editor .lineHighlight{background-color:rgba(253,255,0,.2)}.monaco-editor .view-overlays.focused .selected-text{background:#ADD6FF}.monaco-editor .view-overlays .selected-text{background:#E5EBF1}.monaco-diff-editor .diffOverview{background-color:#f9f7f7;z-index:9}.monaco-editor .wordHighlight{background-color:rgba(87,87,87,.25)}.monaco-editor .wordHighlightStrong{background-color:rgba(14,99,156,.25)}.monaco-editor .selectionHighlight{background-color:rgba(173,214,255,.3)}.monaco-editor .valueSetReplacement{outline:#888 solid 2px}.monaco-editor .focus-mode{background-color:#FFF;opacity:.333}.monaco-diff-editor .diffViewport{box-shadow:inset 0 0 1px 0 #B9B9B9;background:rgba(148,148,148,.19)}.monaco-diff-editor.vs-dark{background:#1E1E1E}.monaco-scrollable-element.modified-in-monaco-diff-editor .scrollbar{background:rgba(0,0,0,0)}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:rgba(171,171,171,.4)}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px #DDD}.monaco-diff-editor.side-by-side.vs-dark .editor.modified{box-shadow:-6px 0 5px -5px #000}.monaco-editor .bracket-match,.monaco-editor .linked-editing{box-shadow:inset 0 0 0 1px #B9B9B9}.monaco-editor .char-delete,.monaco-editor .line-delete{background:rgba(255,0,0,.2)}.monaco-editor .char-insert,.monaco-editor .line-insert{background:rgba(155,185,85,.2)}.monaco-editor .diagonal-fill{background:url(browser/widget/media/diagonal-fill.png)}.monaco-editor.vs-dark .diagonal-fill{opacity:.2}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-diff-editor.hc-black{background:#000}::-ms-clear{display:none}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays,.monaco-editor .view-overlays>.static{position:absolute;top:0}.monaco-editor .inputarea{width:1px;height:1px;min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:0;resize:none;border:none;overflow:hidden}.monaco-editor.ff .inputarea,.monaco-editor.ie .inputarea{width:0;height:0}.monaco-editor.ff.ime-input .inputarea、,.monaco-editor.ie.ime-input .inputarea,.monaco-editor.ime-input .inputarea{width:500px;z-index:10;background:rgba(255,255,255,.85)}.monaco-editor .accessibility-output{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden}.monaco-editor .lines-content{position:absolute;top:0}.monaco-editor .lines-content,.monaco-editor .view-line,.monaco-editor .view-line>span,.monaco-editor .view-line>span>span,.monaco-editor .view-lines{-webkit-user-select:text;-ms-user-select:text;-khtml-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text}.monaco-editor.ie .lines-content,.monaco-editor.ie .view-line,.monaco-editor.ie .view-line>span,.monaco-editor.ie .view-line>span>span,.monaco-editor.ie .view-lines{-ms-user-select:none;user-select:none}.monaco-editor .view-lines{cursor:text;white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.margin-view-overlays>.view-line{width:100%}.monaco-editor .view-layer-line{position:relative;overflow:visible;width:100%}.monaco-editor .redsquiggly{}.monaco-editor .greensquiggly{background:url(browser/widget/media/green-squiggly.svg) bottom left repeat-x}.monaco-editor .bracket-match{background-color:rgba(0,100,0,.1)}.monaco-editor .editor-widget input{color:inherit}.monaco-editor.vs .token.terminal{color:#e00000}.monaco-editor.vs .token.terminal.code1{font-weight:700}.monaco-editor.vs .token.variable{color:#018}.monaco-editor.vs .token.variable.predefined{color:#4864AA}.monaco-editor.vs .token.string.escape{color:#A31515}.monaco-editor.vs .token.comment{color:green}.monaco-editor.vs .token.comment.shebang{color:#929292}.monaco-editor.vs .token.literal{color:#000}.monaco-editor.vs .token.literal.string{color:#A31515}.monaco-editor.vs .token.literal.hex{color:#e07000}.monaco-editor.vs .token.number{color:#09885A}.monaco-editor.vs .token.number.hex{color:#3030c0}.monaco-editor.vs .token.number.octal{color:#204070}.monaco-editor.vs .token.number.binary{color:#e07070}.monaco-editor.vs .token.regexp{color:maroon}.monaco-editor.vs .token.delimiter{color:#000}.monaco-editor.vs .token.tag{color:maroon}.monaco-editor.vs .token.metatag{color:#e00000}.monaco-editor.vs .token.annotation{color:gray}.monaco-editor.vs .token.key{color:#863B00}.monaco-editor.vs .token.attribute.name{color:red}.monaco-editor.vs .token.attribute.value{color:#0451A5}.monaco-editor.vs .token.info-token{color:#316bcd}.monaco-editor.vs .token.warn-token{color:#cd9731}.monaco-editor.vs .token.error-token{color:#cd3131}.monaco-editor.vs .token.debug-token{color:purple}.monaco-editor.vs .token.keyword.flow{color:#AF00DB}.monaco-editor.vs .token.metatag.php{font-weight:700}.monaco-editor.vs .token.predefined.ruby{color:#00F}.monaco-editor.vs .token.strong{font-weight:700}.monaco-editor.vs .token.header{color:navy}.monaco-editor.vs .token.string.key{color:#A31515}.monaco-editor.vs .token.string.value,.monaco-editor.vs .token.string.yaml{color:#0451A5}.monaco-editor.vs .token.type{color:teal}.monaco-editor.vs .token.identifier.method{color:#e07000}.monaco-editor.vs .token.string.sql{color:red}.monaco-editor.vs .token.predefined.sql{color:#F0F}.monaco-editor.vs .token.operator.sql{color:#789}.monaco-editor.vs .token.delimiter.html{color:#383838}.monaco-editor.vs .token.metatag.content.html{color:red}.monaco-editor.vs .token.metatag.html{color:gray}.monaco-editor.vs .token.tag.html{color:maroon}.monaco-editor.vs .token.attribute.name.html{color:red}.monaco-editor.vs .token.attribute.value.html,.monaco-editor.vs .token.delimiter.xml,.monaco-editor.vs .token.string.html{color:#00f}.monaco-editor.vs .token.metatag.content.xml{color:red}.monaco-editor.vs .token.metatag.xml{color:gray}.monaco-editor.vs .token.tag.xml{color:maroon}.monaco-editor.vs .token.attribute.name.xml{color:red}.monaco-editor.vs .token.attribute.value.xml{color:#00f}.monaco-editor.vs .token.entity.ts{color:#000}.monaco-editor.vs .token.vs{color:#006400}.monaco-editor.vs .token.attribute.name.vs,.monaco-editor.vs .token.comment.vs,.monaco-editor.vs .token.tag.vs{color:#aeb9ae}.monaco-editor.vs .token.attribute.value.vs{color:#2c51cc}.monaco-editor.vs .token.delimiter.vs{color:#708870}.monaco-editor.vs .token.tag.jade{color:maroon}.monaco-editor.vs .token.tag.class.jade,.monaco-editor.vs .token.tag.id.jade{color:#4F76AC}.monaco-editor.vs .token.interpolation.delimiter.jade,.monaco-editor.vs .token.interpolation.jade{color:#ff00ff}.monaco-editor.vs-dark .token.terminal{color:#BD5050}.monaco-editor.vs-dark .token.terminal.code1{font-weight:700}.monaco-editor.vs-dark .token.variable{color:#74B0DF}.monaco-editor.vs-dark .token.variable.predefined{color:#4864AA}.monaco-editor.vs-dark .token.string.escape{color:#CE9178}.monaco-editor.vs-dark .token.comment,.monaco-editor.vs-dark .token.comment.shebang{color:#929292}.monaco-editor.vs-dark .token.comment.doc{color:#608B4E}.monaco-editor.vs-dark .token.literal{color:#e00000}.monaco-editor.vs-dark .token.literal.hex{color:#e07000}.monaco-editor.vs-dark .token.number{color:#B5CEA8}.monaco-editor.vs-dark .token.number.hex{color:#5BB498}.monaco-editor.vs-dark .token.number.binary{color:#3030c0}.monaco-editor.vs-dark .token.number.octal{color:#204070}.monaco-editor.vs-dark .token.regexp{color:#B46695}.monaco-editor.vs-dark .token.delimiter{color:#DCDCDC}.monaco-editor.vs-dark .token.tag{color:#D7BA7D}.monaco-editor.vs-dark .token.metatag{color:#DD6A6F}.monaco-editor.vs-dark .token.annotation{color:#c66}.monaco-editor.vs-dark .token.attribute.name,.monaco-editor.vs-dark .token.key{color:#9CDCFE}.monaco-editor.vs-dark .token.attribute.value{color:#CE9178}.monaco-editor.vs-dark .token.info-token{color:#6796e6}.monaco-editor.vs-dark .token.warn-token{color:#cd9731}.monaco-editor.vs-dark .token.error-token{color:#f44747}.monaco-editor.vs-dark .token.debug-token{color:#b267e6}.monaco-editor.vs-dark .token.keyword.flow{color:#C586C0}.monaco-editor.vs-dark .token.keyword.datatype{color:#569CD6}.monaco-editor.vs-dark .token.metatag.php{font-weight:700}.monaco-editor.vs-dark .token.predefined.ruby{color:#4E94CE}.monaco-editor.vs-dark .token.strong{font-weight:700}.monaco-editor.vs-dark .token.header{color:navy}.monaco-editor.vs-dark .token.string.key{color:#9CDCFE}.monaco-editor.vs-dark .token.string.value,.monaco-editor.vs-dark .token.string.yaml{color:#CE9178}.monaco-editor.vs-dark .token.type{color:#3DC9B0}.monaco-editor.vs-dark .token.identifier.method{color:#e07000}.monaco-editor.vs-dark .token.string.sql{color:red}.monaco-editor.vs-dark .token.predefined.sql{color:#F0F}.monaco-editor.vs-dark .token.operator.sql{color:#789}.monaco-editor.vs-dark .token.tag.html{color:#569CD6}.monaco-editor.vs-dark .token.delimiter.html{color:grey}.monaco-editor.vs-dark .token.metatag.content.html{color:#9CDCFE}.monaco-editor.vs-dark .token.metatag.html{color:#569CD6}.monaco-editor.vs-dark .token.string.html{color:#CE9178}.monaco-editor.vs-dark .token.tag.xml{color:#569CD6}.monaco-editor.vs-dark .token.delimiter.xml{color:grey}.monaco-editor.vs-dark .token.metatag.content.xml{color:#9CDCFE}.monaco-editor.vs-dark .token.metatag.xml{color:#569CD6}.monaco-editor.vs-dark .token.attribute.name.css{color:#9CDCFE}.monaco-editor.vs-dark .token.attribute.value.css{color:#C8C8C8}.monaco-editor.vs-dark .token.delimiter.css{color:#DCDCDC}.monaco-editor.vs-dark .token.vs{color:#608B4E}.monaco-editor.vs-dark .token.tag.vs{color:#949494}.monaco-editor.vs-dark .token.delimiter.vs{color:#585858}.monaco-editor.vs-dark .token.attribute.name.vs{color:#949494}.monaco-editor.vs-dark .token.attribute.value.vs{color:#C4C4C4}.monaco-editor.vs-dark .token.tag.jade{color:#569CD6}.monaco-editor.vs-dark .token.tag.class.jade,.monaco-editor.vs-dark .token.tag.id.jade{color:#4F76AC}.monaco-editor.vs-dark .token.interpolation.delimiter.jade,.monaco-editor.vs-dark .token.interpolation.jade{color:#ff00ff}.monaco-editor.hc-white .token{color:#000}.monaco-editor.hc-white .token.whitespace{color:#00F!important}.monaco-editor.hc-white .token.terminal{color:#e00000}.monaco-editor.hc-white .token.terminal.code1{font-weight:700}.monaco-editor.hc-white .token.variable{color:#018}.monaco-editor.hc-white .token.variable.predefined{color:#4864AA}.monaco-editor.hc-white .token.constant{color:#d00}.monaco-editor.hc-white .token.string,.monaco-editor.hc-white .token.string.escape{color:#A31515}.monaco-editor.hc-white .token.comment{color:green}.monaco-editor.hc-white .token.comment.shebang{color:#929292}.monaco-editor.hc-white .token.literal{color:#e00000}.monaco-editor.hc-white .token.literal.hex{color:#e07000}.monaco-editor.hc-white .token.number{color:#000}.monaco-editor.hc-white .token.number.hex{color:#3030c0}.monaco-editor.hc-white .token.number.octal{color:#204070}.monaco-editor.hc-white .token.number.binary{color:#e07070}.monaco-editor.hc-white .token.regexp{color:maroon}.monaco-editor.hc-white .token.delimiter{color:#00F}.monaco-editor.hc-white .token.tag{color:maroon}.monaco-editor.hc-white .token.metatag{color:#e00000}.monaco-editor.hc-white .token.annotation{color:#c66}.monaco-editor.hc-white .token.key{color:#863B00}.monaco-editor.hc-white .token.attribute.name{color:red}.monaco-editor.hc-white .token.attribute.value{color:#00F}.monaco-editor.hc-white .token.info-token{color:#6796e6}.monaco-editor.hc-white .token.warn-token{color:green}.monaco-editor.hc-white .token.error-token{color:red}.monaco-editor.hc-white .token.debug-token{color:#b267e6}.monaco-editor.hc-white .token.keyword{color:#00F}.monaco-editor.hc-white .token.keyword.flow{color:#AF00DB}.monaco-editor.hc-white .token.metatag.php{font-weight:700}.monaco-editor.hc-white .token.predefined.ruby{color:#00F}.monaco-editor.hc-white .token.strong{font-weight:700}.monaco-editor.hc-white .token.header{color:navy}.monaco-editor.hc-white .token.string.key{color:#A31515}.monaco-editor.hc-white .token.string.value,.monaco-editor.hc-white .token.string.yaml{color:#0451A5}.monaco-editor.hc-white .token.type{color:teal}.monaco-editor.hc-white .token.identifier.method{color:#e07000}.monaco-editor.hc-white .token.string.sql{color:red}.monaco-editor.hc-white .token.predefined.sql{color:#F0F}.monaco-editor.hc-white .token.operator.sql{color:#789}.monaco-editor.hc-white .token.tag.html{color:maroon}.monaco-editor.hc-white .token.delimiter.html{color:#00F}.monaco-editor.hc-white .token.metatag.content.html{color:red}.monaco-editor.hc-white .token.metatag.html{color:#569CD6}.monaco-editor.hc-white .token.string.html{color:#00f}.monaco-editor.hc-white .token.tag.xml{color:maroon}.monaco-editor.hc-white .token.delimiter.xml{color:#00F}.monaco-editor.hc-white .token.metatag.content.xml{color:red}.monaco-editor.hc-white .token.metatag.xml{color:#569CD6}.monaco-editor.hc-white .token.attribute.name.css{color:red}.monaco-editor.hc-white .token.attribute.value.css{color:#00F}.monaco-editor.hc-white .token.tag.css{color:maroon}.monaco-editor.hc-white .token.delimiter.css,.monaco-editor.hc-white .token.vs{color:#000}.monaco-editor.hc-black .token.whitespace{color:#FF0!important}.monaco-editor.hc-black .token.terminal{color:#569CD6}.monaco-editor.hc-black .token.terminal.code1{font-weight:700}.monaco-editor.hc-black .token.variable,.monaco-editor.hc-black .token.variable.predefined{color:#1AEBFF}.monaco-editor.hc-black .token.string,.monaco-editor.hc-black .token.string.escape{color:silver}.monaco-editor.hc-black .token.comment.shebang{color:#929292}.monaco-editor.hc-black .token.comment.doc{color:#608B4E}.monaco-editor.hc-black .token.literal,.monaco-editor.hc-black .token.literal.hex,.monaco-editor.hc-black .token.number,.monaco-editor.hc-black .token.number.binary,.monaco-editor.hc-black .token.number.hex,.monaco-editor.hc-black .token.number.octal{color:#FFF}.monaco-editor.hc-black .token.regexp{color:silver}.monaco-editor.hc-black .token.delimiter{color:#FF0}.monaco-editor.hc-black .token.tag{color:orange}.monaco-editor.hc-black .token.annotation,.monaco-editor.hc-black .token.metatag{color:#569CD6}.monaco-editor.hc-black .token.key{color:#9CDCFE}.monaco-editor.hc-black .token.attribute.name{color:#569CD6}.monaco-editor.hc-black .token.attribute.value{color:#3FF23F}.monaco-editor.hc-black .token.info-token{color:#6796e6}.monaco-editor.hc-black .token.warn-token{color:green}.monaco-editor.hc-black .token.error-token{color:red}.monaco-editor.hc-black .token.debug-token{color:#b267e6}.monaco-editor.hc-black .token.keyword.flow{color:#C586C0}.monaco-editor.hc-black .token.keyword.datatype{color:#569CD6}.monaco-editor.hc-black .token.metatag.php{font-weight:700}.monaco-editor.hc-black .token.predefined.ruby{color:#4E94CE}.monaco-editor.hc-black .token.strong{font-weight:700}.monaco-editor.hc-black .token.header{color:navy}.monaco-editor.hc-black .token.string.key{color:#9CDCFE}.monaco-editor.hc-black .token.string.value,.monaco-editor.hc-black .token.string.yaml{color:#CE9178}.monaco-editor.hc-black .token.type{color:#3DC9B0}.monaco-editor.hc-black .token.identifier.method{color:#e07000}.monaco-editor.hc-black .token.string.sql{color:red}.monaco-editor.hc-black .token.predefined.sql{color:#F0F}.monaco-editor.hc-black .token.operator.sql{color:#789}.monaco-editor.hc-black .token.tag.html{color:#1AEBFF}.monaco-editor.hc-black .token.delimiter.html{color:#FF0}.monaco-editor.hc-black .token.metatag.content.html{color:#1AEBFF}.monaco-editor.hc-black .token.metatag.html{color:#569CD6}.monaco-editor.hc-black .token.string.html{color:#CE9178}.monaco-editor.hc-black .token.tag.xml{color:#1AEBFF}.monaco-editor.hc-black .token.delimiter.xml{color:#FF0}.monaco-editor.hc-black .token.metatag.content.xml{color:#1AEBFF}.monaco-editor.hc-black .token.attribute.name.css,.monaco-editor.hc-black .token.metatag.xml{color:#569CD6}.monaco-editor.hc-black .token.attribute.value.css{color:#3FF23F}.monaco-editor.hc-black .token.delimiter.css{color:#FF0}.monaco-editor.hc-black .token.vs{color:#FFF}.monaco-editor.hc-black .token.tag.vs{color:#949494}.monaco-editor.hc-black .token.delimiter.vs{color:#585858}.monaco-editor.hc-black .token.attribute.name.vs{color:#949494}.monaco-editor.hc-black .token.attribute.value.vs{color:#C4C4C4}.monaco-editor.hc-black .token.tag.jade{color:#569CD6}.monaco-editor.hc-black .token.tag.class.jade,.monaco-editor.hc-black .token.tag.id.jade{color:#4F76AC}.monaco-editor.hc-black .token.interpolation.delimiter.jade,.monaco-editor.hc-black .token.interpolation.jade{color:#ff00ff}.monaco-editor.vs .token{color:#000}.monaco-editor.vs .token.whitespace{color:rgba(51,51,51,.2)!important}.monaco-editor.vs .token.builtin.function{color:#00F}.monaco-editor.vs .token.comment,.monaco-editor.vs .token.comment.block,.monaco-editor.vs .token.comment.block.documentation,.monaco-editor.vs .token.comment.line{color:green}.monaco-editor.vs .token.constant{color:#d00}.monaco-editor.vs .token.constant.language{color:#00F}.monaco-editor.vs .token.constant.numeric{color:#09885A}.monaco-editor.vs .token.constant.numeric.hex{color:#3030c0}.monaco-editor.vs .token.constant.numeric.octal{color:#204070}.monaco-editor.vs .token.constant.numeric.binary{color:#e07070}.monaco-editor.vs .token.constant.regexp{color:#811f3f}.monaco-editor.vs .token.entity{color:#A31515}.monaco-editor.vs .token.entity.name{color:maroon}.monaco-editor.vs .token.entity.name.function{color:#444}.monaco-editor.vs .token.entity.name.punctuation{color:#000}.monaco-editor.vs .token.annotation.storage.type,.monaco-editor.vs .token.entity.name.class,.monaco-editor.vs .token.heritage.storage.type{color:#2B91AF}.monaco-editor.vs .token.invalid{color:#cd3131}.monaco-editor.vs .token.markup.bold{font-weight:700}.monaco-editor.vs .token.markup.heading{color:navy}.monaco-editor.vs .token.meta{color:#000}.monaco-editor.vs .token.entity.meta.name.selector,.monaco-editor.vs .token.entity.meta.other.selector,.monaco-editor.vs .token.entity.other.attribute-name{color:maroon}.monaco-editor.vs .token.entity.other.attribute-name.html{color:red}.monaco-editor.vs .token.property-name{color:#8b0000}.monaco-editor.vs .token.property-value{color:#0451A5}.monaco-editor.vs .token.storage{color:gray}; .monaco-editor.vs .token.storage.content{color:red}.monaco-editor.vs .token.storage.modifier,; .monaco-editor.vs .token.storage.type{color:#00F}.monaco-editor.vs .token.cast.storage.type,.monaco-editor.vs .token.new.storage.type{color:#2B91AF}.monaco-editor.vs .token.var.storage.type{color:#00F}.monaco-editor.vs .token.var.annotation.storage.type{color:#2B91AF}.monaco-editor.vs .token.string{color:#A31515}.monaco-editor.vs .token.string.quoted.variable{color:#018}.monaco-editor.vs .token.string.regexp{color:#811f3f}.monaco-editor.vs .token.support{color:maroon}.monaco-editor.vs .token.support.type{color:red}.monaco-editor.vs .token.support.type.json{color:#A31515}.monaco-editor.vs .token.variable.parameter{color:#018}.monaco-editor.vs .token.variable.language{color:#4864AA}.monaco-editor.vs .token.keyword{color:#00F}.monaco-editor.vs .token.keyword.control{color:#AF00DB}.monaco-editor.vs .token.keyword.operator{color:#666}.monaco-editor.vs .token.keyword.operator.new{color:#00F}.monaco-editor.vs .token.punctuation{color:#000}.monaco-editor.vs .token.punctuation.string{color:#A31515}.monaco-editor.vs .token.punctuation.string.quoted.variable{color:#018}.monaco-editor.vs .token.punctuation.string.regexp{color:#811f3f}.monaco-editor.vs-dark .token{color:#D4D4D4}.monaco-editor.vs-dark .token.whitespace{color:rgba(227,228,226,.16)!important}.monaco-editor.vs-dark .token.builtin.function{color:#569CD6}.monaco-editor.vs-dark .token.comment,.monaco-editor.vs-dark .token.comment.block,.monaco-editor.vs-dark .token.comment.block.documentation,.monaco-editor.vs-dark .token.comment.line{color:#608B4E}.monaco-editor.vs-dark .token.constant,.monaco-editor.vs-dark .token.constant.language{color:#569CD6}.monaco-editor.vs-dark .token.constant.numeric{color:#B5CEA8}.monaco-editor.vs-dark .token.constant.numeric.hex{color:#5BB498}.monaco-editor.vs-dark .token.constant.numeric.octal{color:#204070}.monaco-editor.vs-dark .token.constant.numeric.binary{color:#e07070}.monaco-editor.vs-dark .token.constant.regexp{color:#B46695}.monaco-editor.vs-dark .token.entity{color:#9CDCFE}.monaco-editor.vs-dark .token.entity.name{color:#569CD6}.monaco-editor.vs-dark .token.entity.name.function,.monaco-editor.vs-dark .token.entity.name.punctuation{color:#DCDCAA}.monaco-editor.vs-dark .token.entity.name.class{color:#4EC9B0}.monaco-editor.vs-dark .token.invalid{color:#f44747}.monaco-editor.vs-dark .token.markup.bold{font-weight:700}.monaco-editor.vs-dark .token.markup.heading{color:#6796e6}.monaco-editor.vs-dark .token.meta{color:#D4D4D4}.monaco-editor.vs-dark .token.entity.meta.name.selector,.monaco-editor.vs-dark .token.entity.meta.other.selector,.monaco-editor.vs-dark .token.entity.other.attribute-name{color:#569CD6}.monaco-editor.vs-dark .token.property-name,.monaco-editor.vs-dark .token.token.entity.other.attribute-name.html{color:#9CDCFE}.monaco-editor.vs-dark .token.property-value{color:#CE9178}.monaco-editor.vs-dark .token.storage{color:#569CD6}; .monaco-editor.vs-dark .token.storage.content{color:#9CDCFE}.monaco-editor.vs-dark .token.storage.modifier,; .monaco-editor.vs-dark .token.storage.type{color:#569CD6}.monaco-editor.vs-dark .token.annotation.storage.type,.monaco-editor.vs-dark .token.cast.storage.type,.monaco-editor.vs-dark .token.heritage.storage.type,.monaco-editor.vs-dark .token.new.storage.type{color:#4EC9B0}.monaco-editor.vs-dark .token.var.storage.type{color:#569CD6}.monaco-editor.vs-dark .token.var.annotation.storage.type{color:#4EC9B0}.monaco-editor.vs-dark .token.string{color:#CE9178}.monaco-editor.vs-dark .token.string.quoted.variable{color:#74B0DF}.monaco-editor.vs-dark .token.string.regexp{color:#D16969}.monaco-editor.vs-dark .token.support{color:#D7BA7D}.monaco-editor.vs-dark .token.variable.parameter{color:#9CDCFE}.monaco-editor.vs-dark .token.variable.language{color:#4864AA}.monaco-editor.vs-dark .token.keyword{color:#569CD6}.monaco-editor.vs-dark .token.keyword.control{color:#C586C0}.monaco-editor.vs-dark .token.keyword.operator{color:#909090}.monaco-editor.vs-dark .token.keyword.operator.new{color:#569CD6}.monaco-editor.vs-dark .token.punctuation{color:#DCDCDC}.monaco-editor.vs-dark .token.punctuation.string{color:#CE9178}.monaco-editor.vs-dark .token.punctuation.string.quoted.variable{color:#74B0DF}.monaco-editor.vs-dark .token.punctuation.string.regexp{color:#D16969}.monaco-editor.hc-black .token{color:#FFF}.monaco-editor.hc-black .token.whitespace{color:rgba(227,228,226,.16)!important}.monaco-editor.hc-black .token.builtin.function{color:#569CD6}.monaco-editor.hc-black .token.comment,.monaco-editor.hc-black .token.comment.block,.monaco-editor.hc-black .token.comment.block.documentation,.monaco-editor.hc-black .token.comment.line{color:#608B4E}.monaco-editor.hc-black .token.constant,.monaco-editor.hc-black .token.constant.language{color:#569CD6}.monaco-editor.hc-black .token.constant.numeric{color:#B5CEA8}.monaco-editor.hc-black .token.constant.numeric.hex{color:#5BB498}.monaco-editor.hc-black .token.constant.numeric.octal{color:#204070}.monaco-editor.hc-black .token.constant.numeric.binary{color:#e07070}.monaco-editor.hc-black .token.constant.regexp{color:#B46695}.monaco-editor.hc-black .token.entity{color:#9CDCFE}.monaco-editor.hc-black .token.entity.name{color:#569CD6}.monaco-editor.hc-black .token.entity.name.function,.monaco-editor.hc-black .token.entity.name.punctuation{color:#DCDCAA}.monaco-editor.hc-black .token.entity.name.class{color:#4EC9B0}.monaco-editor.hc-black .token.invalid{color:#f44747}.monaco-editor.hc-black .token.markup.bold{font-weight:700}.monaco-editor.hc-black .token.markup.heading{color:#6796e6}.monaco-editor.hc-black .token.meta{color:#D4D4D4}.monaco-editor.hc-black .token.entity.meta.name.selector,.monaco-editor.hc-black .token.entity.meta.other.selector,.monaco-editor.hc-black .token.entity.other.attribute-name{color:#569CD6}.monaco-editor.hc-black .token.entity.other.attribute-name.html,.monaco-editor.hc-black .token.property-name{color:#9CDCFE}.monaco-editor.hc-black .token.property-value{color:#CE9178}.monaco-editor.hc-black .token.storage{color:#569CD6}; .monaco-editor.hc-black .token.storage.content{color:#9CDCFE}.monaco-editor.hc-black .token.storage.modifier,; .monaco-editor.hc-black .token.storage.type{color:#569CD6}.monaco-editor.hc-black .token.annotation.storage.type,.monaco-editor.hc-black .token.cast.storage.type,.monaco-editor.hc-black .token.heritage.storage.type,.monaco-editor.hc-black .token.new.storage.type{color:#4EC9B0}.monaco-editor.hc-black .token.var.storage.type{color:#569CD6}.monaco-editor.hc-black .token.var.annotation.storage.type{color:#4EC9B0}.monaco-editor.hc-black .token.string{color:#CE9178}.monaco-editor.hc-black .token.string.quoted.variable{color:#74B0DF}.monaco-editor.hc-black .token.string.regexp{color:#D16969}.monaco-editor.hc-black .token.support{color:maroon}.monaco-editor.hc-black .token.variable.parameter,.monaco-editor.vs-dark .token.support.type{color:#9CDCFE}.monaco-editor.hc-black .token.variable.language{color:#4864AA}.monaco-editor.hc-black .token.keyword{color:#569CD6}.monaco-editor.hc-black .token.keyword.control{color:#C586C0}.monaco-editor.hc-black .token.keyword.operator{color:#909090}.monaco-editor.hc-black .token.keyword.operator.new{color:#569CD6}.monaco-editor.hc-black .token.punctuation{color:#DCDCDC}.monaco-editor.hc-black .token.punctuation.string{color:#CE9178}.monaco-editor.hc-black .token.punctuation.string.quoted.variable{color:#74B0DF}.monaco-editor.hc-black .token.punctuation.string.regexp{color:#D16969}.monaco-menu .monaco-action-bar.vertical .action-label.hover{background-color:#EEE}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;font-size:90%;color:#999;vertical-align:sub}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .detected-link,.monaco-editor .detected-link-active,.monaco-editor .goto-definition-link,.monaco-editor .marker-widget .quickfixentry{text-decoration:underline}.monaco-editor .codelens-decoration>a:hover{text-decoration:underline;cursor:pointer;color:#00f!important}.monaco-editor.vs-dark .codelens-decoration>a:hover{color:#4E94CE!important}.monaco-editor .codelens-decoration.invisible-cl{opacity:0}@keyframes fadein{0%{opacity:0;visibility:visible}100%{opacity:1}}@-moz-keyframes fadein{0%{opacity:0;visibility:visible}100%{opacity:1}}@-o-keyframes fadein{0%{opacity:0;visibility:visible}100%{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0;visibility:visible}100%{opacity:1}}.monaco-editor .codelens-decoration.fadein{-webkit-animation:fadein .5s linear;-moz-animation:fadein .5s linear;-o-animation:fadein .5s linear;animation:fadein .5s linear}.monaco-editor .inline-color-decoration:before{margin:.1em .2em 0;content:" ";display:inline-block;height:.8em;width:.8em;line-height:1em;border:.1em solid #000}.monaco-editor.vs-dark .inline-color-decoration:before{border-color:#eee}.monaco-checkbox .label{width:12px;height:12px;border:1px solid #000;background-color:transparent;display:inline-block}.monaco-checkbox .checkbox{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.monaco-checkbox .checkbox:checked+.label{background-color:#000}.monaco-checkbox .checkbox:focus+.label{outline:#e59700 auto 5px}.monaco-editor .reference-zone-widget .tree .monaco-tree,.monaco-editor .rename-box .rename-input,.monaco-editor .rename-box .rename-input:focus{outline:0}.monaco-editor .find-widget{position:absolute;z-index:10;top:-44px;height:34px;overflow:hidden;line-height:19px;-webkit-transition:top .2s linear;-o-transition:top .2s linear;-moz-transition:top .2s linear;-ms-transition:top .2s linear;transition:top .2s linear;padding:0 4px}.monaco-editor .find-widget.replaceToggled{top:-74px;height:64px}.monaco-editor .find-widget.replaceToggled>.replace-part{display:inline-block}.monaco-editor .find-widget.replaceToggled.visible,.monaco-editor .find-widget.visible{top:0}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput,.monaco-editor .find-widget .replace-input{background-color:#fff}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:#DDD}.monaco-editor .find-widget .replace-input .input{font-size:13px;font-family:"Segoe UI",SFUIText-Light,HelveticaNeue-Light,sans-serif,"Droid Sans Fallback"}.monaco-editor .parameter-hints-widget .documentation,.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content .docs{font-family:"Segoe UI",SFUIText-Regular,HelveticaNeue,sans-serif,"Droid Sans Fallback";overflow:hidden}.monaco-editor .find-widget.visible.noanimation{-webkit-transition:none;-o-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:4px 0 0 17px;font-size:12px}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{height:25px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.wrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.wrapper>.input{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget .monaco-findInput{display:inline-block;vertical-align:middle}.monaco-editor .find-widget.no-results .monaco-findInput .monaco-inputbox{border-color:#E51400}.monaco-editor .find-widget .button{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{display:none;position:absolute;top:0;left:0;width:18px;height:100%;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .find-widget.can-replace .button.toggle{display:inherit}.monaco-editor .find-widget .previous{background-image:url(contrib/find/browser/previous.svg)}.monaco-editor .find-widget .next{background-image:url(contrib/find/browser/next.svg)}.monaco-editor .find-widget .disabled{opacity:.3;cursor:default}.monaco-editor .find-widget .monaco-checkbox{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-left:3px}.monaco-editor .find-widget .monaco-checkbox .label{content:'';display:inline-block;background-repeat:no-repeat;background-position:0 0;background-image:url(contrib/find/browser/cancelSelectionFind.svg);width:20px;height:20px;border:none}.monaco-editor .find-widget .monaco-checkbox .checkbox:disabled+.label{opacity:.3}.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled)+.label{cursor:pointer}.monaco-editor .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:rgba(100,100,100,.2)}.monaco-editor .find-widget .close-fw{background-image:url(contrib/find/browser/close.svg)}.monaco-editor .find-widget .expand{background-image:url(contrib/find/browser/expando-expanded.svg)}.monaco-editor .find-widget .collapse{background-image:url(contrib/find/browser/expando-collapsed.svg)}.monaco-editor .find-widget .replace{background-image:url(contrib/find/browser/replace.svg)}.monaco-editor .find-widget .replace-all{background-image:url(contrib/find/browser/replace-all.svg)}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.replace-input{display:inline-block;vertical-align:middle}.monaco-editor .find-widget>.replace-part>.replace-input>.monaco-inputbox{width:100%}.monaco-editor .findMatch{background-color:rgba(234,92,0,.3);-webkit-animation-duration:0;-webkit-animation-name:inherit!important;-moz-animation-duration:0;-moz-animation-name:inherit!important;-ms-animation-duration:0;-ms-animation-name:inherit!important;animation-duration:0;animation-name:inherit!important}.monaco-editor .currentFindMatch{background-color:#A8AC94}.monaco-editor .findScope{background-color:rgba(239,239,242,.4)}.monaco-editor .find-widget{background-color:#EFEFF2;box-shadow:0 2px 8px #A8A8A8}.monaco-editor.vs-dark .find-widget{background-color:#2D2D30;box-shadow:0 2px 8px #000}.monaco-editor.vs-dark .find-widget .previous{background-image:url(contrib/find/browser/previous-inverse.svg)}.monaco-editor.vs-dark .find-widget .next{background-image:url(contrib/find/browser/next-inverse.svg)}.monaco-editor.vs-dark .find-widget .monaco-checkbox .label{background-image:url(contrib/find/browser/cancelSelectionFind-inverse.svg)}.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:#2f3334}.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:rgba(150,150,150,.3)}.monaco-editor.vs-dark .find-widget .close-fw{background-image:url(contrib/find/browser/close-dark.svg)}.monaco-editor.vs-dark .find-widget .replace{background-image:url(contrib/find/browser/replace-inverse.svg)}.monaco-editor.vs-dark .find-widget .replace-all{background-image:url(contrib/find/browser/replace-all-inverse.svg)}.monaco-editor.vs-dark .find-widget .expand{background-image:url(contrib/find/browser/expando-expanded-dark.svg)}.monaco-editor.vs-dark .find-widget .collapse{background-image:url(contrib/find/browser/expando-collapsed-dark.svg)}.monaco-editor.vs-dark .find-widget .button:not(.disabled):hover{background-color:#2f3334}.monaco-editor.vs-dark .currentFindMatch{background-color:#515C6A}.monaco-editor.vs-dark .findScope{background-color:rgba(58,61,65,.4)}.monaco-editor.vs-dark .find-widget .monaco-findInput,.monaco-editor.vs-dark .find-widget .replace-input{background-color:#3C3C3C}.monaco-editor.hc-black .find-widget{border:2px solid #6FC3DF;background:#0C141F;box-shadow:none}.monaco-editor.hc-black .find-widget .button,.monaco-editor.hc-black .find-widget .button:not(.disabled):hover{background:0 0}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor.hc-black .find-widget .previous:before{content:url(contrib/find/browser/previous-inverse.svg)}.monaco-editor.hc-black .find-widget .next:before{content:url(contrib/find/browser/next-inverse.svg)}.monaco-editor.hc-black .find-widget .replace:before{content:url(contrib/find/browser/replace-inverse.svg)}.monaco-editor.hc-black .find-widget .replace-all:before{content:url(contrib/find/browser/replace-all-inverse.svg)}.monaco-editor.hc-black .find-widget .monaco-checkbox .label{content:url(contrib/find/browser/cancelSelectionFind-inverse.svg);top:1px;left:2px}.monaco-editor.hc-black .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:rgba(150,150,150,.3)}.monaco-editor.hc-black .find-widget .close-fw:before{content:url(contrib/find/browser/close-dark.svg);top:1px;left:0}.monaco-editor.hc-black .find-widget .expand:before{content:url(contrib/find/browser/expando-expanded-dark.svg);top:38%;left:40%}.monaco-editor.hc-black .find-widget .collapse:before{content:url(contrib/find/browser/expando-collapsed-dark.svg);top:30%;left:40%}.monaco-editor.hc-black .findMatch{background:0 0;border:1px dotted #DF740C;-moz-box-sizing:border-box;box-sizing:border-box}.monaco-editor.hc-black .currentFindMatch{background:0 0;padding:1px;border:2px solid #DF740C;-moz-box-sizing:border-box;box-sizing:border-box}.monaco-editor.hc-black .findScope{background:0 0;border:1px dashed #DF740C;opacity:.4}.monaco-editor.hc-black .find-widget .monaco-findInput,.monaco-editor.hc-black .find-widget .replace-input{background-color:#000}.monaco-editor .preview-zone-widget.preview .monaco-editor,.monaco-editor .preview-zone-widget.preview .monaco-editor .line-numbers,.monaco-editor .preview-zone-widget.preview .monaco-editor .lines-decorations,.monaco-editor .preview-zone-widget.preview .monaco-editor-background{background-color:#F2F8FC}.monaco-editor.vs-dark .preview-zone-widget,.monaco-editor.vs-dark .preview-zone-widget.preview .monaco-editor,.monaco-editor.vs-dark .preview-zone-widget.preview .monaco-editor .line-numbers,.monaco-editor.vs-dark .preview-zone-widget.preview .monaco-editor .lines-decorations,.monaco-editor.vs-dark .preview-zone-widget.preview .monaco-editor-background{background-color:#001F33}.monaco-editor .zone-widget .zone-widget-container.preview-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .goto-definition-link{cursor:pointer;color:#00f!important}.monaco-editor.vs-dark .goto-definition-link{color:#4E94CE!important}.monaco-editor .goto-definition-link-hover{margin:.5em;padding:0 0 0 .5em;border-left:4px solid rgba(0,0,0,.14)}.monaco-editor.vs-dark .goto-definition-link-hover{border-left:4px solid rgba(255,255,255,.25)}.monaco-editor.hc-black .preview-zone-widget,.monaco-editor.hc-black .preview-zone-widget.preview .monaco-editor,.monaco-editor.hc-black .preview-zone-widget.preview .monaco-editor .line-numbers,.monaco-editor.hc-black .preview-zone-widget.preview .monaco-editor .lines-decorations,.monaco-editor.hc-black .preview-zone-widget.preview .monaco-editor-background{background-color:#0C141F}.monaco-editor .marker-widget{background-color:#fff;font-size:.9em}.monaco-editor.vs-dark .marker-widget{background-color:#2D2D30}.monaco-editor.hc-black .marker-widget{background-color:#0C141F}.monaco-editor .marker-widget .quickfixhead{background-image:url(contrib/gotoError/browser/lightbulp.svg);background-repeat:no-repeat;padding-left:20px}.monaco-editor.hc-black .marker-widget .quickfixhead,.monaco-editor.vs-dark .marker-widget .quickfixhead{background-image:url(contrib/gotoError/browser/lightbulp-dark.svg)}.monaco-editor .marker-widget .descriptioncontainer{height:3.2em;overflow:hidden;text-overflow:ellipsis}.monaco-editor .marker-widget .quickfixentry:hover{cursor:pointer;color:#00f}.monaco-editor.hc-black .marker-widget .quickfixentry:hover,.monaco-editor.vs-dark .marker-widget .quickfixentry:hover{color:#add8e6}.monaco-editor-hover{padding:0 3px;border:1px solid #CCC;position:absolute;margin-top:-1px;cursor:default;z-index:50;-webkit-animation-duration:.15s;-webkit-animation-name:fadeIn;-moz-animation-duration:.15s;-moz-animation-name:fadeIn;-ms-animation-duration:.15s;-ms-animation-name:fadeIn;animation-duration:.15s;animation-name:fadeIn;-webkit-user-select:text;-ms-user-select:text;-khtml-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text;overflow:hidden}.monaco-editor.vs-dark .monaco-editor-hover{border-color:#555}.monaco-editor.vs-dark .monaco-editor-hover a{color:#1C5DAF}.monaco-editor .hoverHighlight{background-color:rgba(173,214,255,.15)}.monaco-editor.vs-dark .hoverHighlight{background-color:rgba(38,79,120,.25)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;outline:0;resize:none;overflow:hidden;background:url(contrib/iPadShowKeyboard/browser/keyboard.svg) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(contrib/iPadShowKeyboard/browser/keyboard-inverse.svg) center center no-repeat;border:4px solid #252526}.monaco-editor .detected-link-active{cursor:pointer;color:#00f!important}.monaco-editor.vs-dark .detected-link-active{color:#4E94CE!important}hr.outlineRule.class{border:0;border-bottom:2px solid gray;width:98%;margin:0}hr.outlineRule.function,hr.outlineRule.method{border:0;border-bottom:1px dotted gray;width:98%;margin:0}.monaco-editor .parameter-hints-widget{font-size:12px;width:440px;z-index:10;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.monaco-editor .parameter-hints-widget.visible{-webkit-transition:left .05s ease-in-out;-moz-transition:left .05s ease-in-out;-o-transition:left .05s ease-in-out;transition:left .05s ease-in-out}.monaco-editor .parameter-hints-widget .wrapper{position:relative;bottom:0;border:1px solid #ccc;max-width:440px;padding:0 .5em}.monaco-editor.hc-black .parameter-hints-widget .wrapper,.monaco-editor.vs-dark .parameter-hints-widget .wrapper{border-color:#707070}.monaco-editor .parameter-hints-widget.multiple .wrapper{min-height:3.3em;padding:0 .5em 0 1.9em}.monaco-editor .parameter-hints-widget .buttons{position:absolute;display:none;bottom:0;left:0}.monaco-editor .parameter-hints-widget.multiple .buttons{display:block}.monaco-editor .parameter-hints-widget.multiple .button{position:absolute;left:2px;width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px;background-image:url(contrib/parameterHints/browser/arrow-up.svg)}.monaco-editor .parameter-hints-widget .button.next{bottom:0;background-image:url(contrib/parameterHints/browser/arrow-down.svg)}.monaco-editor .parameter-hints-widget .overloads{position:absolute;display:none;font-size:10px;text-align:center;bottom:14px;left:0;width:22px;height:12px;line-height:12px;opacity:.5}.monaco-editor .parameter-hints-widget.multiple .overloads{display:block}.monaco-editor .parameter-hints-widget .signatures{overflow:hidden}.monaco-editor .parameter-hints-widget .signature .parameter{display:inline-block;color:#999}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:#000;font-weight:700}.monaco-editor .parameter-hints-widget .signature .parameter.active .parameter-type,.monaco-editor .parameter-hints-widget .signature .return-type{color:#0035DD}.monaco-editor .parameter-hints-widget .documentation{max-height:3.2em;color:#A21B1B}.monaco-editor .parameter-hints-widget .documentation .parameter{color:#000;font-weight:700;margin-right:.5em}.monaco-editor.vs-dark .parameter-hints-widget .signature .parameter.active{color:#D8D8D8}.monaco-editor.vs-dark .parameter-hints-widget .signature .parameter.active .parameter-type,.monaco-editor.vs-dark .parameter-hints-widget .signature .return-type{color:#219AE4}.monaco-editor.vs-dark .parameter-hints-widget .signature{color:#777}.monaco-editor.vs-dark .parameter-hints-widget .documentation{color:#C07A7A}.monaco-editor.hc-black .parameter-hints-widget .signature .parameter.active,.monaco-editor.vs-dark .parameter-hints-widget .documentation .parameter{color:#D8D8D8}.monaco-editor.vs-dark .parameter-hints-widget .button.previous{background-image:url(contrib/parameterHints/browser/arrow-up-dark.svg)}.monaco-editor.vs-dark .parameter-hints-widget .button.next{background-image:url(contrib/parameterHints/browser/arrow-down-dark.svg)}.monaco-editor.hc-black .parameter-hints-widget .signature .parameter.active .parameter-type,.monaco-editor.hc-black .parameter-hints-widget .signature .return-type{color:#219AE4}.monaco-editor.hc-black .parameter-hints-widget .signature{color:#777}.monaco-editor.hc-black .parameter-hints-widget .documentation{color:#C07A7A}.monaco-editor.hc-black .parameter-hints-widget .documentation .parameter{color:#D8D8D8}.monaco-editor.hc-black .parameter-hints-widget .button{background:0 0}.monaco-editor.hc-black .parameter-hints-widget .button:before{position:relative;opacity:.8}.monaco-editor.hc-black .parameter-hints-widget .button.previous:before{content:url(contrib/parameterHints/browser/arrow-up-dark.svg);top:-2px}.monaco-editor.hc-black .parameter-hints-widget .button.next:before{content:url(contrib/parameterHints/browser/arrow-down-dark.svg);top:-4px}.monaco-editor .lightbulp-glyph{display:flex;align-items:center;justify-content:center}.monaco-editor .lightbulp-glyph:hover{cursor:pointer}.monaco-editor.vs .lightbulp-glyph{background:url(contrib/quickFix/browser/lightbulp.svg) center center no-repeat;height:16px;width:16px}.monaco-editor.hc-black .lightbulp-glyph,.monaco-editor.vs-dark .lightbulp-glyph{background:url(contrib/quickFix/browser/lightbulp-dark.svg) center center no-repeat;height:16px;width:16px}.monaco-editor .quickfix-widget{background-color:#F3F3F3;font-size:12px;border:1px solid #c8c8c8;z-index:40}.monaco-editor.mac .quickfix-widget{font-size:11px}.monaco-editor.mac .quickfix-widget .text{line-height:1.3em}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content{-mox-box-sizing:border-box;box-sizing:border-box;line-height:1.2em;padding:2px 10px 2px 2px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content:after{content:"";clear:both;display:block;visibility:hidden;height:0}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content .text{width:-webkit-calc(100% - 16px);width:-moz-calc(100% - 16px);width:-ms-calc(100% - 16px);width:-o-calc(100% - 16px);width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;padding-left:6px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row>.content .docs{display:none;max-height:3.4em;margin-top:.1em;padding-bottom:.1em;white-space:nowrap;text-overflow:ellipsis;color:#A21B1B}.monaco-editor.hc-black .quickfix-widget .monaco-tree .monaco-tree-row>.content .docs,.monaco-editor.vs-dark .quickfix-widget .monaco-tree .monaco-tree-row>.content .docs{color:#C07A7A}.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row.fake>.content .docs,.monaco-editor .quickfix-widget .monaco-tree .monaco-tree-row.focused>.content .docs{display:block}.monaco-editor.vs-dark .quickfix-widget{background-color:#2D2D30;border:1px solid #454545}.monaco-editor.hc-black .quickfix-widget{background-color:#0C141F;border:2px solid #6FC3DF}.quick-open-widget{font-family:'Segoe WPC','Segoe UI',SFUIText-Light,HelveticaNeue-Light,sans-serif,"Droid Sans Fallback";font-size:13px}.monaco-editor .reference-zone-widget .label,.monaco-editor .reference-zone-widget .messages,.monaco-editor .reference-zone-widget .tree{font-family:"Segoe WPC","Segoe UI",SFUIText-Light,HelveticaNeue-Light,sans-serif,"Droid Sans Fallback"}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon,.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry;background-repeat:no-repeat}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:0 -4px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -4px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-43px -3px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-63px -4px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -4px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -3px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -3px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -4px}.quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -4px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:0 -24px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -24px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-43px -23px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-63px -24px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -24px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -23px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -23px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -24px}.vs-dark .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -24px}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{background:0 0;display:inline}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon:before{height:16px;width:16px;display:inline-block}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor:before,.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function:before,.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0IxODBENyIgZD0iTTUuNSAzbC00LjUgMi44NTd2NC4yODVsNC41IDIuODU4IDQuNS0yLjg1N3YtNC4yODZsLTQuNS0yLjg1N3ptLS41IDguNDk4bC0zLTEuOTA1di0yLjgxNmwzIDEuOTA1djIuODE2em0tMi4zNTgtNS40OThsMi44NTgtMS44MTUgMi44NTggMS44MTUtMi44NTggMS44MTUtMi44NTgtMS44MTV6bTYuMzU4IDMuNTkzbC0zIDEuOTA1di0yLjgxNWwzLTEuOTA1djIuODE1eiIvPjwvc3ZnPg==);margin-left:2px}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field:before,.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTEgNnY0bDQgMiA2LTN2LTRsLTQtMi02IDN6bTQgMWwtMi0xIDQtMiAyIDEtNCAyeiIvPjwvc3ZnPg==);margin-left:2px}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBvbHlnb24gZmlsbD0iI0U4QUI1MyIgcG9pbnRzPSIxMS45OTgsMTEuMDAyIDksMTEgOSw3IDExLDcgMTAsOCAxMiwxMCAxNSw3IDEzLDUgMTIsNiA3LDYgOSw0IDYsMSAxLDYgNCw5IDYsNyA4LDcgOCwxMiAxMSwxMiAxMCwxMyAxMiwxNSAxNSwxMiAxMywxMCIvPjwvc3ZnPg==)}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTExLjUgNGMtMS43NTkgMC0zLjIwNCAxLjMwOC0zLjQ0OSAzaC0zLjEyMmMtLjIyMy0uODYxLS45OTgtMS41LTEuOTI5LTEuNS0xLjEwNCAwLTIgLjg5NS0yIDIgMCAxLjEwNC44OTYgMiAyIDIgLjkzMSAwIDEuNzA2LS42MzkgMS45MjktMS41aDMuMTIyYy4yNDUgMS42OTEgMS42OSAzIDMuNDQ5IDMgMS45MyAwIDMuNS0xLjU3IDMuNS0zLjUgMC0xLjkzMS0xLjU3LTMuNS0zLjUtMy41em0wIDVjLS44MjcgMC0xLjUtLjY3NC0xLjUtMS41IDAtLjgyOC42NzMtMS41IDEuNS0xLjVzMS41LjY3MiAxLjUgMS41YzAgLjgyNi0uNjczIDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==)}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTkgMTF2LTFjMC0uODM0LjQ5Ni0xLjczOCAxLTItLjUwNC0uMjctMS0xLjE2OC0xLTJ2LTFjMC0uODQtLjU4NC0xLTEtMXYtMWMyLjA4MyAwIDIgMS4xNjYgMiAydjFjMCAuOTY5LjcwMy45OCAxIDF2MmMtLjMyMi4wMi0xIC4wNTMtMSAxdjFjMCAuODM0LjA4MyAyLTIgMnYtMWMuODMzIDAgMS0xIDEtMXptLTYgMHYtMWMwLS44MzQtLjQ5Ni0xLjczOC0xLTIgLjUwNC0uMjcgMS0xLjE2OCAxLTJ2LTFjMC0uODQuNTg0LTEgMS0xdi0xYy0yLjA4MyAwLTIgMS4xNjYtMiAydjFjMCAuOTY5LS43MDMuOTgtMSAxdjJjLjMyMi4wMiAxIC4wNTMgMSAxdjFjMCAuODM0LS4wODMgMiAyIDJ2LTFjLS44MzMgMC0xLTEtMS0xeiIvPjwvc3ZnPg==);margin-left:2px}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEyLjA5IDQuMzU5bC0yLjY0MSAyLjY0MS0yLTIgMi42NDEtMi42NDFjLS41MDItLjIyNi0xLjA1NS0uMzU5LTEuNjQxLS4zNTktMi4yMDkgMC00IDEuNzkxLTQgNCAwIC41ODYuMTMzIDEuMTM5LjM1OSAxLjY0bC0zLjM1OSAzLjM2cy0xIDEgMCAyaDJsMy4zNTktMy4zNmMuNTAzLjIyNiAxLjA1NS4zNiAxLjY0MS4zNiAyLjIwOSAwIDQtMS43OTEgNC00IDAtLjU4Ni0uMTMzLTEuMTM5LS4zNTktMS42NDF6Ii8+PC9zdmc+);margin-left:1px}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum:before,.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.value:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0iIzc1QkVGRiI+PHBhdGggZD0iTTEyIDNoLTRsLTEgMXYyaDV2MWgtMnYxaDJsMS0xdi0zbC0xLTF6bTAgMmgtNHYtMWg0djF6TTMgMTJoNnYtNWgtNnY1em0xLTNoNHYxaC00di0xeiIvPjwvZz48L3N2Zz4=)}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEwIDVoLTh2LTJoOHYyem0wIDFoLTZ2MWg2di0xem0wIDJoLTZ2MWg2di0xeiIvPjwvc3ZnPg==)}.hc-black .quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTkuNjc2IDJoLTYuNjc2djEyaDEwdi05bC0zLjMyNC0zem0yLjMyNCAxMWgtOHYtMTBoNXYzaDN2N3oiLz48L3N2Zz4=)}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget.results-loaded{-webkit-transition:height .1s ease-in;transition:height .1s ease-in}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .label{font-size:.9em;text-align:center;color:#646465;margin-top:6px}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .preview{width:80%}.monaco-editor .reference-zone-widget,.monaco-editor .reference-zone-widget .preview .glyph-margin,.monaco-editor .reference-zone-widget .preview .monaco-editor,.monaco-editor .reference-zone-widget .preview .monaco-editor .line-numbers,.monaco-editor .reference-zone-widget .preview .monaco-editor .lines-decorations,.monaco-editor .reference-zone-widget .preview .monaco-editor-background{background-color:#F2F8FC}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:rgba(245,216,2,.87)}.monaco-editor .reference-zone-widget .tree{background-color:#F3F3F3;width:20%;color:#646465;line-height:24px;font-size:13px}.monaco-editor .peekview-widget .head .peekview-title,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .docs{font-family:"Segoe UI",SFUIText-Regular,HelveticaNeue,sans-serif,"Droid Sans Fallback"}.monaco-editor .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){background-color:rgba(51,153,255,.2);color:#6C6C6C!important}.monaco-editor .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:before{border-left-color:#A6A6A6}.monaco-editor .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:after{border-left-color:rgba(51,153,255,.2)}.monaco-editor .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before{border-right-color:#646465;border-left-color:transparent}.monaco-editor .reference-zone-widget .tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .tree .reference-file{position:relative;line-height:24px;color:#1E1E1E}.monaco-editor .reference-zone-widget .tree .reference-file .directory{opacity:.7;margin-left:.5em;font-size:.9em}.monaco-editor .reference-zone-widget .tree .reference .lineNumber{color:#A8A8A8}.monaco-editor .reference-zone-widget .tree .selected .reference .lineNumber{color:#fff}.monaco-editor .reference-zone-widget .tree .referenceMatch{background-color:rgba(234,92,0,.3)}.monaco-editor.vs-dark .reference-zone-widget .overlay,.monaco-editor.vs-dark .reference-zone-widget .tree .block{background-color:#1e1e1e}.monaco-editor.vs-dark .reference-zone-widget,.monaco-editor.vs-dark .reference-zone-widget .preview .glyph-margin,.monaco-editor.vs-dark .reference-zone-widget .preview .monaco-editor,.monaco-editor.vs-dark .reference-zone-widget .preview .monaco-editor .line-numbers,.monaco-editor.vs-dark .reference-zone-widget .preview .monaco-editor .lines-decorations,.monaco-editor.vs-dark .reference-zone-widget .preview .monaco-editor-background{background-color:#001F33}.monaco-editor.vs-dark .reference-zone-widget .tree{background-color:#252526;color:#BBB}.monaco-editor.vs-dark .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){color:#FFF!important}.monaco-editor.vs-dark .reference-zone-widget .preview .reference-decoration{background-color:rgba(255,143,0,.6)}.monaco-editor.vs-dark .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:before{border-left-color:#fff}.monaco-editor.vs-dark .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.has-children>.content:after{border-left-color:rgba(51,153,255,.2)}.monaco-editor.vs-dark .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected.expanded>.content:before{border-right-color:#fff;border-left-color:transparent}.monaco-editor.vs-dark .reference-zone-widget .tree .reference-file{color:#FFF}.monaco-editor.hc-black .reference-zone-widget,.monaco-editor.hc-black .reference-zone-widget .preview .monaco-editor,.monaco-editor.hc-black .reference-zone-widget .preview .monaco-editor .line-numbers,.monaco-editor.hc-black .reference-zone-widget .preview .monaco-editor .lines-decorations,.monaco-editor.hc-black .reference-zone-widget .preview .monaco-editor-background{background-color:#0C141F}.monaco-editor.hc-black .reference-zone-widget .preview .reference-decoration{background:0 0;border:2px solid #DF740C}.monaco-editor.hc-black .reference-zone-widget .tree{background-color:#000;color:#fff}.monaco-editor.hc-black .reference-zone-widget .tree .reference-file{color:#fff;line-height:20px;font-weight:700}.monaco-editor.hc-black .reference-zone-widget .tree .reference-file .directory{font-weight:400}.monaco-editor.hc-black .reference-zone-widget .tree .monaco-tree.focused .monaco-tree-rows>.monaco-tree-row.selected:not(.highlighted){background:0 0;color:#FFF!important}.monaco-editor.hc-black .reference-zone-widget .tree .referenceMatch{background:0 0;border:1px dotted #DF740C}.monaco-editor .rename-box{box-shadow:0 2px 8px #A8A8A8;color:inherit}.monaco-editor.vs-dark .rename-box{box-shadow:0 2px 8px #000}.monaco-editor .rename-box .rename-input{border:1px solid #39F;font-size:13px;padding:4px}.monaco-editor.vs-dark .rename-box .rename-input{border:1px solid #0E639C}.monaco-editor .new-snippet{background-color:rgba(10,50,150,.1)}.monaco-editor .snippet-placeholder{background-color:rgba(10,50,100,.1)}.monaco-editor .finish-snippet-placeholder{outline:solid rgba(10,50,100,.5)}.monaco-editor .suggest-widget{background-color:#F3F3F3;font-size:12px;border:1px solid #c8c8c8;z-index:40}.monaco-editor .suggest-widget.visible{-webkit-transition:left .05s ease-in-out;-moz-transition:left .05s ease-in-out;-o-transition:left .05s ease-in-out;transition:left .05s ease-in-out}.monaco-editor.mac .suggest-widget{font-size:11px}.monaco-editor.mac .suggest-widget .text{line-height:1.3em}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content{-mox-box-sizing:border-box;box-sizing:border-box;line-height:1.2em;padding:2px 10px 2px 2px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content:after{content:"";clear:both;display:block;visibility:hidden;height:0}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .text{width:-webkit-calc(100% - 16px);width:-moz-calc(100% - 16px);width:-ms-calc(100% - 16px);width:-o-calc(100% - 16px);width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;padding-left:6px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .docs{display:none;max-height:3.4em;overflow:hidden;margin-top:.1em;padding-bottom:.1em;white-space:nowrap;text-overflow:ellipsis;color:#A21B1B}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label>span{opacity:1}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{font-weight:700;color:#186B9E}.monaco-editor .suggest-widget.empty .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{background-color:inherit}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .type-label{display:none;margin-left:.8em;font-size:.9em;color:#0035DD}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row.fake>.content .type-label,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row.focused>.content .type-label{display:inline}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row.fake>.content .docs,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row.focused>.content .docs{display:block}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon{background-image:url(contrib/suggest/browser/symbol-sprite.svg);background-repeat:no-repeat;height:16px;width:16px;background-position:-361px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.constructor,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.function,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.method{background-position:2px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.field,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.variable{background-position:-18px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.class{background-position:-41px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.interface{background-position:-61px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.module{background-position:-79px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.property{background-position:-100px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.unit{background-position:-120px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.enum,.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.value{background-position:-140px -3px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.keyword{background-position:-161px -2px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.snippet{background-position:-181px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.text{background-position:-201px -2px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.color{background-position:-221px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.file{background-position:-260px -2px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.reference{background-position:-281px -4px}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.customcolor{background-image:none}.monaco-editor .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor.vs-dark .suggest-widget{background-color:#2D2D30;border:1px solid #454545}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{color:#219AE4}.monaco-editor.vs-dark .suggest-widget.empty .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{color:inherit}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .docs{color:#C07A7A}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .type-label{color:#4E94CE}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon{background-position:-361px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.constructor,.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.function,.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.method{background-position:2px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.field,.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.variable{background-position:-18px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.class{background-position:-41px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.interface{background-position:-61px -24px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.module{background-position:-79px -24px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.property{background-position:-100px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.unit{background-position:-120px -24px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.enum,.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.value{background-position:-140px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.keyword{background-position:-161px -22px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.snippet{background-position:-181px -23px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.text{background-position:-201px -22px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.color{background-position:-221px -24px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.file{background-position:-260px -22px}.monaco-editor.vs-dark .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.reference{background-position:-281px -24px}.monaco-editor.hc-black .suggest-widget{background-color:#0C141F;border:2px solid #6FC3DF}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{color:#219AE4}.monaco-editor.hc-black .suggest-widget.empty .monaco-tree .monaco-tree-row>.content .monaco-highlighted-label .highlight{color:inherit}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .docs{color:#C07A7A}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .type-label{color:#4E94CE}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon{background:0 0;overflow:hidden}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon:before{height:16px;width:16px;display:inline-block;content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xIDB2OC44bC0xIDEuNlYxMmg4di0xaDRWMEgxeiIgaWQ9IlNoYXBlIiBmaWxsPSIjMkQyRDMwIi8+PHBhdGggZD0iTTEgMTFsMy01IDMgNUgxem01LjA4Mi0zLjY3QzYuMzg4IDYgNy41NzcgNSA5IDVjLjc3IDAgMS40NjguMyAyIC43OFYxSDJ2Ni4yTDQgNGwyLjA4MiAzLjMzeiIgZmlsbD0iI0M1QzVDNSIvPjxjaXJjbGUgZmlsbD0iI0M1QzVDNSIgY3g9IjguOTM4IiBjeT0iOCIgcj0iMi4wNjMiLz48L2c+PC9zdmc+)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.constructor:before,.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.function:before,.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.method:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0IxODBENyIgZD0iTTUuNSAzbC00LjUgMi44NTd2NC4yODVsNC41IDIuODU4IDQuNS0yLjg1N3YtNC4yODZsLTQuNS0yLjg1N3ptLS41IDguNDk4bC0zLTEuOTA1di0yLjgxNmwzIDEuOTA1djIuODE2em0tMi4zNTgtNS40OThsMi44NTgtMS44MTUgMi44NTggMS44MTUtMi44NTggMS44MTUtMi44NTgtMS44MTV6bTYuMzU4IDMuNTkzbC0zIDEuOTA1di0yLjgxNWwzLTEuOTA1djIuODE1eiIvPjwvc3ZnPg==);margin-left:2px}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.field:before,.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.variable:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTEgNnY0bDQgMiA2LTN2LTRsLTQtMi02IDN6bTQgMWwtMi0xIDQtMiAyIDEtNCAyeiIvPjwvc3ZnPg==);margin-left:2px}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.class:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBvbHlnb24gZmlsbD0iI0U4QUI1MyIgcG9pbnRzPSIxMS45OTgsMTEuMDAyIDksMTEgOSw3IDExLDcgMTAsOCAxMiwxMCAxNSw3IDEzLDUgMTIsNiA3LDYgOSw0IDYsMSAxLDYgNCw5IDYsNyA4LDcgOCwxMiAxMSwxMiAxMCwxMyAxMiwxNSAxNSwxMiAxMywxMCIvPjwvc3ZnPg==)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.interface:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTExLjUgNGMtMS43NTkgMC0zLjIwNCAxLjMwOC0zLjQ0OSAzaC0zLjEyMmMtLjIyMy0uODYxLS45OTgtMS41LTEuOTI5LTEuNS0xLjEwNCAwLTIgLjg5NS0yIDIgMCAxLjEwNC44OTYgMiAyIDIgLjkzMSAwIDEuNzA2LS42MzkgMS45MjktMS41aDMuMTIyYy4yNDUgMS42OTEgMS42OSAzIDMuNDQ5IDMgMS45MyAwIDMuNS0xLjU3IDMuNS0zLjUgMC0xLjkzMS0xLjU3LTMuNS0zLjUtMy41em0wIDVjLS44MjcgMC0xLjUtLjY3NC0xLjUtMS41IDAtLjgyOC42NzMtMS41IDEuNS0xLjVzMS41LjY3MiAxLjUgMS41YzAgLjgyNi0uNjczIDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.module:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTkgMTF2LTFjMC0uODM0LjQ5Ni0xLjczOCAxLTItLjUwNC0uMjctMS0xLjE2OC0xLTJ2LTFjMC0uODQtLjU4NC0xLTEtMXYtMWMyLjA4MyAwIDIgMS4xNjYgMiAydjFjMCAuOTY5LjcwMy45OCAxIDF2MmMtLjMyMi4wMi0xIC4wNTMtMSAxdjFjMCAuODM0LjA4MyAyLTIgMnYtMWMuODMzIDAgMS0xIDEtMXptLTYgMHYtMWMwLS44MzQtLjQ5Ni0xLjczOC0xLTIgLjUwNC0uMjcgMS0xLjE2OCAxLTJ2LTFjMC0uODQuNTg0LTEgMS0xdi0xYy0yLjA4MyAwLTIgMS4xNjYtMiAydjFjMCAuOTY5LS43MDMuOTgtMSAxdjJjLjMyMi4wMiAxIC4wNTMgMSAxdjFjMCAuODM0LS4wODMgMiAyIDJ2LTFjLS44MzMgMC0xLTEtMS0xeiIvPjwvc3ZnPg==);margin-left:2px}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.property:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEyLjA5IDQuMzU5bC0yLjY0MSAyLjY0MS0yLTIgMi42NDEtMi42NDFjLS41MDItLjIyNi0xLjA1NS0uMzU5LTEuNjQxLS4zNTktMi4yMDkgMC00IDEuNzkxLTQgNCAwIC41ODYuMTMzIDEuMTM5LjM1OSAxLjY0bC0zLjM1OSAzLjM2cy0xIDEgMCAyaDJsMy4zNTktMy4zNmMuNTAzLjIyNiAxLjA1NS4zNiAxLjY0MS4zNiAyLjIwOSAwIDQtMS43OTEgNC00IDAtLjU4Ni0uMTMzLTEuMTM5LS4zNTktMS42NDF6Ii8+PC9zdmc+);margin-left:1px}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.enum:before,.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.value:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0iIzc1QkVGRiI+PHBhdGggZD0iTTEyIDNoLTRsLTEgMXYyaDV2MWgtMnYxaDJsMS0xdi0zbC0xLTF6bTAgMmgtNHYtMWg0djF6TTMgMTJoNnYtNWgtNnY1em0xLTNoNHYxaC00di0xeiIvPjwvZz48L3N2Zz4=)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.snippet:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEyIDExdi03aC03djdoLTF2LThoOXY4aC0xem0tNyAyaC0xdi0xaDF2MXptMi0xaC0xdjFoMXYtMXptMiAwaC0xdjFoMXYtMXptMiAxaC0xdi0xaDF2MXptMi0xaC0xdjFoMXYtMXoiLz48L3N2Zz4=)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.keyword:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEzIDVoLTR2LTFoNHYxem0wIDNoLTJ2MWgydi0xem0tNCAwaC02djFoNnYtMXptLTIgM2gtNHYxaDR2LTF6bTYgMGgtNHYxaDR2LTF6bS01LTh2M2gtNXYtM2g1em0tMSAxaC0zdjFoM3YtMXoiLz48L3N2Zz4=)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.unit:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHJlY3QgeD0iNCIgeT0iNiIgZmlsbD0iI0M1QzVDNSIgd2lkdGg9IjkiIGhlaWdodD0iNCIvPjxnIGZpbGw9IiMyQjI4MkUiPjxyZWN0IHg9IjUiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiLz48cmVjdCB4PSI3IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PHJlY3QgeD0iOSIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIvPjxyZWN0IHg9IjExIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PHJlY3QgeD0iNSIgeT0iNyIgd2lkdGg9IjMiIGhlaWdodD0iMSIvPjxyZWN0IHg9IjkiIHk9IjciIHdpZHRoPSIzIiBoZWlnaHQ9IjEiLz48L2c+PC9zdmc+)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.text{padding-left:0}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.text:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEgMnYxMmgxNHYtMTJoLTE0em0xMyAxMWgtMTJ2LTEwaDEydjEwem0tNi03di0xaC0xdjVoM3YtNGgtMnptMSAzaC0xdi0yaDF2MnptMy0ydjJoMXYxaC0ydi00aDJ2MWgtMXptLTYtMXY0aC0zdi0yaDF2MWgxdi0xaC0xdi0xaC0xdi0xaDN6Ii8+PC9zdmc+)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.color:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEwLjY0OCA4LjUwOHMtMS45MTEuNDU4LS40NzgtLjkxNmMxLjIxNy0xLjE2NyAzLjM0NC0yLjc0NyAxLjkxLTQuMTItMS40MzMtMS4zNzUtOS4wNzkuNDU2LTkuMDc5IDUuMDM2IDAgNC41ODEgNS43MzUgNS4wMzggOC4xMjQgNC4xMjIgMi4zODktLjkxNSAyLjg2Ni00LjU3OC0uNDc3LTQuMTIyem0tNS4yNzIgMS45MDJjLS41NzQgMC0xLjA0MS0uNDY3LTEuMDQxLTEuMDQxIDAtLjU3NS40NjctMS4wNDIgMS4wNDEtMS4wNDJzMS4wNDEuNDY2IDEuMDQxIDEuMDQyYzAgLjU3NC0uNDY3IDEuMDQxLTEuMDQxIDEuMDQxem0xLjA0MS0zYy0uNTc0IDAtMS4wNDEtLjQ2Ni0xLjA0MS0xLjA0MXMuNDY3LTEuMDQxIDEuMDQxLTEuMDQxIDEuMDQxLjQ2NiAxLjA0MSAxLjA0MWMwIC41NzQtLjQ2NyAxLjA0MS0xLjA0MSAxLjA0MXptMS45NDUtMi4yNWMwLS41NzUuNDY3LTEuMDQxIDEuMDQxLTEuMDQxLjU3NCAwIDEuMDQxLjQ2NiAxLjA0MSAxLjA0MXMtLjQ2NyAxLjA0MS0xLjA0MSAxLjA0MWMtLjU3NCAwLTEuMDQxLS40NjYtMS4wNDEtMS4wNDF6Ii8+PC9zdmc+)}.monaco-editor.hc-black .suggest-widget .monaco-tree .monaco-tree-row>.content .icon.reference:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0iI0U4QUI1MyI+PHBhdGggZD0iTTYgN2gtNGwtMSAxdjNsMSAxaDRsMS0xdi0zbC0xLTF6bTAgNGgtNHYtMWg0djF6bTAtMmgtNHYtMWg0djF6TTEwIDNoLTRsLTEgMXYyaDV2MWgtMi41ODZsLjU4Ni41ODZ2LjQxNGgybDEtMXYtM2wtMS0xem0wIDJoLTR2LTFoNHYxeiIvPjwvZz48L3N2Zz4=)}.monaco-worker-status .worker{display:inline-block;width:1em;height:1em}.monaco-worker-status .worker[status=unknown]:before{content:'?'}.monaco-worker-status .worker[status=idle]:before{content:'\25CA';color:#82c282}.monaco-worker-status .worker[status=busy]:before{content:'\2666'}.monaco-worker-status .worker[status=flooded]:before{content:'\2666';color:red}.monaco-editor .peekview-widget .head{background-color:#fff;border-top:1px solid #007ACC;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .peekview-widget .head .peekview-title{display:inline-block;font-size:13px;margin-left:20px;cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .filename{color:#333}.monaco-editor .peekview-widget .head .peekview-title .dirname{font-size:.9em;color:rgba(108,108,108,.7);margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-actions{display:inline-block;position:absolute;right:2px}.monaco-editor .peekview-widget .head .peekview-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-editor .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url(contrib/zoneWidget/browser/media/close.svg) center center no-repeat}.monaco-editor .peekview-widget>.body{border-top:1px solid #007ACC;border-bottom:1px solid #007ACC}.monaco-editor.vs-dark .peekview-widget .head{background-color:#1E1E1E}.monaco-editor.vs-dark .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url(contrib/zoneWidget/browser/media/close-inverse.svg) center center no-repeat}.monaco-editor.vs-dark .peekview-widget .head .peekview-title .filename{color:#fff}.monaco-editor.vs-dark .peekview-widget .head .peekview-title .dirname{color:rgba(204,204,204,.7)}.monaco-editor.hc-black .peekview-widget .head{background-color:#0C141F;border-color:#6FC3DF}.monaco-editor.hc-black .peekview-widget .head .peekview-title .filename{color:#fff}.monaco-editor.hc-black .peekview-widget .head .peekview-title .dirname{color:#fff;opacity:.6}.monaco-editor.hc-black .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:0 0}.monaco-editor.hc-black .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action:before{content:url(contrib/zoneWidget/browser/media/close-inverse.svg);display:inline-block;height:16px;width:16px}.monaco-editor.hc-black .peekview-widget>.body{border-color:#6FC3DF}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget-arrow{width:0;height:0;border-color:transparent;border-style:solid;position:absolute}.monaco-editor .zone-widget-arrow.below{border-bottom-color:#9acd32}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;border-top-color:#9acd32;border-bottom-color:#9acd32;position:relative}.monaco-editor .monaco-editor-hover .css-selector-hover{color:gray;font-size:12px}.monaco-editor .monaco-editor-hover .css-selector-hover ul{list-style-type:none;padding:0;margin:0 0 0 1.5em}.monaco-editor .monaco-editor-hover .css-selector-hover>ul{margin-left:0}.monaco-editor .monaco-editor-hover .css-selector-hover .name{color:#000;font-weight:700}.monaco-editor .monaco-editor-hover .css-selector-hover .key{color:red}.monaco-editor .monaco-editor-hover .css-selector-hover .value{color:#00f}.monaco-editor.vs-dark .monaco-editor-hover .css-selector-hover .name{color:#569CD6}.monaco-editor.vs-dark .monaco-editor-hover .css-selector-hover .key{color:#9CDCFE}.monaco-editor.vs-dark .monaco-editor-hover .css-selector-hover .value{color:#CE9178}.monaco-editor.vs .monaco-editor-hover .typeInfo.ts .ts-symbol{color:#000}.monaco-editor.vs .monaco-editor-hover .typeInfo.ts .ts-symbol .punctuation,.monaco-editor.vs .monaco-editor-hover .typeInfo.ts .ts-symbol .text{color:teal}.monaco-editor.vs .monaco-editor-hover .typeInfo.ts .ts-symbol .keyword{color:#00F}.monaco-editor.vs-dark .monaco-editor-hover .typeInfo.ts .ts-symbol{color:#D4D4D4}.monaco-editor.vs-dark .monaco-editor-hover .typeInfo.ts .ts-symbol .punctuation,.monaco-editor.vs-dark .monaco-editor-hover .typeInfo.ts .ts-symbol .text{color:#DCDCDC}.monaco-editor.vs-dark .monaco-editor-hover .typeInfo.ts .ts-symbol .keyword{color:#4E94CE}.monaco-editor.hc-black .monaco-editor-hover .typeInfo.ts .ts-symbol{color:#D4D4D4}.monaco-editor.hc-black .monaco-editor-hover .typeInfo.ts .ts-symbol .punctuation,.monaco-editor.hc-black .monaco-editor-hover .typeInfo.ts .ts-symbol .text{color:#DCDCDC}.monaco-editor.hc-black .monaco-editor-hover .typeInfo.ts .ts-symbol .keyword{color:#4E94CE}.context-view .monaco-menu{min-width:130px} \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.js new file mode 100755 index 0000000000000000000000000000000000000000..6a0c4c64429617f7827546227170c0ecfef0de3e --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.js @@ -0,0 +1,45 @@ +"use strict";define("vs/base/browser/iframe",["require","exports"],function(e,t){function n(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 a=!0,null}catch(o){return a=!0,null}return e.parent}function o(e,t){for(var n,o=e.document.getElementsByTagName("iframe"),i=0,r=o.length;r>i;i++)if(n=o[i],n.contentWindow===t)return n;return null}function i(){if(!u){u=[];var e,t=window;do e=n(t),e?u.push({window:t,iframeElement:o(e,t)}):u.push({window:t,iframeElement:null}),t=e;while(t)}return u.slice(0)}function r(){return u||i(),a}function s(e,t){if(!t||e===t)return{top:0,left:0};for(var n=0,o=0,r=i(),s=0;sn;n++)t(e[n],function(){e.splice(n,1),n--,o--})}function i(e,t,n){if(e.length!==t.length)return!1;for(var o=0,i=e.length;i>o;o++)if(!n(e[o],t[o]))return!1;return!0}function r(e,t){void 0===t&&(t=null);for(var n=new Array(e);e-->0;)n.push(t);return n}function s(e,t,n){for(var o=0,i=e.length-1;i>=o;){var r=(o+i)/2|0,s=n(e[r],t);if(0>s)o=r+1;else{if(!(s>0))return r;i=r-1}}return-(o+1)}function a(e,t){var n=0,o=e.length;if(0===o)return 0;for(;o>n;){var i=Math.floor((n+o)/2);t(e[i])?o=i:n=i+1}return n}function u(e,t){var n=new Array;if(t)for(var o={},i=0;ii;i++)n.push.apply(n,e[i]);return n}function l(e){return e?e.filter(function(e){return!!e}):e}function c(e,t){return e.indexOf(t)>=0}function d(e,t,n){var o=e[t],i=e[n];e[t]=i,e[n]=o}function h(e,t,n){e.splice(n,0,e.splice(t,1)[0])}function p(e){return!Array.isArray(e)||0===e.length}function f(e,t){if(!t)return e.filter(function(t,n){return e.indexOf(t)===n});var n={};return e.filter(function(e){var o=t(e);return n[o]?!1:(n[o]=!0,!0)})}function m(e,t,n){void 0===n&&(n=null);for(var o=0;oo;o++)n.push(e);return n}function v(e,t,n){void 0===n&&(n=function(e,t){return e===t});for(var o=0,i=0,r=Math.min(e.length,t.length);r>i&&n(e[i],t[i]);i++)o++;return o}t.tail=n,t.forEach=o,t.equals=i,t.fill=r,t.binarySearch=s,t.findFirst=a,t.merge=u,t.coalesce=l,t.contains=c,t.swap=d,t.move=h,t.isFalsyOrEmpty=p,t.distinct=f,t.first=m,t.repeat=g,t.commonPrefixLength=v}),define("vs/base/common/assert",["require","exports"],function(e,t){function n(e,t){if(!e||null===e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}t.ok=n}),define("vs/base/common/bits/bits",["require","exports"],function(e,t){function n(e,t,n){return void 0===n&&(n="0"),new Array(t-e.length+1).join(n)+e}function o(e,t){return void 0===t&&(t=32),n((e>>>0).toString(16),t/4)}function i(e,t,n){void 0===n&&(n=32);var o=n-t,i=~((1<>>o)>>>0}function r(e,t){var n=65535&e,o=e>>>16,i=65535&t,r=t>>>16,s=0,a=0,u=0,l=0,c=i*n;return s+=65535&c,a+=c>>>16,c=i*o,a+=65535&c,u+=c>>>16,c=r*n,a+=65535&c,u+=c>>>16,u+=a>>>16,a=65535&a,c=r*o,u+=65535&c,l+=c>>>16,l+=u>>>16,u=65535&u,[(l<<16|u)>>>0,(a<<16|s)>>>0]}t.leftPad=n,t.toHexString=o,t.leftRotate=i,t.multiply64=r}),define("vs/base/common/bits/encoding",["require","exports","./bits"],function(e,t,n){function o(e){if(e>>>=0,128>e)return 1;if(2048>e)return 2;if(65536>e)return 3;if(2097152>e)return 4;if(67108864>e)return 5;if(2147483648>e)return 6;throw new Error("Code point 0x"+n.toHexString(e)+" not encodable in UTF8.")}function i(e,t,n){var i=o(e);if(1===i)return t[n]=e,1;t[n]=255&(252<<6-i|e>>>6*(i-1));for(var r=1;i>r;r++)t[n+r]=255&(128|63&e>>>6*(i-r-1));return i}function r(e,t){var n,r,s=0,a=0,u=0,l=0;for(n=0,r=e.length;r>n;n++){if(a=e.charCodeAt(n),a>=55296&&56320>a){if(u=e.charCodeAt(++n),!(u>=56320&&57344>u))throw new Error("Invalid char code");l=((a-55296&1023)<<10|u-56320&1023)+65536}else l=a;s+=o(l)}t&&(s+=3);var c=new ArrayBuffer(s),d=new Uint8Array(c),h=0;for(t&&(d[0]=239,d[1]=187,d[2]=191,h+=3),n=0,r=e.length;r>n;n++)a=e.charCodeAt(n),a>=55296&&56320>a?(u=e.charCodeAt(++n),l=((a-55296&1023)<<10|u-56320&1023)+65536):l=a,h+=i(l,d,h);return c}function s(e,t,n,o){var i=2*e.length;if(i>o)throw Error("Unable to encode string to UTF16. Need "+i+" bytes, but only have "+o+" bytes.");for(var r=0;ro;o++)if(!e[o].every(t))return!1;return!0}}}function f(e){return{every:function(t){return t(e)}}}function m(e){if(Array.isArray(e))return e;var t=[];return e.every(function(e){return t.push(e),!0}),t}t.createStringDictionary=n,t.createNumberDictionary=o,t.lookup=i,t.lookupOrInsert=r,t.insert=s;var g=Object.prototype.hasOwnProperty;t.contains=a,t.keys=u,t.values=l,t.forEach=c,t.remove=d,t.groupBy=h,t.EmptyIterable={every:function(e){return!0}},t.combine=p,t.singleton=f,t.toArray=m;var v=function(){function e(e){this.size=e,this.cache=Object.create(null),this.order=[]}return e.prototype.get=function(e){var t=this.cache[e];return t&&t.element},e.prototype.put=function(e,t,n){var o=this.cache[e],i={element:t,onRemove:n};this.cache[e]=i,o||this.order.push(e),this.swipe()},e.prototype.swipe=function(){for(;this.order.length>this.size;){var e=this.order.shift(),t=this.cache[e];t.onRemove(),delete this.cache[e]}},e}();t.LimitedSizeCache=v}),define("vs/base/common/diff/diffChange",["require","exports"],function(e,t){t.DifferenceType={Add:0,Remove:1,Change:2};var n=function(){function e(e,t,n,o){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=o}return e.prototype.getChangeType=function(){return 0===this.originalLength?t.DifferenceType.Add:0===this.modifiedLength?t.DifferenceType.Remove:t.DifferenceType.Change},e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();t.DiffChange=n}),define("vs/base/common/diff/diff",["require","exports","vs/base/common/diff/diffChange"],function(e,t,n){var o=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}();t.Debug=o;var i=function(){function e(){}return e.Copy=function(e,t,n,o,i){for(var r=0;i>r;r++)n[o+r]=e[t+r]},e}();t.MyArray=i;var r=1447,s=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new n.DiffChange(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}(),a=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_originalIds=[],this.m_modifiedIds=[],this.m_forwardHistory=[],this.m_reverseHistory=[],this.ComputeUniqueIdentifiers()}return e.prototype.ComputeUniqueIdentifiers=function(){var e=this.OriginalSequence.getLength(),t=this.ModifiedSequence.getLength();this.m_originalIds=new Array(e),this.m_modifiedIds=new Array(t);var n,o={},i=1;for(n=0;e>n;n++){var r=this.OriginalSequence.getElementHash(n);o.hasOwnProperty(r)?this.m_originalIds[n]=o[r]:(this.m_originalIds[n]=i++,o[r]=this.m_originalIds[n])}for(n=0;t>n;n++){var s=this.ModifiedSequence.getElementHash(n);o.hasOwnProperty(s)?this.m_modifiedIds[n]=o[s]:(this.m_modifiedIds[n]=i++,o[s]=this.m_modifiedIds[n])}},e.prototype.ElementsAreEqual=function(e,t){return this.m_originalIds[e]===this.m_modifiedIds[t]},e.prototype.ComputeDiff=function(){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1)},e.prototype._ComputeDiff=function(e,t,n,o){var i=[!1];return this.ComputeDiffRecursive(e,t,n,o,i)},e.prototype.ComputeDiffRecursive=function(e,t,i,r,s){for(s[0]=!1;t>=e&&r>=i&&this.ElementsAreEqual(e,i);)e++,i++;for(;t>=e&&r>=i&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||i>r){var a;return r>=i?(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n.DiffChange(e,0,i,r-i+1)]):t>=e?(o.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n.DiffChange(e,t-e+1,i,0)]):(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],l=[0],c=this.ComputeRecursionPoint(e,t,i,r,u,l,s),d=u[0],h=l[0];if(null!==c)return c;if(!s[0]){var p=this.ComputeDiffRecursive(e,d,i,h,s),f=[];return f=s[0]?[new n.DiffChange(d+1,t-(d+1)+1,h+1,r-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,r,s),this.ConcatenateChanges(p,f)}return[new n.DiffChange(e,t-e+1,i,r-i+1)]},e.prototype.WALKTRACE=function(e,t,o,i,r,a,u,l,c,d,h,p,f,m,g,v,y,_){var b,C=null,w=null,E=new s,S=t,T=o,L=f[0]-v[0]-i,x=Number.MIN_VALUE,M=this.m_forwardHistory.length-1;do b=L+e,b===S||T>b&&c[b-1]h&&E.MarkNextChange(),x=h,E.AddModifiedElement(h+1,m),L=b+1-e):(h=c[b-1]+1,m=h-L-i,x>h&&E.MarkNextChange(),x=h-1,E.AddOriginalElement(h,m+1),L=b-1-e),M>=0&&(c=this.m_forwardHistory[M],e=c[0],S=1,T=c.length-1);while(--M>=-1);if(C=E.getReverseChanges(),_[0]){var I=f[0]+1,N=v[0]+1;if(null!==C&&C.length>0){var R=C[C.length-1];I=Math.max(I,R.getOriginalEnd()),N=Math.max(N,R.getModifiedEnd())}w=[new n.DiffChange(I,p-I+1,N,g-N+1)]}else{E=new s,S=a,T=u,L=f[0]-v[0]-l,x=Number.MAX_VALUE,M=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do b=L+r,b===S||T>b&&d[b-1]>=d[b+1]?(h=d[b+1]-1,m=h-L-l,h>x&&E.MarkNextChange(),x=h+1,E.AddOriginalElement(h+1,m+1),L=b+1-r):(h=d[b-1],m=h-L-l,h>x&&E.MarkNextChange(),x=h,E.AddModifiedElement(h+1,m+1),L=b-1-r),M>=0&&(d=this.m_reverseHistory[M],r=d[0],S=1,T=d.length-1);while(--M>=-1);w=E.getChanges()}return this.ConcatenateChanges(C,w)},e.prototype.ComputeRecursionPoint=function(e,t,o,s,a,u,l){var c,d,h,p=0,f=0,m=0,g=0;e--,o--,a[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var v=t-e+(s-o),y=v+1,_=new Array(y),b=new Array(y),C=s-o,w=t-e,E=e-o,S=t-s,T=w-C,L=T%2===0;_[C]=e,b[w]=t,l[0]=!1;var x,M;for(h=1;v/2+1>=h;h++){var I=0,N=0;for(p=this.ClipDiagonalBound(C-h,h,C,y),f=this.ClipDiagonalBound(C+h,h,C,y),x=p;f>=x;x+=2){for(c=x===p||f>x&&_[x-1]<_[x+1]?_[x+1]:_[x-1]+1,d=c-(x-C)-E,M=c;t>c&&s>d&&this.ElementsAreEqual(c+1,d+1);)c++,d++;if(_[x]=c,c+d>I+N&&(I=c,N=d),!L&&Math.abs(x-w)<=h-1&&c>=b[x])return a[0]=c,u[0]=d,M<=b[x]&&r>0&&r+1>=h?this.WALKTRACE(C,p,f,E,w,m,g,S,_,b,c,t,a,d,s,u,L,l):null}var R=(I-e+(N-o)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(I,this.OriginalSequence,R))return l[0]=!0,a[0]=I,u[0]=N,R>0&&r>0&&r+1>=h?this.WALKTRACE(C,p,f,E,w,m,g,S,_,b,c,t,a,d,s,u,L,l):(e++,o++,[new n.DiffChange(e,t-e+1,o,s-o+1)]);for(m=this.ClipDiagonalBound(w-h,h,w,y),g=this.ClipDiagonalBound(w+h,h,w,y),x=m;g>=x;x+=2){for(c=x===m||g>x&&b[x-1]>=b[x+1]?b[x+1]-1:b[x-1],d=c-(x-w)-S,M=c;c>e&&d>o&&this.ElementsAreEqual(c,d);)c--,d--;if(b[x]=c,L&&Math.abs(x-C)<=h&&c<=_[x])return a[0]=c,u[0]=d,M>=_[x]&&r>0&&r+1>=h?this.WALKTRACE(C,p,f,E,w,m,g,S,_,b,c,t,a,d,s,u,L,l):null}if(r>=h){var k=new Array(f-p+2);k[0]=C-p+1,i.Copy(_,p,k,1,f-p+1),this.m_forwardHistory.push(k),k=new Array(g-m+2),k[0]=w-m+1,i.Copy(b,m,k,1,g-m+1),this.m_reverseHistory.push(k)}}return this.WALKTRACE(C,p,f,E,w,m,g,S,_,b,c,t,a,d,s,u,L,l)},e.prototype.ConcatenateChanges=function(e,t){var n=[],o=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(o=new Array(e.length+t.length-1),i.Copy(e,0,o,0,e.length-1),o[e.length-1]=n[0],i.Copy(t,1,o,e.length,t.length-1),o):(o=new Array(e.length+t.length),i.Copy(e,0,o,0,e.length),i.Copy(t,0,o,e.length,t.length),o)},e.prototype.ChangesOverlap=function(e,t,i){if(o.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),o.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 r=e.originalStart,s=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new n.DiffChange(r,s,a,u),!0}return i[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,o){if(e>=0&&o>e)return e;var i=n,r=o-n-1,s=t%2===0;if(0>e){var a=i%2===0;return s===a?0:1}var u=r%2===0;return s===u?o-1:o-2},e}();t.LcsDiff=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/events",["require","exports"],function(e,t){var n=function(){function e(e){this.time=(new Date).getTime(),this.originalEvent=e,this.source=null}return e}();t.Event=n;var o=function(e){function t(t,n,o,i){e.call(this,i),this.key=t,this.oldValue=n,this.newValue=o}return __extends(t,e),t}(n);t.PropertyChangeEvent=o;var i=function(e){function t(t,n){e.call(this,n),this.element=t}return __extends(t,e),t}(n);t.ViewerEvent=i,t.EventType={PROPERTY_CHANGED:"propertyChanged",SELECTION:"selection",FOCUS:"focus",BLUR:"blur",HIGHLIGHT:"highlight",EXPAND:"expand",COLLAPSE:"collapse",TOGGLE:"toggle",CONTENTS_CHANGED:"contentsChanged",BEFORE_RUN:"beforeRun",RUN:"run",EDIT:"edit",SAVE:"save",CANCEL:"cancel",CHANGE:"change",DISPOSE:"dispose"}}),define("vs/base/common/hash",["require","exports"],function(e,t){function n(e){for(var t=1540483477,n=24,o=0,i=e.length,r=i,s=0^r,a=o;r>=2;){var u=e.charCodeAt(a),l=e.charCodeAt(a+1),c=u|l<<16;c*=t,c^=c>>n,c*=t,s*=t,s^=c,a+=2,r-=2}return 1===r&&(s^=e.charCodeAt(a),s*=t),s^=s>>13,s*=t,s^=s>>15}function o(e,t){return(t<<5)+t+e&2147483647}t.computeMurmur2StringHashCode=n,t.combine=o}),define("vs/base/common/http",["require","exports"],function(e,t){function n(e){return e>=300&&303>=e||307===e}function o(e,t,n,o){var i,r;return{header:function(n){if("undefined"==typeof r)for(r=Object.create(null),l.lastIndex=t;;){var o=l.exec(e);if(!o)break;if(r[o[1].toLowerCase()]=o[2],o[3])break}return r[n.toLowerCase()]},value:function(){return"undefined"==typeof i&&(i=e.substr(n+2,o)),i}}}function i(e,t,n){void 0===n&&(n=0);var i=e.responseText;for(u.lastIndex=n;;){var r=u.exec(i);if(!r)return n;var s=parseInt(r[1],10);if(i.lengtht;t++)e[t]&&e[t].dispose();return[]}function o(){for(var e=[],t=0;t0;)e.pop()();return e}return null}return null}t.empty=Object.freeze({dispose:function(){}}),t.disposeAll=n,t.combinedDispose=o,t.combinedDispose2=i,t.fnToDisposable=r,t.toDisposable=s,t.cAll=a}),define("vs/base/common/platform",["require","exports"],function(e,t){function n(){return"undefined"!=typeof d.Worker}var o=!1,i=!1,r=!1,s=!1,a=!1,u=!1;if("object"==typeof process)o="win32"===process.platform,i="darwin"===process.platform,r="linux"===process.platform,s=!0;else if("object"==typeof navigator){var l=navigator.userAgent;o=l.indexOf("Windows")>=0,i=l.indexOf("Macintosh")>=0,r=l.indexOf("Linux")>=0,a=!0,u=!!self.QUnit}!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(t.Platform||(t.Platform={}));var c=t.Platform;t._platform=c.Web,s&&(i?t._platform=c.Mac:o?t._platform=c.Windows:r&&(t._platform=c.Linux)),t.isWindows=o,t.isMacintosh=i,t.isLinux=r,t.isNative=s,t.isWeb=a,t.isQunit=u,t.platform=t._platform;var d="object"==typeof self?self:global;t.globals=d,t.hasWebWorkerSupport=n,t.setTimeout=d.setTimeout.bind(d),t.clearTimeout=d.clearTimeout.bind(d),t.setInterval=d.setInterval.bind(d),t.clearInterval=d.clearInterval.bind(d)}),define("vs/base/common/flags",["require","exports","vs/base/common/platform"],function(e,t,n){function o(){var e=2,t=(n.globals.location?n.globals.location.search:"").match(/monaco-workers=(\d+)/i);return t&&(e=parseInt(t[1],10)),i("workersCount",e)}function i(e,t){return void 0===t&&(t=!1),n.globals.MonacoEnvironment&&n.globals.MonacoEnvironment.hasOwnProperty(e)?n.globals.MonacoEnvironment[e]:t}t.workersCount=o(),t.enableTasks=i("enableTasks"),t.enableSendASmile=i("enableSendASmile"),t.enableJavaScriptRewriting=i("enableJavaScriptRewriting"),t.enableTypeScriptServiceMode=i("enableTypeScriptServiceMode"),t.enableTypeScriptServiceModeForJS=i("enableTypeScriptServiceModeForJS"),t.standaloneEditorTelemetryEndpoint=i("telemetryEndpoint",null),t.getCrossOriginWorkerScriptUrl=i("getWorkerUrl",null),t.enableExtensionGallery=i("enableExtensionGallery")}),define("vs/base/common/paths",["require","exports","vs/base/common/platform"],function(e,t,n){function o(e,n){e=i(e),n=i(n);for(var o=e.split(t.sep),r=n.split(t.sep);o.length>0&&r.length>0&&o[0]===r[0];)o.shift(),r.shift();for(var s=0,a=o.length;a>s;s++)r.unshift("..");return r.join(t.sep)}function i(e,o){if(!e)return e;if(!g.test(e)){var i=o&&n.isWindows?"/":"\\";if(-1===e.indexOf(i))return e}for(var r=e.split(/[\\\/]/),s=0,a=r.length;a>s;s++)"."===r[s]&&r[s+1]?(r.splice(s,1),s-=1):".."===r[s]&&r[s-1]&&(r.splice(s-1,2),s-=2);return r.join(o?t.nativeSep:t.sep)}function r(e){function t(){return"."===n||"/"===n||"\\"===n?(n=void 0,o=!0):n=s(n),{value:n,done:o}}var n=e,o=!1;return{next:t}}function s(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?".":0===~t?e[0]:e.substring(0,~t)}function a(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?e:~t===e.length-1?a(e.substring(0,e.length-1)):e.substr(~t+1)}function u(e){e=a(e);var t=~e.lastIndexOf(".");return t?e.substring(~t):""}function l(e){if(!e)return 0;if(e=e.replace(/\/|\\/g,"/"),"/"===e[0])return"/"!==e[1]?1:2;if(":"===e[1])return"/"===e[2]?3:2;if(0===e.indexOf("file:///"))return 8;var t=e.indexOf("://");return-1!==t?t+3:0}function c(){for(var e=[],t=0;t1&&"."===e[0]}function m(e,t){if(e===t)return!0;e=i(e),t=i(t);var o=t.length,r=t.charCodeAt(o-1);if(r===v&&(t=t.substring(0,o-1),o-=1),e===t)return!0;if(n.isLinux||(e=e.toLowerCase(),t=t.toLowerCase()),e===t)return!0;if(0!==e.indexOf(t))return!1;var s=e.charCodeAt(o);return s===v}t.sep="/",t.nativeSep=n.isWindows?"\\":"/",t.relative=o;var g=/[\\\/]\.\.?[\\\/]?|[\\\/]?\.\.?[\\\/]/;t.normalize=i,t.dirnames=r,t.dirname=s,t.basename=a,t.extname=u,t.join=c,t.isUNC=d,t.isAbsolute=h,t.makeAbsolute=p,t.isRelative=f;var v="/".charCodeAt(0);t.isEqualOrParent=m}),define("vs/base/common/remote",["require","exports"],function(e,t){function n(e,t,n){var i={$__IS_REMOTE_OBJ:!0};for(var r in n.prototype)"function"==typeof n.prototype[r]&&(i[r]=o(e,t,r));return i}function o(e,t,n){return function(){for(var o=[],i=0;i=0&&e=0&&e=0?this.values[t]:null},e.prototype.getValues=function(){return new r(this.values)},e.prototype.indexOfKey=function(e){if(!e)throw new Error("Key must be defined.");return Math.max(-1,n.binarySearch(this.keys,e,this.comparator))},e.prototype.add=function(e,t){if(!e||!t)throw new Error("Key and value must be defined.");for(var n=0;n0;)n++;this.keys.splice(n,0,e),this.values.splice(n,0,t)},e.prototype.remove=function(e){if(!e)throw new Error("Key must be defined.");var t=this.indexOfKey(e);return t>=0&&(this.values.splice(t,1),this.keys.splice(t,1)),t>=0},e.prototype.getIterator=function(){return new i(this.keys,this.values)},e.DEFAULT_COMPARATOR=function(e,t){return t>e?-1:e>t?1:0},e}();t.SortedList=o;var i=function(){function e(e,t){this.keys=e,this.values=t,this.index=-1}return Object.defineProperty(e.prototype,"current",{get:function(){return this.index<0||this.keys.length0&&e.every(function(e){return d(e)})}function p(e){for(var t=[],n=1;n=0&&h.indexOf("MSIE")<0,t.isIE10=h.indexOf("MSIE 10")>=0,t.isIE9=h.indexOf("MSIE 9")>=0,t.isIE11orEarlier=t.isIE11||t.isIE10||t.isIE9,t.isIE10orEarlier=t.isIE10||t.isIE9,t.isIE10orLater=t.isIE11||t.isIE10,t.isOpera=h.indexOf("Opera")>=0,t.isFirefox=h.indexOf("Firefox")>=0,t.isWebKit=h.indexOf("AppleWebKit")>=0,t.isChrome=h.indexOf("Chrome")>=0,t.isSafari=-1===h.indexOf("Chrome")&&h.indexOf("Safari")>=0,t.isIPad=h.indexOf("iPad")>=0,t.canUseTranslate3d=!t.isIE9&&!t.isFirefox,t.enableEmptySelectionClipboard=t.isWebKit,t.canPushState=i;var p=!1;t.disablePushState=r,t.hasCSSAnimationSupport=s,t.canPlayVideo=a,t.canPlayAudio=u,t.isInWebWorker=l,t.supportsExecCommand=c}),define("vs/base/browser/browserService",["require","exports","vs/base/browser/browser"],function(e,t,n){function o(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName}function i(){return s}t.regularIsHTMLElement=o;var r=function(){function e(){this.restore()}return e.prototype.mock=function(e){this.document=e.document,this.window=e.window,this.isHTMLElement=e.isHTMLElement},e.prototype.restore=function(){this.isHTMLElement=o,n.isInWebWorker()?(this.document=null,this.window=null):(this.document=window.document,this.window=window)},e}(),s=new r;t.getService=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/mouseEvent",["require","exports","vs/base/common/platform","vs/base/browser/browser","vs/base/browser/iframe"],function(e,t,n,o,i){var r=function(){function e(e){var t=this;this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.target=e.target||e.targetNode||e.srcElement,this.detail=e.detail||1,"dblclick"===e.type&&(this.detail=2),this.posx=0,this.posy=0,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=function(){return e.clientX||e.clientY?(t.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,t.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop,!0):!1},r=function(){return e.pageX||e.pageY?(t.posx=e.pageX,t.posy=e.pageY,!0):!1},s=r,a=n;o.isIE10&&(s=n,a=r),s()||a();var u=i.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=u.left,this.posy-=u.top}return e.prototype.preventDefault=function(){this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}();t.StandardMouseEvent=r;var s=function(e){function t(t){e.call(this,t),this.dataTransfer=t.dataTransfer}return __extends(t,e),t}(r);t.DragMouseEvent=s;var a=function(e){function t(t){e.call(this,t)}return __extends(t,e),t}(s);t.DropMouseEvent=a;var u=function(){function e(e,t,i){if(void 0===t&&(t=0),void 0===i&&(i=0),this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t,e){var r=e,s=e;"undefined"!=typeof r.wheelDeltaY?this.deltaY=r.wheelDeltaY/120:"undefined"!=typeof s.VERTICAL_AXIS&&s.axis===s.VERTICAL_AXIS&&(this.deltaY=-s.detail/3),"undefined"!=typeof r.wheelDeltaX?o.isSafari&&n.isWindows?this.deltaX=-(r.wheelDeltaX/120):this.deltaX=r.wheelDeltaX/120:"undefined"!=typeof s.HORIZONTAL_AXIS&&s.axis===s.HORIZONTAL_AXIS&&(this.deltaX=-e.detail/3),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}();t.StandardMouseWheelEvent=u}),define("vs/base/common/bits/hash",["require","exports","vs/base/common/bits/bits","vs/base/common/bits/encoding","vs/base/common/types"],function(e,t,n,o,i){function r(e,t,n,o,i){for(var r=0,s=Math.min(e.byteLength-t,n.byteLength-o,i);s>r;r++)e[t+r]=n[o+r];return s}function s(e,t,n,o){void 0===t&&(t=0),void 0===n&&(n=e.byteLength),void 0===o&&(o=0);for(var i=0;n>i;i++)e[t+i]=o}function a(e,t,n){if("undefined"==typeof ArrayBuffer)return null;var r=i.isString(e)?o.encodeToUTF8(e,t):e,s=new u;return n&&s.update(n(r.byteLength)),r.byteLength&&s.update(r),s.digest()}var u=function(){function e(){this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.length=0,this.buffer=new Uint8Array(e.BLOCK_SIZE),this.bufferDV=new DataView(this.buffer.buffer),this.bufferLength=0,this.bigBlock32=new DataView(new ArrayBuffer(320))}return e.digest=function(t){var n=new e;return n.update(t),n.digest()},e.prototype.update=function(t){if(!this.buffer)throw new Error("Digest already computed.");var n;n=i.isString(t)?new Uint8Array(o.encodeToUTF8(t)):t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer):t;for(var s=0,a=0;a56&&(this.step(this.bufferDV),s(this.buffer));var e=n.multiply64(8,this.length);this.bufferDV.setUint32(56,e[0],!1),this.bufferDV.setUint32(60,e[1],!1),this.step(this.bufferDV),this.buffer=null,this.bufferDV=null,this.bufferLength=-1},e.prototype.step=function(e){for(var t=0;64>t;t+=4)this.bigBlock32.setUint32(t,e.getUint32(t,!1),!1);for(t=64;320>t;t+=4)this.bigBlock32.setUint32(t,n.leftRotate(this.bigBlock32.getUint32(t-12,!1)^this.bigBlock32.getUint32(t-32,!1)^this.bigBlock32.getUint32(t-56,!1)^this.bigBlock32.getUint32(t-64,!1),1),!1);var o,i,r,s=this.h0,a=this.h1,u=this.h2,l=this.h3,c=this.h4;for(t=0;80>t;t++)20>t?(o=a&u|~a&l,i=1518500249):40>t?(o=a^u^l,i=1859775393):60>t?(o=a&u|a&l|u&l,i=2400959708):(o=a^u^l,i=3395469782),r=n.leftRotate(s,5)+o+c+i+this.bigBlock32.getUint32(4*t,!1)&4294967295,c=l,l=u,u=n.leftRotate(a,30),a=s,s=r;this.h0=this.h0+s&4294967295,this.h1=this.h1+a&4294967295,this.h2=this.h2+u&4294967295,this.h3=this.h3+l&4294967295,this.h4=this.h4+c&4294967295},e.BLOCK_SIZE=64,e}();t.SHA1=u,t.computeSHA1Hash=a}),define("vs/base/common/graph",["require","exports","vs/base/common/types","vs/base/common/collections"],function(e,t,n,o){function i(e){return{data:e,incoming:{},outgoing:{}}}t.newNode=i;var r=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return o.forEach(this._nodes,function(t){n.isEmptyObject(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.traverse=function(e,t,n){var o=this.lookup(e);o&&this._traverse(o,t,{},n)},e.prototype._traverse=function(e,t,n,i){var r=this,s=this._hashFn(e.data);if(!o.contains(n,s)){n[s]=!0,i(e.data);var a=t?e.outgoing:e.incoming;o.forEach(a,function(e){return r._traverse(e.value,t,n,i)})}},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),o=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=o,o.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],o.forEach(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=o.lookup(this._nodes,t);return n||(n=i(e),this._nodes[t]=n),n},e.prototype.lookup=function(e){return o.lookup(this._nodes,this._hashFn(e))},Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this._nodes).length},enumerable:!0,configurable:!0}),e}();t.Graph=r}),define("vs/base/common/labels",["require","exports","vs/base/common/platform","vs/base/common/types","vs/base/common/paths"],function(e,t,n,o,i){function r(e,t){var o=t&&s(t),r=s(e);return o&&i.isEqualOrParent(r,o)?i.normalize(r.substr(o.length+1),n.isNative):n.isWindows&&":"===r[1]?i.normalize(r.charAt(0).toUpperCase()+r.slice(1),n.isNative):i.normalize(r,n.isNative)}function s(e){if(!e)return null;if("string"==typeof e)return e;if(o.isFunction(e.getWorkspace)){var t=e.getWorkspace();return t?t.resource.fsPath:void 0}return e.fsPath}var a=function(){function e(e){this.root=e&&s(e)}return e.prototype.getLabel=function(e){return r(s(e),this.root)},e}();t.PathLabelProvider=a,t.getPathLabel=r}),define("vs/base/common/objects",["require","exports","vs/base/common/types"],function(e,t,n){function o(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(n){e[n]&&"object"==typeof e[n]?t[n]=o(e[n]):t[n]=e[n]}),t}function i(e){if(!e||"object"!=typeof e)return e;var t=Array.isArray(e)?[]:{};return Object.getOwnPropertyNames(e).forEach(function(n){e[n]&&"object"==typeof e[n]?t[n]=i(e[n]):t[n]=e[n]}),t}function r(e,t){return s(e,t,[])}function s(e,t,o){if(n.isUndefinedOrNull(e))return e;var i=t(e);if("undefined"!=typeof i)return i;if(n.isArray(e)){for(var r=[],a=0;a=0)throw new Error("Cannot clone recursive data-structure");o.push(e);var u={};for(var l in e)g.call(e,l)&&(u[l]=s(e[l],t,o));return o.pop(),u}return e}function a(e,t,o){return void 0===o&&(o=!0),n.isObject(e)?(n.isObject(t)&&Object.keys(t).forEach(function(i){i in e?o&&(n.isObject(e[i])&&n.isObject(t[i])?a(e[i],t[i],o):e[i]=t[i]):e[i]=t[i]}),e):t}function u(e){for(var t=[],n=1;na;a++)r[a]=i(r[a]);t.push(r.join("/"))}if(this._query){var l=/https?/i.test(this.scheme)?encodeURI:i;t.push("?"),t.push(l(this._query))}this._fragment&&(t.push("#"),t.push(i(this._fragment))),this._formatted=t.join("")}return this._formatted},e.prototype.toJSON=function(){return this.toString()},e.prototype._toSerialized=function(){return{$isURI:!0,_scheme:this._scheme,_authority:this._authority,_path:this._path,_query:this._query,_fragment:this._fragment,_fsPath:this._fsPath,_formatted:this._formatted}},e._fromSerialized=function(t){var n=new e;return n._scheme=t._scheme,n._authority=t._authority,n._path=t._path,n._query=t._query,n._fragment=t._fragment,n._fsPath=t._fsPath,n._formatted=t._formatted,n},e.isURI=function(t){return t instanceof e?!0:t?"string"!=typeof t.scheme?!1:"string"!=typeof t.authority?!1:"string"!=typeof t.fsPath?!1:"string"!=typeof t.query?!1:"string"!=typeof t.fragment?!1:"function"!=typeof t["with"]?!1:"function"!=typeof t.withScheme?!1:"function"!=typeof t.withAuthority?!1:"function"!=typeof t.withPath?!1:"function"!=typeof t.withQuery?!1:"function"!=typeof t.withFragment?!1:"function"!=typeof t.toString?!1:"function"!=typeof t.toJSON?!1:!0:!1},e._empty="",e._regexp=/^(([^:\/?#]+?):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,e._driveLetterPath=/^\/[a-zA-z]:/,e._driveLetter=/^[a-zA-z]:/,e}();Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=r,n.registerMarshallingContribution({canSerialize:function(e){return r.isURI(e)},serialize:function(e,t){return e._toSerialized()},canDeserialize:function(e){return e.$isURI},deserialize:function(e,t){return r._fromSerialized(e)}})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/uuid",["require","exports"],function(e,t){function n(){return new s}function o(e){if(!a.test(e))throw new Error("invalid uuid");return new r(e)}function i(){return n().asHex()}var r=function(){function e(e){this._value=e}return e.prototype.asHex=function(){return this._value},e.prototype.equals=function(e){return this.asHex()===e.asHex()},e}(),s=function(e){function t(){e.call(this,[t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))}return __extends(t,e),t._oneOf=function(e){var t=Math.floor(e.length*Math.random());return e[t]},t._randomHex=function(){return t._oneOf(t._chars)},t._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],t._timeHighBits=["8","9","a","b"],t}(r);t.empty=new r("00000000-0000-0000-0000-000000000000"),t.v4=n;var a=/^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$/;t.parse=o,t.generateUuid=i}),"undefined"==typeof WinJS&&(!function(e){e.setImmediate||("undefined"!=typeof process&&"function"==typeof process.nextTick?e.setImmediate=function(e){return process.nextTick(e)}:e.setImmediate=function(e){return setTimeout(e,0)})}(this),function(e,t){function n(e,n){var o,i,r,s=Object.keys(n);for(i=0,r=s.length;r>i;i++){var a=s[i],u=95!==a.charCodeAt(0),l=n[a];!l||"object"!=typeof l||l.value===t&&"function"!=typeof l.get&&"function"!=typeof l.set?u?e[a]=l:(o=o||{},o[a]={value:l,enumerable:u,configurable:!0,writable:!0}):(l.enumerable===t&&(l.enumerable=u),o=o||{},o[a]=l)}o&&Object.defineProperties(e,o)}!function(t){function o(e,t,o){for(var i=e,r=t.split("."),s=0,a=r.length;a>s;s++){var u=r[s];i[u]||Object.defineProperty(i,u,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[u]}return o&&n(i,o),i}function i(t,n){return o(e,t,n)}e[t]||(e[t]=Object.create(Object.prototype));var r=e[t];r.Namespace||(r.Namespace=Object.create(Object.prototype)),Object.defineProperties(r.Namespace,{defineWithParent:{value:o,writable:!0,enumerable:!0,configurable:!0},define:{value:i,writable:!0,enumerable:!0,configurable:!0}})}("WinJS"),function(e){function t(t,o,i){return t=t||function(){},e.Utilities.markSupportedForProcessing(t),o&&n(t.prototype,o),i&&n(t,i),t}function o(o,i,r,s){if(o){i=i||function(){};var a=o.prototype;return i.prototype=Object.create(a),e.Utilities.markSupportedForProcessing(i),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0,enumerable:!0}),r&&n(i.prototype,r),s&&n(i,s),i}return t(i,r,s)}function i(e){e=e||function(){};var t,o;for(t=1,o=arguments.length;o>t;t++)n(e.prototype,arguments[t]);return e}e.Namespace.define("WinJS.Class",{define:t,derive:o,mix:i})}(e.WinJS)}(this),function(e,t){function n(e){return e}function o(e,t,n){return e.split(".").reduce(function(e,t){return e?n(e[t]):null},t)}var i=!!e.Windows,r={notSupportedForProcessing:"Value is not supported within a declarative processing context, if you want it to be supported mark it using WinJS.Utilities.markSupportedForProcessing. The value was: '{0}'"};t.Namespace.define("WinJS.Utilities",{_setHasWinRT:{value:function(e){i=e},configurable:!1,writable:!1,enumerable:!1},hasWinRT:{get:function(){return i},configurable:!1,enumerable:!0},_getMemberFiltered:o,getMember:function(t,i){return t?o(t,i||e,n):null},ready:function(n,o){return new t.Promise(function(i,r){function s(){if(n)try{n(),i()}catch(e){r(e)}else i()}var a=t.Utilities.testReadyState;a||(a=e.document?document.readyState:"complete"),"complete"===a||e.document&&null!==document.body?o?e.setImmediate(s):s():e.addEventListener("DOMContentLoaded",s,!1)})},strictProcessing:{get:function(){return!0},configurable:!1,enumerable:!0},markSupportedForProcessing:{value:function(e){return e.supportedForProcessing=!0,e},configurable:!1,writable:!1,enumerable:!0},requireSupportedForProcessing:{value:function(n){var o=!0;switch(o=o&&!(n===e),o=o&&!(n===e.location),o=o&&!(n instanceof HTMLIFrameElement),o=o&&!("function"==typeof n&&!n.supportedForProcessing),e.frames.length){case 0:break;case 1:o=o&&!(n===e.frames[0]);break;default:for(var i=0,s=e.frames.length;o&&s>i;i++)o=o&&!(n===e.frames[i])}if(o)return n;throw new t.ErrorFromName("WinJS.Utilities.requireSupportedForProcessing",t.Resources._formatString(r.notSupportedForProcessing,n))},configurable:!1,writable:!1,enumerable:!0}}),t.Namespace.define("WinJS",{validation:!1,strictProcessing:{value:function(){},configurable:!1,writable:!1,enumerable:!1}})}(this,this.WinJS),function(e){function t(e,t,n){var o=e;return"function"==typeof o&&(o=o()),(n&&r.test(n)?"":n?n+": ":"")+(t?t.replace(i,":")+": ":"")+o}function n(t,n,o){var i=e.Utilities.formatLog(t,n,o);console[o&&r.test(o)?o:"log"](i)}function o(e){return e.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&")}var i=/\s+/g,r=/^(error|warn|info|log)$/;e.Namespace.define("WinJS.Utilities",{startLog:function(t){t=t||{},"string"==typeof t&&(t={tags:t});var r=t.type&&new RegExp("^("+o(t.type).replace(i," ").split(" ").join("|")+")$"),s=t.excludeTags&&new RegExp("(^|\\s)("+o(t.excludeTags).replace(i," ").split(" ").join("|")+")(\\s|$)","i"),a=t.tags&&new RegExp("(^|\\s)("+o(t.tags).replace(i," ").split(" ").join("|")+")(\\s|$)","i"),u=t.action||n;if(!(r||s||a||e.log))return void(e.log=u);var l=function(e,t,n){r&&!r.test(n)||s&&s.test(t)||a&&!a.test(t)||u(e,t,n),l.next&&l.next(e,t,n)};l.next=e.log,e.log=l},stopLog:function(){delete e.log},formatLog:t})}(this.WinJS),function(e,t){function n(e){var t="_on"+e+"state";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(n){var o=this[t];n?(o||(o={wrapper:function(e){return o.userHandler(e)},userHandler:n},Object.defineProperty(this,t,{value:o,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,o.wrapper,!1)),o.userHandler=n):o&&(this.removeEventListener(e,o.wrapper,!1),this[t]=null)},enumerable:!0}}function o(e){for(var t={},o=0,i=arguments.length;i>o;o++){var r=arguments[o];t["on"+r]=n(r)}return t}var i=e.Class.define(function(e,t,n){this.detail=t,this.target=n,this.timeStamp=Date.now(),this.type=e},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),r={_listeners:null,addEventListener:function(e,t,n){n=n||!1,this._listeners=this._listeners||{};for(var o=this._listeners[e]=this._listeners[e]||[],i=0,r=o.length;r>i;i++){var s=o[i];if(s.useCapture===n&&s.listener===t)return}o.push({listener:t,useCapture:n})},dispatchEvent:function(e,t){var n=this._listeners&&this._listeners[e];if(n){var o=new i(e,t,this);n=n.slice(0,n.length);for(var r=0,s=n.length;s>r&&!o._stopImmediatePropagationCalled;r++)n[r].listener(o);return o.defaultPrevented||!1}return!1},removeEventListener:function(e,t,n){n=n||!1;var o=this._listeners&&this._listeners[e];if(o)for(var i=0,r=o.length;r>i;i++){var s=o[i];if(s.listener===t&&s.useCapture===n){o.splice(i,1),0===o.length&&delete this._listeners[e];break}}}};e.Namespace.define("WinJS.Utilities",{_createEventProperty:n,createEventProperties:o,eventMixin:r})}(this.WinJS),function(e,t,n){var o,i=!1,r="contextchanged",s=t.Class.mix(t.Class.define(null,{},{supportedForProcessing:!1}),t.Utilities.eventMixin),a=new s,u={malformedFormatStringInput:"Malformed, did you mean to escape your '{0}'?"};t.Namespace.define("WinJS.Resources",{addEventListener:function(e,n,o){if(t.Utilities.hasWinRT&&!i&&e===r)try{Windows.ApplicationModel.Resources.Core.ResourceManager.current.defaultContext.qualifierValues.addEventListener("mapchanged",function(e){t.Resources.dispatchEvent(r,{qualifier:e.key,changed:e.target[e.key]})},!1),i=!0}catch(s){}a.addEventListener(e,n,o)},removeEventListener:a.removeEventListener.bind(a),dispatchEvent:a.dispatchEvent.bind(a),_formatString:function(e){var n=arguments;return n.length>1&&(e=e.replace(/({{)|(}})|{(\d+)}|({)|(})/g,function(e,o,i,r,s,a){if(s||a)throw t.Resources._formatString(u.malformedFormatStringInput,s||a);return o&&"{"||i&&"}"||n[(0|r)+1]})),e},_getStringWinRT:function(e){if(!o){var t=Windows.ApplicationModel.Resources.Core.ResourceManager.current.mainResourceMap;try{o=t.getSubtree("Resources")}catch(i){}o||(o=t)}var r,s,a;try{a=o.getValue(e),a&&(r=a.valueAsString,r===n&&(r=a.toString()))}catch(i){}if(!r)return{value:e,empty:!0};try{s=a.getQualifierValue("Language")}catch(i){return{value:r}}return{value:r,lang:s}},_getStringJS:function(t){var n=e.strings&&e.strings[t];return"string"==typeof n&&(n={value:n}),n||{value:t,empty:!0}}}),Object.defineProperties(t.Resources,t.Utilities.createEventProperties(r));var l;t.Resources.getString=function(e){return(l=l||(t.Utilities.hasWinRT?t.Resources._getStringWinRT:t.Resources._getStringJS))(e)}}(this,this.WinJS),function(e,t,n){function o(){}function i(e,t){var n;n=t&&"object"==typeof t&&"function"==typeof t.then?R:A,e._value=t,e._setState(n)}function r(e,t,n,o,i,r){return{exception:e,error:t,promise:n,handler:r,id:o,parent:i}}function s(e,t,n,o){var i=n._isException,s=n._errorId;return r(i?t:null,i?null:t,e,s,n,o)}function a(e,t,n){var o=n._isException,i=n._errorId;return v(e,i,o),r(o?t:null,o?null:t,e,i,n)}function u(e,t){var n=++V;return v(e,n),r(null,t,e,n)}function l(e,t){var n=++V;return v(e,n,!0),r(t,null,e,n)}function c(e,t,n,o){g(e,{c:t,e:n,p:o})}function d(e,t,n,o){e._value=t,f(e,t,n,o),e._setState(W)}function h(e,t){var n=e._value,o=e._listeners;if(o){e._listeners=null;var i,r;for(i=0,r=Array.isArray(o)?o.length:1;r>i;i++){var s=1===r?o:o[i],a=s.c,u=s.promise;if(u){try{u._setCompleteValue(a?a(n):n)}catch(l){u._setExceptionValue(l)}u._state!==R&&u._listeners&&t.push(u)}else q.prototype.done.call(e,a)}}}function p(e,t){var n=e._value,o=e._listeners;if(o){e._listeners=null;var i,r;for(i=0,r=Array.isArray(o)?o.length:1;r>i;i++){var a=1===r?o:o[i],u=a.e,l=a.promise;if(l){try{u?(u.handlesOnError||f(l,n,s,e,u),l._setCompleteValue(u(n))):l._setChainedErrorValue(n,e)}catch(c){l._setExceptionValue(c)}l._state!==R&&l._listeners&&t.push(l)}else U.prototype.done.call(e,null,u)}}}function f(e,t,n,o,i){if(S._listeners[T]){if(t instanceof Error&&t.message===L)return;S.dispatchEvent(T,n(e,t,o,i))}}function m(e,t){var n=e._listeners;if(n){var o,i;for(o=0,i=Array.isArray(n)?n.length:1;i>o;o++){var r=1===i?n:n[o],s=r.p;if(s)try{s(t)}catch(a){}r.c||r.e||!r.promise||r.promise._progress(t)}}}function g(e,t){var n=e._listeners;n?(n=Array.isArray(n)?n:[n],n.push(t)):n=t,e._listeners=n}function v(e,t,n){e._isException=n||!1,e._errorId=t}function y(e,t,n,o){e._value=t,f(e,t,n,o),e._setState(F)}function _(e,t){var n;n=t&&"object"==typeof t&&"function"==typeof t.then?R:P,e._value=t,e._setState(n)}function b(e,t,n,o){var i=new K(e);return g(e,{promise:i,c:t,e:n,p:o}),i}function C(e){var n;return new t.Promise(function(t){e?n=setTimeout(t,e):setImmediate(t)},function(){n&&clearTimeout(n)})}function w(e,t){var n=function(){t.cancel()},o=function(){e.cancel()};return e.then(n),t.then(o,o),t}e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var E=t.Class.mix(t.Class.define(null,{},{supportedForProcessing:!1}),t.Utilities.eventMixin),S=new E;S._listeners={};var T="error",L="Canceled",x=!1,M={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};M.all=M.promise|M.thenPromise|M.errorPromise|M.exceptionPromise|M.completePromise;var I,N,R,k,O,D,A,P,W,F,V=1;I={name:"created",enter:function(e){e._setState(N)},cancel:o,done:o,then:o,_completed:o,_error:o,_notify:o,_progress:o,_setCompleteValue:o,_setErrorValue:o},N={name:"working",enter:o,cancel:function(e){e._setState(O); +},done:c,then:b,_completed:i,_error:d,_notify:o,_progress:m,_setCompleteValue:_,_setErrorValue:y},R={name:"waiting",enter:function(e){var t=e._value,n=function(o){t._errorId?e._chainedError(o,t):(f(e,o,s,t,n),e._error(o))};n.handlesOnError=!0,t.then(e._completed.bind(e),n,e._progress.bind(e))},cancel:function(e){e._setState(k)},done:c,then:b,_completed:i,_error:d,_notify:o,_progress:m,_setCompleteValue:_,_setErrorValue:y},k={name:"waiting_canceled",enter:function(e){e._setState(D);var t=e._value;t.cancel&&t.cancel()},cancel:o,done:c,then:b,_completed:i,_error:d,_notify:o,_progress:m,_setCompleteValue:_,_setErrorValue:y},O={name:"canceled",enter:function(e){e._setState(D),e._cancelAction()},cancel:o,done:c,then:b,_completed:i,_error:d,_notify:o,_progress:m,_setCompleteValue:_,_setErrorValue:y},D={name:"canceling",enter:function(e){var t=new Error(L);t.name=t.message,e._value=t,e._setState(W)},cancel:o,done:o,then:o,_completed:o,_error:o,_notify:o,_progress:o,_setCompleteValue:o,_setErrorValue:o},A={name:"complete_notify",enter:function(e){if(e.done=q.prototype.done,e.then=q.prototype.then,e._listeners)for(var t,n=[e];n.length;)t=n.pop(),t._state._notify(t,n);e._setState(P)},cancel:o,done:null,then:null,_completed:o,_error:o,_notify:h,_progress:o,_setCompleteValue:o,_setErrorValue:o},P={name:"success",enter:function(e){e.done=q.prototype.done,e.then=q.prototype.then,e._cleanupAction()},cancel:o,done:null,then:null,_completed:o,_error:o,_notify:h,_progress:o,_setCompleteValue:o,_setErrorValue:o},W={name:"error_notify",enter:function(e){if(e.done=U.prototype.done,e.then=U.prototype.then,e._listeners)for(var t,n=[e];n.length;)t=n.pop(),t._state._notify(t,n);e._setState(F)},cancel:o,done:null,then:null,_completed:o,_error:o,_notify:p,_progress:o,_setCompleteValue:o,_setErrorValue:o},F={name:"error",enter:function(e){e.done=U.prototype.done,e.then=U.prototype.then,e._cleanupAction()},cancel:o,done:null,then:null,_completed:o,_error:o,_notify:p,_progress:o,_setCompleteValue:o,_setErrorValue:o};var H,B=t.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,n){this._state.done(this,e,t,n)},then:function(e,t,n){return this._state.then(this,e,t,n)},_chainedError:function(e,t){var n=this._state._error(this,e,a,t);return this._run(),n},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,u);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var n=this._state._setErrorValue(this,e,a,t);return this._run(),n},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,l);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1}),K=t.Class.derive(B,function(e){x&&(x===!0||x&M.thenPromise)&&(this._stack=t.Promise._getStack()),this._creator=e,this._setState(I),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),U=t.Class.define(function(e){x&&(x===!0||x&M.errorPromise)&&(this._stack=t.Promise._getStack()),this._value=e,f(this,e,u)},{cancel:function(){},done:function(e,t){var n=this._value;if(t)try{t.handlesOnError||f(null,n,s,this,t);var o=t(n);return void(o&&"object"==typeof o&&"function"==typeof o.done&&o.done())}catch(i){n=i}n instanceof Error&&n.message===L||setImmediate(function(){throw n})},then:function(e,t){if(!t)return this;var n,o=this._value;try{t.handlesOnError||f(null,o,s,this,t),n=new q(t(o))}catch(i){n=i===o?this:new z(i)}return n}},{supportedForProcessing:!1}),z=t.Class.derive(U,function(e){x&&(x===!0||x&M.exceptionPromise)&&(this._stack=t.Promise._getStack()),this._value=e,f(this,e,l)},{},{supportedForProcessing:!1}),q=t.Class.define(function(e){if(x&&(x===!0||x&M.completePromise)&&(this._stack=t.Promise._getStack()),e&&"object"==typeof e&&"function"==typeof e.then){var n=new K(null);return n._setCompleteValue(e),n}this._value=e},{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&"object"==typeof t&&"function"==typeof t.done&&t.done()}catch(n){setImmediate(function(){throw n})}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new q(t)}catch(n){return new z(n)}}},{supportedForProcessing:!1}),j=t.Class.derive(B,function(e,n){x&&(x===!0||x&M.promise)&&(this._stack=t.Promise._getStack()),this._oncancel=n,this._setState(I),this._run();try{var o=this._completed.bind(this),i=this._error.bind(this),r=this._progress.bind(this);e(o,i,r)}catch(s){this._setExceptionValue(s)}},{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error("Promise did not implement oncancel");this._oncancel()}catch(e){e.message,e.stack;S.dispatchEvent("error",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,n){S.addEventListener(e,t,n)},any:function(e){return new j(function(n,o,i){var r=Object.keys(e);Array.isArray(e)?[]:{};0===r.length&&n();var s=0;r.forEach(function(i){j.as(e[i]).then(function(){n({key:i,value:e[i]})},function(a){return a instanceof Error&&a.name===L?void(++s===r.length&&n(t.Promise.cancel)):void o({key:i,value:e[i]})})})},function(){var t=Object.keys(e);t.forEach(function(t){var n=j.as(e[t]);"function"==typeof n.cancel&&n.cancel()})})},as:function(e){return e&&"object"==typeof e&&"function"==typeof e.then?e:new q(e)},cancel:{get:function(){return H=H||new U(new t.ErrorFromName(L))}},dispatchEvent:function(e,t){return S.dispatchEvent(e,t)},is:function(e){return e&&"object"==typeof e&&"function"==typeof e.then},join:function(e){return new j(function(o,i,r){var s=Object.keys(e),a=Array.isArray(e)?[]:{},u=Array.isArray(e)?[]:{},l=0,c=s.length,d=function(e){if(0===--c){var n=Object.keys(a).length;if(0===n)o(u);else{var l=0;s.forEach(function(e){var t=a[e];t instanceof Error&&t.name===L&&l++}),l===n?o(t.Promise.cancel):i(a)}}else r({Key:e,Done:!0})};return s.forEach(function(t){var o=e[t];o===n?l++:j.then(o,function(e){u[t]=e,d(t)},function(e){a[t]=e,d(t)})}),c-=l,0===c?void o(u):void 0},function(){Object.keys(e).forEach(function(t){var n=j.as(e[t]);"function"==typeof n.cancel&&n.cancel()})})},removeEventListener:function(e,t,n){S.removeEventListener(e,t,n)},supportedForProcessing:!1,then:function(e,t,n,o){return j.as(e).then(t,n,o)},thenEach:function(e,t,n,o){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(r){i[r]=j.as(e[r]).then(t,n,o)}),j.join(i)},timeout:function(e,t){var n=C(e);return t?w(n,t):n},wrap:function(e){return new q(e)},wrapError:function(e){return new U(e)},_veryExpensiveTagWithStack:{get:function(){return x},set:function(e){x=e}},_veryExpensiveTagWithStack_tag:M,_getStack:function(){if(Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}}});Object.defineProperties(j,t.Utilities.createEventProperties(T));var G=t.Class.derive(B,function(e){this._oncancel=e,this._setState(I),this._run()},{_cancelAction:function(){this._oncancel&&this._oncancel()},_cleanupAction:function(){this._oncancel=null}},{supportedForProcessing:!1}),Y=t.Class.define(function(e){this._promise=new G(e)},{promise:{get:function(){return this._promise}},cancel:function(){this._promise.cancel()},complete:function(e){this._promise._completed(e)},error:function(e){this._promise._error(e)},progress:function(e){this._promise._progress(e)}},{supportedForProcessing:!1});t.Namespace.define("WinJS",{Promise:j,_Signal:Y})}(this,this.WinJS),function(e,t){t.Namespace.define("WinJS",{ErrorFromName:t.Class.derive(Error,function(e,t){this.name=e,this.message=t||e},{},{supportedForProcessing:!1})})}(this,this.WinJS),function(e){e.Namespace.define("WinJS",{xhr:function(t){var n;return new e.Promise(function(e,o,i){n=new XMLHttpRequest,n.onreadystatechange=function(){n._canceled||(4===n.readyState?(n.status>=200&&n.status<300||1223===n.status?e(n):o(n),n.onreadystatechange=function(){}):i(n))},n.open(t.type||"GET",t.url,!0,t.user,t.password),n.responseType=t.responseType||"",Object.keys(t.headers||{}).forEach(function(e){n.setRequestHeader(e,t.headers[e])}),t.customRequestInitializer&&t.customRequestInitializer(n),n.send(t.data)},function(){n._canceled=!0,n.abort()})}})}(this.WinJS),function(e,t,n){var o,i,r,s,a,u,l={nonStaticHTML:"Unable to add dynamic content. A script attempted to inject dynamic content, or elements previously modified dynamically, that might be unsafe. For example, using the innerHTML property or the document.write method to add a script element will generate this exception. If the content is safe and from a trusted source, use a method to explicitly manipulate elements and attributes, such as createElement, or use setInnerHTMLUnsafe (or other unsafe method)."};o=i=function(e,t){e.innerHTML=t},r=s=function(e,t){e.outerHTML=t},a=u=function(e,t,n){e.insertAdjacentHTML(t,n)};var c=e.MSApp;if(c)i=function(e,t){c.execUnsafeLocalFunction(function(){e.innerHTML=t})},s=function(e,t){c.execUnsafeLocalFunction(function(){e.outerHTML=t})},u=function(e,t,n){c.execUnsafeLocalFunction(function(){e.insertAdjacentHTML(t,n)})};else if(e.msIsStaticHTML){var d=function(n){if(!e.msIsStaticHTML(n))throw new t.ErrorFromName("WinJS.Utitilies.NonStaticHTML",l.nonStaticHTML)};o=function(e,t){d(t),e.innerHTML=t},r=function(e,t){d(t),e.outerHTML=t},a=function(e,t,n){d(n),e.insertAdjacentHTML(t,n)}}t.Namespace.define("WinJS.Utilities",{setInnerHTML:o,setInnerHTMLUnsafe:i,setOuterHTML:r,setOuterHTMLUnsafe:s,insertAdjacentHTML:a,insertAdjacentHTMLUnsafe:u})}(this,this.WinJS)),function(e){"undefined"==typeof exports&&"function"==typeof define&&define.amd?define("vs/base/common/winjs.base.raw",e.WinJS):module.exports=e.WinJS}(this),define("vs/base/parts/quickopen/browser/quickOpen",["require","exports"],function(e,t){!function(e){e[e.PREVIEW=0]="PREVIEW",e[e.OPEN=1]="OPEN"}(t.Mode||(t.Mode={}));t.Mode}),define("vs/base/parts/tree/browser/treeDnd",["require","exports"],function(e,t){var n=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ElementsDragAndDropData=n;var o=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ExternalElementsDragAndDropData=o;var i=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.dataTransfer.types&&(this.types=[],Array.prototype.push.apply(this.types,e.dataTransfer.types)),e.dataTransfer.files&&(this.files=[],Array.prototype.push.apply(this.files,e.dataTransfer.files),this.files=this.files.filter(function(e){return e.size||e.type}))},e.prototype.getData=function(){return{types:this.types,files:this.files}},e}();t.DesktopDragAndDropData=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/tree/common/tree",["require","exports"],function(e,t){var n=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,"posx",{get:function(){return this._posx},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"posy",{get:function(){return this._posy},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}();t.ContextMenuEvent=n;var o=function(e){function t(t){e.call(this,t.posx,t.posy,t.target),this.originalEvent=t}return __extends(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(n);t.MouseContextMenuEvent=o;var i=function(e){function t(t,n,o){e.call(this,t,n,o.target),this.originalEvent=o}return __extends(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(n);t.KeyboardContextMenuEvent=i,function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(t.DragOverEffect||(t.DragOverEffect={}));var r=t.DragOverEffect;!function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(t.DragOverBubble||(t.DragOverBubble={}));var s=t.DragOverBubble;t.DRAG_OVER_REJECT={accept:!1},t.DRAG_OVER_ACCEPT={accept:!0},t.DRAG_OVER_ACCEPT_BUBBLE_UP={accept:!0,bubble:s.BUBBLE_UP},t.DRAG_OVER_ACCEPT_BUBBLE_DOWN={accept:!0,bubble:s.BUBBLE_DOWN},t.DRAG_OVER_ACCEPT_BUBBLE_UP_COPY={accept:!0,bubble:s.BUBBLE_UP,effect:r.COPY},t.DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY={accept:!0,bubble:s.BUBBLE_DOWN,effect:r.COPY}}),define("vs/css!vs/base/browser/builder",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/actionbar/actionbar",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/checkbox/checkbox",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/contextview/contextview",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/countBadge/countBadge",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/filelabel/filelabel",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/findinput/findInput",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/inputbox/inputBox",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/leftRightWidget/leftRightWidget",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/menu/menu",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/progressbar/progressbar",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/sash/sash",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/browser/ui/scrollbar/impl/scrollbars",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/parts/quickopen/browser/quickopen",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/base/parts/tree/browser/tree",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/contentWidgets/contentWidgets",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/decorations/decorations",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/selections/selections",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/widget/media/default-theme",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/widget/media/diffEditor",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/widget/media/editor",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/browser/widget/media/tokens",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/clipboard/browser/clipboard",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/codelens/browser/codelens",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/color/browser/color",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/find/browser/findWidget",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/goToDeclaration/browser/goToDeclaration",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/gotoError/browser/gotoError",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/hover/browser/hover",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/links/browser/links",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/outlineMarker/browser/outlineMarker",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/parameterHints/browser/parameterHints",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/quickFix/browser/quickFix",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/quickOpen/browser/gotoLine",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/quickOpen/browser/quickOutline",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/referenceSearch/browser/referenceSearchWidget",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/rename/browser/rename",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/snippet/browser/snippet",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/suggest/browser/suggest",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/workerStatusReporter/browser/workerStatusReporter",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/zoneWidget/browser/peekViewWidget",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/languages/css/common/css-hover",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/languages/typescript/common/typescript",["vs/css!vs/editor/editor.main"],{}),define("vs/css!vs/platform/contextview/browser/contextMenuHandler",["vs/css!vs/editor/editor.main"],{}),define("vs/editor/browser/config/elementSizeObserver",["require","exports"],function(e,t){var n=function(){function e(e,t){this.referenceDomElement=e,this.changeCallback=t,this.measureReferenceDomElementToken=-1,this.width=-1,this.height=-1,this.measureReferenceDomElement(!1)}return e.prototype.getWidth=function(){return this.width},e.prototype.getHeight=function(){return this.height},e.prototype.dispose=function(){this.stopObserving()},e.prototype.startObserving=function(){var e=this;-1===this.measureReferenceDomElementToken&&(this.measureReferenceDomElementToken=window.setInterval(function(){return e.measureReferenceDomElement(!0)},100))},e.prototype.stopObserving=function(){-1!==this.measureReferenceDomElementToken&&(window.clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)},e.prototype.observe=function(e){this.measureReferenceDomElement(!0,e)},e.prototype.measureReferenceDomElement=function(e,t){var n=0,o=0;t?(n=t.width,o=t.height):this.referenceDomElement&&(n=this.referenceDomElement.clientWidth,o=this.referenceDomElement.clientHeight),n=Math.max(5,n),o=Math.max(5,o),(this.width!==n||this.height!==o)&&(this.width=n,this.height=o,e&&this.changeCallback())},e}();t.ElementSizeObserver=n}),define("vs/editor/browser/editorBrowser",["require","exports"],function(e,t){t.ClassNames={TEXTAREA_COVER:"textAreaCover",TEXTAREA:"inputarea",LINES_CONTENT:"lines-content",OVERFLOW_GUARD:"overflow-guard",VIEW_LINES:"view-lines",VIEW_LINE:"view-line",SCROLLABLE_ELEMENT:"editor-scrollable",CONTENT_WIDGETS:"contentWidgets",OVERLAY_WIDGETS:"overlayWidgets",LINE_NUMBERS:"line-numbers",GLYPH_MARGIN:"glyph-margin",SCROLL_DECORATION:"scroll-decoration",VIEW_CURSORS_LAYER:"cursors-layer",VIEW_ZONES:"view-zones"},function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(t.ContentWidgetPositionPreference||(t.ContentWidgetPositionPreference={}));t.ContentWidgetPositionPreference;!function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(t.OverlayWidgetPositionPreference||(t.OverlayWidgetPositionPreference={}));t.OverlayWidgetPositionPreference}),define("vs/editor/common/config/defaultConfig",["require","exports"],function(e,t){var n=function(){function e(){this.editor={lineNumbers:!0,selectOnLineNumbers:!0,lineNumbersMinChars:5,glyphMargin:!1,lineDecorationsWidth:10,revealHorizontalRightPadding:30,roundedSelection:!0,theme:"vs",readOnly:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1},overviewRulerLanes:2,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!1,automaticLayout:!1,wrappingColumn:300,wrappingIndent:"same",wordWrapBreakBeforeCharacters:"{([+",wordWrapBreakAfterCharacters:" })]?|&,;",wordWrapBreakObtrusiveCharacters:".",tabFocusMode:!1,longLineBoundary:300,forcedTokenizationBoundary:1e3,hover:!0,contextmenu:!0,mouseWheelScrollSensitivity:1,quickSuggestions:!0,quickSuggestionsDelay:10,iconsInSuggestions:!0,autoClosingBrackets:!0,formatOnType:!1,suggestOnTriggerCharacters:!0,selectionHighlight:!0,outlineMarkers:!1,referenceInfos:!0,renderWhitespace:!1,tabSize:"auto",insertSpaces:"auto",fontFamily:"",fontSize:0,lineHeight:0}}return e}();t.DefaultConfig=new n}),define("vs/editor/common/controller/cursorMoveHelper",["require","exports"],function(e,t){var n=function(){function e(e){this.configuration=e}return e.prototype.getLeftOfPosition=function(e,t,n){return n>e.getLineMinColumn(t)?n-=1:t>1&&(t-=1,n=e.getLineMaxColumn(t)),{lineNumber:t,column:n}},e.prototype.getRightOfPosition=function(e,t,n){return nt?(t=1,n=e.getLineMinColumn(t)):n=this.columnFromVisibleColumn(e,t,r),o=r-this.visibleColumnFromColumn(e,t,n),{lineNumber:t,column:n,leftoverVisibleColumns:o}},e.prototype.getPositionDown=function(e,t,n,o,i){var r=this.visibleColumnFromColumn(e,t,n)+o;t+=i;var s=e.getLineCount();return t>s?(t=s,n=e.getLineMaxColumn(t)):n=this.columnFromVisibleColumn(e,t,r),o=r-this.visibleColumnFromColumn(e,t,n),{lineNumber:t,column:n,leftoverVisibleColumns:o}},e.prototype.getColumnAtBeginningOfLine=function(e,t,n){var o=e.getLineFirstNonWhitespaceColumn(t)||1,i=e.getLineMinColumn(t);return n=n!==i&&o>=n?i:o},e.prototype.getColumnAtEndOfLine=function(e,t,n){var o=e.getLineMaxColumn(t),i=e.getLineLastNonWhitespaceColumn(t)||o;return n=n!==o&&n>=i?o:i},e.prototype.visibleColumnFromColumn=function(t,n,o){return e.visibleColumnFromColumn(t,n,o,this.configuration.getIndentationOptions().tabSize)},e.visibleColumnFromColumn=function(t,n,o,i){return e.visibleColumnFromColumn2(t.getLineContent(n),o,i)},e.visibleColumnFromColumn2=function(t,n,o){for(var i=0,r=0;n-1>r;r++)i=" "===t.charAt(r)?e.nextTabColumn(i,o):i+1;return i},e.prototype.columnFromVisibleColumn=function(t,n,o){for(var i=t.getLineContent(n),r=-1,s=0,a=0;a=s;a++)r=s,s=" "===i.charAt(a)?e.nextTabColumn(s,this.configuration.getIndentationOptions().tabSize):s+1;s=Math.abs(o-s),r=Math.abs(o-r);var u;u=r>s?a+1:a;var l=t.getLineMinColumn(n);return l>u&&(u=l),u},e.nextTabColumn=function(e,t){return e+t-e%t},e.prevTabColumn=function(e,t){return e-1-(e-1)%t},e}();t.CursorMoveHelper=n}),define("vs/editor/common/controller/handlerDispatcher",["require","exports"],function(e,t){var n=function(){function e(e,t){this.source=e,this.data=t}return e.prototype.getSource=function(){return this.source},e.prototype.getData=function(){return this.data},e}();t.DispatcherEvent=n;var o=function(){function e(){this.registry={}}return e.prototype.setHandler=function(e,t){this.registry[e]=t},e.prototype.clearHandlers=function(){this.registry={}},e.prototype.getHandler=function(e){return this.registry.hasOwnProperty(e)?this.registry[e]:null},e.prototype.trigger=function(e,t,o){var i=this.getHandler(t),r=!1;if(i){var s=new n(e,o);r=i(s)}return r},e}();t.HandlerDispatcher=o}),define("vs/editor/common/core/arrays",["require","exports"],function(e,t){var n;!function(e){function t(e,t){for(var n,o=0,i=e.length-1;i>o;)n=o+Math.ceil((i-o)/2),e[n].startIndex>t?i=n-1:o=n;return o}e.findIndexInSegmentsArray=t}(n=t.Arrays||(t.Arrays={}))}),define("vs/editor/common/core/idGenerator",["require","exports"],function(e,t){var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.generate=function(){return this._prefix+ ++this._lastId},e}();t.IdGenerator=n}),define("vs/editor/common/core/position",["require","exports"],function(e,t){var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(e){return!!e&&this.lineNumber===e.lineNumber&&this.column===e.column},e.prototype.isBefore=function(e){return this.lineNumbern||e===n&&t>o?(this.startLineNumber=n,this.startColumn=o,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=o)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.cloneRange=function(){return new e(this.startLineNumber,this.startColumn,this.endLineNumber,this.endColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return new e(this.startLineNumber,this.startColumn,this.startLineNumber,this.startColumn)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.containsPosition=function(e,t){return t.lineNumbere.endLineNumber?!1:t.lineNumber===e.startLineNumber&&t.columne.endColumn?!1:!0},e.containsRange=function(e,t){return t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber?!1:t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn?!1:!0},e.areIntersectingOrTouching=function(e,t){return e.endLineNumbero?(o=a,i=u):o===a&&(i=Math.max(i,u)),r>l?(r=l,s=c):r===l&&(s=Math.min(s,c)),o>r?null:o===r&&i>s?null:new e(o,i,r,s)},e.plusRange=function(t,n){var o,i,r,s;return n.startLineNumbert.endLineNumber?(r=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(r=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(o,i,r,s)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.compareRangesUsingStarts=function(e,t){return e.startLineNumber===t.startLineNumber?e.startColumn===t.startColumn?e.endLineNumber===t.endLineNumber?e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber:e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e.hashCode=function(e){return 17*e.startLineNumber+23*e.startColumn+29*e.endLineNumber+37*e.endColumn},e.collapseToStart=function(e){return{startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.startLineNumber,endColumn:e.startColumn}},e}();t.Range=o}),define("vs/editor/common/core/editOperation",["require","exports","vs/editor/common/core/range"],function(e,t,n){var o=function(){function e(){}return e.insert=function(e,t){return{identifier:null,range:new n.Range(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e["delete"]=function(e){return{identifier:null,range:e,text:null,forceMoveMarkers:!0}},e.replace=function(e,t){return{identifier:null,range:e,text:t,forceMoveMarkers:!1}},e}();t.EditOperation=o}),define("vs/editor/common/modes",["require","exports"],function(e,t){function n(e){return null===e||"object"!=typeof e?!1:"string"!=typeof e.label||"string"!=typeof e.codeSnippet||"string"!=typeof e.type?!1:e.highlights&&!Array.isArray(e.highlights)?!1:e.typeLabel&&"string"!=typeof e.typeLabel?!1:e.documentationLabel&&"string"!=typeof e.documentationLabel?!1:!0}!function(e){e[e.None=0]="None",e[e.Open=1]="Open",e[e.Close=-1]="Close"}(t.Bracket||(t.Bracket={}));t.Bracket;t.isISuggestion=n,function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(t.IndentAction||(t.IndentAction={}));t.IndentAction}),define("vs/editor/common/modes/abstractState",["require","exports"],function(e,t){var n=function(){function e(e,t){void 0===t&&(t=null),this.mode=e,this.stateData=t}return e.prototype.getMode=function(){return this.mode},e.prototype.clone=function(){var e=this.makeClone();return e.initializeFrom(this),e},e.prototype.makeClone=function(){throw new Error("Abstract Method"); +},e.prototype.initializeFrom=function(e){this.stateData=null!==e.stateData?e.stateData.clone():null},e.prototype.getStateData=function(){return this.stateData},e.prototype.setStateData=function(e){this.stateData=e},e.prototype.equals=function(t){return null===t||this.mode!==t.getMode()?!1:t instanceof e?e.safeEquals(this.stateData,t.stateData):!1},e.prototype.tokenize=function(e){throw new Error("Abstract Method")},e.safeEquals=function(e,t){return null===e&&null===t?!0:null===e||null===t?!1:e.equals(t)},e.safeClone=function(e){return e?e.clone():null},e}();t.AbstractState=n}),define("vs/editor/common/modes/lineStream",["require","exports"],function(e,t){var n=function(){function e(e){this._source=e,this.sourceLength=e.length,this._pos=0,this.whitespace="  ",this.whitespaceArr=this.stringToArray(this.whitespace),this.separators="",this.separatorsArr=this.stringToArray(this.separators),this.tokenStart=-1,this.tokenEnd=-1}return e.prototype.stringToArray=function(t){return e.STRING_TO_ARRAY_CACHE.hasOwnProperty(t)||(e.STRING_TO_ARRAY_CACHE[t]=this.actualStringToArray(t)),e.STRING_TO_ARRAY_CACHE[t]},e.prototype.actualStringToArray=function(e){for(var t=0,n=0;nn;n++)o[n]=!1;for(n=0;n=this.sourceLength},e.prototype.peek=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");return this._source[this._pos]},e.prototype.next=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");return this.tokenStart=-1,this.tokenEnd=-1,this._source[this._pos++]},e.prototype.next2=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");this.tokenStart=-1,this.tokenEnd=-1,this._pos++},e.prototype.advance=function(e){if(0===e)return"";var t=this._pos;return this._pos+=e,this.tokenStart=-1,this.tokenEnd=-1,this._source.substring(t,this._pos)},e.prototype._advance2=function(e){return 0===e?e:(this._pos+=e,this.tokenStart=-1,this.tokenEnd=-1,e)},e.prototype.advanceToEOS=function(){var e=this._pos;return this._pos=this.sourceLength,this.resetPeekedToken(),this._source.substring(e,this._pos)},e.prototype.goBack=function(e){this._pos-=e,this.resetPeekedToken()},e.prototype.createPeeker=function(e){var t=this;if(e instanceof RegExp)return function(){var n=e.exec(t._source.substr(t._pos));if(null===n)return 0;if(0!==n.index)throw new Error('Regular expression must begin with the character "^"');return n[0].length};if((e instanceof String||"string"==typeof e)&&e)return function(){for(var n=e.length,o=t._pos+n<=t.sourceLength,i=0;o&&n>i;i++)o=t._source.charCodeAt(t._pos+i)===e.charCodeAt(i);return o?n:0};throw new Error("Condition must be either a regular expression, function or a non-empty string")},e.prototype._advanceIfStringCaseInsensitive=function(e){var t,n=this._pos,o=this._source,i=e.length;if(1>i||n+i>this.sourceLength)return 0;for(t=0;i>t;t++)if(o.charAt(n+t).toLowerCase()!==e.charAt(t).toLowerCase())return 0;return i},e.prototype.advanceIfStringCaseInsensitive=function(e){return this.advance(this._advanceIfStringCaseInsensitive(e))},e.prototype.advanceIfStringCaseInsensitive2=function(e){return this._advance2(this._advanceIfStringCaseInsensitive(e))},e.prototype._advanceIfString=function(e){var t,n=this._pos,o=this._source,i=e.length;if(1>i||n+i>this.sourceLength)return 0;for(t=0;i>t;t++)if(o.charCodeAt(n+t)!==e.charCodeAt(t))return 0;return i},e.prototype.advanceIfString=function(e){return this.advance(this._advanceIfString(e))},e.prototype.advanceIfString2=function(e){return this._advance2(this._advanceIfString(e))},e.prototype._advanceIfCharCode=function(e){return this._pos=this.sourceLength?0:e.test(this._source.substr(this._pos))?RegExp.lastMatch.length:0},e.prototype.advanceIfRegExp=function(e){return this.advance(this._advanceIfRegExp(e))},e.prototype.advanceIfRegExp2=function(e){return this._advance2(this._advanceIfRegExp(e))},e.prototype.advanceLoop=function(e,t,n){if(this.eos())return"";var o=this.createPeeker(e),i=this._pos,r=0,s=null;for(s=t?function(e){return e>0}:function(e){return 0===e};!this.eos()&&s(r=o());)r>0?this.advance(r):this.next();return n&&!this.eos()&&this.advance(r),this._source.substring(i,this._pos)},e.prototype.advanceWhile=function(e){return this.advanceLoop(e,!0,!1)},e.prototype.advanceUntil=function(e,t){return this.advanceLoop(e,!1,t)},e.prototype._advanceUntilString=function(e,t){if(this.eos()||0===e.length)return 0;var n=this._pos,o=this._source.indexOf(e,n);return-1===o?this.sourceLength-n:t?o+e.length-n:o-n},e.prototype.advanceUntilString=function(e,t){return this.advance(this._advanceUntilString(e,t))},e.prototype.advanceUntilString2=function(e,t){return this._advance2(this._advanceUntilString(e,t))},e.prototype.resetPeekedToken=function(){this.tokenStart=-1,this.tokenEnd=-1},e.prototype.setTokenRules=function(e,t){(this.separators!==e||this.whitespace!==t)&&(this.separators=e,this.separatorsArr=this.stringToArray(this.separators),this.whitespace=t,this.whitespaceArr=this.stringToArray(this.whitespace),this.resetPeekedToken())},e.prototype.peekToken=function(){if(-1!==this.tokenStart)return this._source.substring(this.tokenStart,this.tokenEnd);var e=this._source,t=this.sourceLength,n=this.whitespaceArr,o=this.separatorsArr,i=this._pos;if(i>=t)throw new Error("Stream is at the end");for(;n[e.charCodeAt(i)]&&t>i;)i++;var r=i;if(o[e.charCodeAt(r)]&&t>r)r++;else for(;!o[e.charCodeAt(r)]&&!n[e.charCodeAt(r)]&&t>r;)r++;return this.tokenStart=i,this.tokenEnd=r,e.substring(i,r)},e.prototype.nextToken=function(){if(this._pos>=this.sourceLength)throw new Error("Stream is at the end");var e;return e=-1===this.tokenStart?this.peekToken():this._source.substring(this.tokenStart,this.tokenEnd),this._pos=this.tokenEnd,this.tokenStart=-1,this.tokenEnd=-1,e},e.prototype.peekWhitespace=function(){for(var e=this._source,t=this.sourceLength,n=this.whitespaceArr,o=this._pos;n[e.charCodeAt(o)]&&t>o;)o++;return e.substring(this._pos,o)},e.prototype._skipWhitespace=function(){for(var e=this._source,t=this.sourceLength,n=this.whitespaceArr,o=this._pos,i=this._pos;n[e.charCodeAt(i)]&&t>i;)i++;return i-o},e.prototype.skipWhitespace=function(){return this.advance(this._skipWhitespace())},e.prototype.skipWhitespace2=function(){return this._advance2(this._skipWhitespace())},e.STRING_TO_ARRAY_CACHE={},e}();t.LineStream=n}),define("vs/editor/common/modes/monarch/monarchCommon",["require","exports"],function(e,t){function n(e){return e?!1:!0}function o(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function i(e){return e.replace(/[&<>'"_]/g,"-")}function r(e,t){console.log(e.name+": "+t)}function s(e,t){throw new Error(e.name+": "+t)}function a(e,t,i,r,s){var a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,u=null;return t.replace(a,function(t,a,l,c,d,h,p,f,m){return n(l)?n(c)?!n(d)&&d0;){var n=e.tokenizer[t];if(n)return n;var o=t.lastIndexOf(".");t=0>o?null:t.substr(0,o)}return null}function l(e,t){for(;t&&t.length>0;){var n=e.stateNames[t];if(n)return!0;var o=t.lastIndexOf(".");t=0>o?null:t.substr(0,o)}return!1}t.empty=n,t.fixCase=o,t.sanitize=i,t.log=r,t.throwError=s,t.substituteMatches=a,t.findRules=u,t.stateExists=l}),define("vs/editor/common/modes/monarch/monarchCompile",["require","exports","vs/editor/common/modes/monarch/monarchCommon","vs/editor/common/modes","vs/base/common/objects"],function(e,t,n,o,i){function r(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;var n;for(n in t)if(t.hasOwnProperty(n)&&!e(t[n]))return!1;return!0}function s(e,t,n){return"boolean"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function a(e,t,n){return"string"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function u(e,t){if("string"!=typeof t)return null;for(var o=0;t.indexOf("@")>=0&&5>o;)o++,t=t.replace(/@(\w+)/g,function(o,i){var r="";return"string"==typeof e[i]?r=e[i]:e[i]&&e[i]instanceof RegExp?r=e[i].source:void 0===e[i]?n.throwError(e,"language definition does not contain attribute '"+i+"', used at: "+t):n.throwError(e,"attribute reference '"+i+"' must be a string, used at: "+t),n.empty(r)?"":"(?:"+r+")"});return new RegExp(t,e.ignoreCase?"i":"")}function l(e,t,n,o){if(0>o)return e;if(o=100){o-=100;var i=n.split(".");if(i.unshift(n),o=0&&(r.tokenSubst=!0),"string"==typeof i.bracket&&("@open"===i.bracket?r.bracket=o.Bracket.Open:"@close"===i.bracket?r.bracket=o.Bracket.Close:n.throwError(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t)),i.next)if("string"!=typeof i.next)n.throwError(e,"the next state must be a string value in rule: "+t);else{var s=i.next;/^(@pop|@push|@popall)$/.test(s)||("@"===s[0]&&(s=s.substr(1)),s.indexOf("$")<0&&(n.stateExists(e,n.substituteMatches(e,s,"",[],""))||n.throwError(e,"the next state '"+i.next+"' is not defined in rule: "+t))),r.next=s}return"number"==typeof i.goBack&&(r.goBack=i.goBack),"string"==typeof i.switchTo&&(r.switchTo=i.switchTo),"string"==typeof i.log&&(r.log=i.log),"string"==typeof i.nextEmbedded&&(r.nextEmbedded=i.nextEmbedded,e.usesEmbedded=!0),r}if(Array.isArray(i)){var a,u=[];for(a in i)i.hasOwnProperty(a)&&(u[a]=d(e,t,i[a]));return{group:u}}if(i.cases){var l,h=[];for(l in i.cases)if(i.cases.hasOwnProperty(l)){var p=d(e,t,i.cases[l]);"@default"===l||"@"===l||""===l?h.push({test:null,value:p,name:l}):"@eos"===l?h.push({test:function(e,t,n,o){return o},value:p,name:l}):h.push(c(e,t,l,p))}var f=e.defaultToken;return{test:function(e,t,n,o){var i;for(i in h)if(h.hasOwnProperty(i)){var r=!h[i].test||h[i].test(e,t,n,o);if(r)return h[i].value}return f}}}return n.throwError(e,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+t),""}return{token:""}}function h(e){function t(i,r,u){var l;for(l in u)if(u.hasOwnProperty(l)){var d=u[l],h=d.include;if(h)"string"!=typeof h&&n.throwError(o,"an 'include' attribute must be a string at: "+i),"@"===h[0]&&(h=h.substr(1)),e.tokenizer[h]||n.throwError(o,"include target '"+h+"' is not defined at: "+i),t(i+"."+h,r,e.tokenizer[h]);else{var f=new p(i);if(Array.isArray(d)&&d.length>=1&&d.length<=3)if(f.setRegex(c,d[0]),d.length>=3)if("string"==typeof d[1])f.setAction(c,{token:d[1],next:d[2]});else if("object"==typeof d[1]){var m=d[1];m.next=d[2],f.setAction(c,m)}else n.throwError(o,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+i);else f.setAction(c,d[1]);else d.regex||n.throwError(o,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+i),d.name&&(f.name=a(d.name)),d.matchOnlyAtStart&&(f.matchOnlyAtLineStart=s(d.matchOnlyAtLineStart)),f.setRegex(c,d.regex),f.setAction(c,d.action);r.push(f)}}}if(!e||"object"!=typeof e)throw new Error("Monarch: expecting a language definition object");if("string"!=typeof e.name)throw new Error("Monarch: a language definition must include a string 'name' attribute");var o={};if(o.name=e.name,o.displayName=a(e.displayName,o.name),o.noThrow=!1,o.maxStack=100,o.start=a(e.start),o.ignoreCase=s(e.ignoreCase,!1),o.lineComment=a(e.lineComment,"//"),o.blockCommentStart=a(e.blockCommentStart,"/*"),o.blockCommentEnd=a(e.blockCommentEnd,"*/"),o.tokenPostfix=a(e.tokenPostfix,"."+o.name),o.defaultToken=a(e.defaultToken,"source",function(){n.throwError(o,"the 'defaultToken' must be a string")}),o.usesEmbedded=!1,o.wordDefinition=e.wordDefinition||void 0,!o.lineComment&&e.lineComments&&("string"==typeof e.lineComments?o.lineComment=e.lineComments:"string"==typeof e.lineComments[0]&&(o.lineComment=e.lineComments[0])),o.suggestSupport={textualCompletions:!0,disableAutoTrigger:!1,triggerCharacters:[],snippets:[]},"undefined"!=typeof e.suggestSupport){var i=e.suggestSupport;if(Array.isArray(i.snippets))for(var r=i.snippets,u=0,l=r.length;l>u;u++)"string"==typeof r[u]?o.suggestSupport.snippets.push({type:"snippet",label:r[u],codeSnippet:r[u]}):o.suggestSupport.snippets.push(r[u]);Array.isArray(i.triggerCharacters)&&(o.suggestSupport.triggerCharacters=i.triggerCharacters),"undefined"!=typeof i.textualCompletions&&(o.suggestSupport.textualCompletions=i.textualCompletions),"undefined"!=typeof i.disableAutoTrigger&&(o.suggestSupport.disableAutoTrigger=i.disableAutoTrigger)}var c=e;c.name=o.name,c.displayName=o.displayName,c.ignoreCase=o.ignoreCase,c.noThrow=o.noThrow,c.usesEmbedded=o.usesEmbedded,c.stateNames=e.tokenizer,c.defaultToken=o.defaultToken,e.tokenizer&&"object"==typeof e.tokenizer||n.throwError(o,"a language definition must define the 'tokenizer' attribute as an object"),o.tokenizer=[];var d;for(d in e.tokenizer)if(e.tokenizer.hasOwnProperty(d)){o.start||(o.start=d);var h=e.tokenizer[d];o.tokenizer[d]=new Array,t("tokenizer."+d,o.tokenizer[d],h)}o.usesEmbedded=c.usesEmbedded,e.brackets?Array.isArray(e.brackets)||n.throwError(o,"the 'brackets' attribute must be defined as an array"):e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];var f=[];for(var m in e.brackets)if(e.brackets.hasOwnProperty(m)){var g=e.brackets[m];g&&Array.isArray(g)&&3===g.length&&(g={token:g[2],open:g[0],close:g[1]}),g.open===g.close&&n.throwError(o,"open and close brackets in a 'brackets' attribute must be different: "+g.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required."),"string"==typeof g.open&&"string"==typeof g.token?f.push({token:a(g.token)+o.tokenPostfix,open:n.fixCase(o,a(g.open)),close:n.fixCase(o,a(g.close))}):n.throwError(o,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}o.brackets=f;var v;if(e.autoClosingPairs?(Array.isArray(e.autoClosingPairs)||n.throwError(o,"the 'autoClosingPairs' attribute must be an array of string pairs (as arrays)"),v=e.autoClosingPairs.slice(0)):v=[['"','"'],["'","'"],["@brackets"]],o.autoClosingPairs=[],v)for(var y in v)if(v.hasOwnProperty(y)){var _,b=v[y];if("@brackets"===b||"@brackets"===b[0]){var C;for(C in f)f.hasOwnProperty(C)&&f[C].open&&1===f[C].open.length&&f[C].close&&1===f[C].close.length&&(_={open:f[C].open,close:f[C].close,notIn:["string","comment"]},o.autoClosingPairs.push(_))}else Array.isArray(b)&&2===b.length&&"string"==typeof b[0]&&1===b[0].length&&"string"==typeof b[1]&&1===b[1].length?(_={open:n.fixCase(o,b[0]),close:n.fixCase(o,b[1]),notIn:["string","comment"]},o.autoClosingPairs.push(_)):"string"==typeof b.open&&1===b.open.length&&"string"==typeof b.close&&1===b.close.length?(_={open:n.fixCase(o,b.open[0]),close:n.fixCase(o,b.close[0]),notIn:["string","comment"]},o.autoClosingPairs.push(_)):n.throwError(o,"every element in an 'autoClosingPairs' array must be a pair of 1 character strings, or a '@brackets' directive")}var w=[];if(e.enhancedBrackets){Array.isArray(e.enhancedBrackets)||n.throwError(o,"the 'enhancedBrackets' attribute must be defined as an array");for(var m in e.enhancedBrackets)if(e.enhancedBrackets.hasOwnProperty(m)){var g=e.enhancedBrackets[m];g.hasOwnProperty("openTrigger")&&"string"!=typeof g.openTrigger&&n.throwError(o,"openTrigger in the 'enhancedBrackets' array must be a string"),!g.hasOwnProperty("open")||g.open instanceof RegExp||n.throwError(o,"open in the 'enhancedBrackets' array must be a regex"),g.hasOwnProperty("closeComplete")&&"string"!=typeof g.closeComplete&&n.throwError(o,"closeComplete in the 'enhancedBrackets' array must be a string"),g.hasOwnProperty("matchCase")&&"boolean"!=typeof g.matchCase&&n.throwError(o,"matchCase in the 'enhancedBrackets' array must be a boolean"),g.hasOwnProperty("closeTrigger")&&"string"!=typeof g.closeTrigger&&n.throwError(o,"closeTrigger in the 'enhancedBrackets' array must be a string"),!g.hasOwnProperty("close")||g.close instanceof RegExp||n.throwError(o,"close in the 'enhancedBrackets' array must be a regex"),g.hasOwnProperty("tokenType")&&("string"!=typeof g.tokenType?n.throwError(o,"tokenType in the 'enhancedBrackets' array must be a string"):g.tokenType+=o.tokenPostfix),w.push(g)}}o.enhancedBrackets=w;for(var E=[],u=0;u0&&"^"===o[0],this.name=this.name+": "+o,this.regex=u(e,"^(?:"+(this.matchOnlyAtLineStart?o.substr(1):o)+")")},e.prototype.setAction=function(e,t){this.action=d(e,this.name,t)},e}();t.compile=h}),define("vs/editor/common/modes/nullMode",["require","exports","vs/editor/common/modes"],function(e,t,n){function o(e,t,o,i,r){void 0===i&&(i=0);var s=[{startIndex:i,type:"",bracket:n.Bracket.None}],a=[{startIndex:i,mode:e}];return{tokens:s,actualStopOffset:i+t.length,endState:o,modeTransitions:a}}var i=function(){function e(e,t){this.mode=e,this.stateData=t}return e.prototype.clone=function(){var t=this.stateData?this.stateData.clone():null;return new e(this.mode,t)},e.prototype.equals=function(e){if(this.mode!==e.getMode())return!1;var t=e.getStateData();return this.stateData||t?this.stateData&&t?this.stateData.equals(t):!1:!0},e.prototype.getMode=function(){return this.mode},e.prototype.tokenize=function(e){return e.advanceToEOS(),{type:""}},e.prototype.getStateData=function(){return this.stateData},e.prototype.setStateData=function(e){this.stateData=e},e}();t.NullState=i;var r=function(){function e(){this.tokenTypeClassificationSupport=this}return e.createWordRegExp=function(e){void 0===e&&(e="");for(var t="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",n="(-?\\d*\\.\\d\\w*)|([^",o=0;o=0||(n+="\\"+t[o]);return n+="\\s]+)",new RegExp(n,"g")},e.prototype.getId=function(){return e.ID},e.prototype.getWordDefinition=function(){return e.DEFAULT_WORD_REGEXP},e.DEFAULT_WORD_REGEXP=e.createWordRegExp(),e.ID="vs.editor.modes.nullMode",e}();t.NullMode=r,t.nullTokenize=o}),define("vs/editor/common/viewLayout/editorLayoutProvider",["require","exports"],function(e,t){var n=function(){function e(){}return e.compute=function(e){var t=this.computeLineNumbersWidth(e),n=this.computeGlyphMarginWidth(e),o=e.outerWidth-n-t-e.lineDecorationsWidth,i=0,r=i+n,s=r+t,a=s+e.lineDecorationsWidth,u=e.verticalScrollbarHasArrows?e.scrollbarArrowSize:0;return{width:e.outerWidth,height:e.outerHeight,glyphMarginLeft:i,glyphMarginWidth:n,glyphMarginHeight:e.outerHeight,lineNumbersLeft:r,lineNumbersWidth:t,lineNumbersHeight:e.outerHeight,decorationsLeft:s,decorationsWidth:e.lineDecorationsWidth,decorationsHeight:e.outerHeight,contentLeft:a,contentWidth:o,contentHeight:e.outerHeight,verticalScrollbarWidth:e.verticalScrollbarWidth,horizontalScrollbarHeight:e.horizontalScrollbarHeight,overviewRuler:{top:u,width:e.verticalScrollbarWidth,height:e.outerHeight-2*u-e.horizontalScrollbarHeight,right:0}}},e.layoutEqual=function(e,t){return e.width===t.width&&e.height===t.height&&e.glyphMarginLeft===t.glyphMarginLeft&&e.glyphMarginWidth===t.glyphMarginWidth&&e.glyphMarginHeight===t.glyphMarginHeight&&e.lineNumbersLeft===t.lineNumbersLeft&&e.lineNumbersWidth===t.lineNumbersWidth&&e.lineNumbersHeight===t.lineNumbersHeight&&e.decorationsLeft===t.decorationsLeft&&e.decorationsWidth===t.decorationsWidth&&e.decorationsHeight===t.decorationsHeight&&e.contentLeft===t.contentLeft&&e.contentWidth===t.contentWidth&&e.contentHeight===t.contentHeight&&e.verticalScrollbarWidth===t.verticalScrollbarWidth&&e.horizontalScrollbarHeight===t.horizontalScrollbarHeight&&e.overviewRuler.top===t.overviewRuler.top&&e.overviewRuler.width===t.overviewRuler.width&&e.overviewRuler.height===t.overviewRuler.height&&e.overviewRuler.right===t.overviewRuler.right},e.computeGlyphMarginWidth=function(e){return e.showGlyphMargin?e.lineHeight:0},e.digitCount=function(e){for(var t=0;e;)e=Math.floor(e/10),t++;return t?t:1},e.computeLineNumbersWidth=function(e){if(e.showLineNumbers){var t=Math.max(this.digitCount(e.lineCount),e.lineNumbersMinChars);return Math.round(t*e.maxDigitWidth)}return 0},e}();t.EditorLayoutProvider=n}),define("vs/editor/common/viewLayout/whitespaceComputer",["require","exports"],function(e,t){var n=function(){function e(){this.heights=[],this.ids=[],this.afterLineNumbers=[],this.ordinals=[],this.prefixSum=[],this.prefixSumValidIndex=-1,this.whitespaceId2Index={},this.lastWhitespaceId=0}return e.findInsertionIndex=function(e,t,n,o){for(var i,r=0,s=e.length;s>r;)i=Math.floor((r+s)/2),t===e[i]?o=t&&(this.whitespaceId2Index[r]=s+1));this.whitespaceId2Index[e.toString()]=t,this.prefixSumValidIndex=Math.min(this.prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t){var n=e.toString();if(this.whitespaceId2Index.hasOwnProperty(n)){var o=this.whitespaceId2Index[n];if(this.heights[o]!==t)return this.heights[o]=t,this.prefixSumValidIndex=Math.min(this.prefixSumValidIndex,o-1),!0}return!1},e.prototype.changeAfterLineNumberForWhitespace=function(t,n){var o=t.toString();if(this.whitespaceId2Index.hasOwnProperty(o)){var i=this.whitespaceId2Index[o];if(this.afterLineNumbers[i]!==n){var r=this.ordinals[i],s=this.heights[i];this.removeWhitespace(t);var a=e.findInsertionIndex(this.afterLineNumbers,n,this.ordinals,r);return this.insertWhitespaceAtIndex(t,a,n,r,s),!0}}return!1},e.prototype.removeWhitespace=function(e){var t=e.toString();if(this.whitespaceId2Index.hasOwnProperty(t)){var n=this.whitespaceId2Index[t];return delete this.whitespaceId2Index[t],this.removeWhitespaceAtIndex(n),!0}return!1},e.prototype.removeWhitespaceAtIndex=function(e){this.heights.splice(e,1),this.ids.splice(e,1),this.afterLineNumbers.splice(e,1),this.ordinals.splice(e,1),this.prefixSum.splice(e,1),this.prefixSumValidIndex=Math.min(this.prefixSumValidIndex,e-1);var t,n;for(t in this.whitespaceId2Index)this.whitespaceId2Index.hasOwnProperty(t)&&(n=this.whitespaceId2Index[t],n>=e&&(this.whitespaceId2Index[t]=n-1))},e.prototype.onModelLinesDeleted=function(e,t){var n,o,i;for(o=0,i=this.afterLineNumbers.length;i>o;o++)n=this.afterLineNumbers[o],n>=e&&t>=n?this.afterLineNumbers[o]=e-1:n>t&&(this.afterLineNumbers[o]-=t-e+1)},e.prototype.onModelLinesInserted=function(e,t){var n,o,i;for(o=0,i=this.afterLineNumbers.length;i>o;o++)n=this.afterLineNumbers[o],n>=e&&(this.afterLineNumbers[o]+=t-e+1)},e.prototype.getTotalHeight=function(){return 0===this.heights.length?0:this.getAccumulatedHeight(this.heights.length-1)},e.prototype.getAccumulatedHeight=function(e){var t=Math.max(0,this.prefixSumValidIndex+1);0===t&&(this.prefixSum[0]=this.heights[0],t++);for(var n=t;e>=n;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.heights[n];return this.prefixSumValidIndex=Math.max(this.prefixSumValidIndex,e),this.prefixSum[e]},e.prototype.getAccumulatedHeightBeforeLineNumber=function(e){var t=this.findLastWhitespaceBeforeLineNumber(e);return-1===t?0:this.getAccumulatedHeight(t)},e.prototype.findLastWhitespaceBeforeLineNumber=function(e){for(var t,n=this.afterLineNumbers,o=0,i=n.length-1;i>=o;)if(t=Math.floor((o+i)/2),n[t]=n.length||n[t+1]>=e)return t;o=t+1}else i=t-1;return-1},e.prototype.findFirstWhitespaceAfterLineNumber=function(e){var t=this.findLastWhitespaceBeforeLineNumber(e),n=t+1;return n1?t*(e-1):0;var o=this.whitespaces.getAccumulatedHeightBeforeLineNumber(e);return n+o},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this.whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.hasWhitespace=function(){return this.whitespaces.getCount()>0},e.prototype.isAfterLines=function(e,t){var n=this.getTotalHeight(t);return e>n},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e,t){if(0>e)return 1;for(var n,o,i,r=1,s=this.linesCount;s>r;)if(n=Math.floor((r+s)/2),o=this.getVerticalOffsetForLineNumber(n,t),i=t,e>=o+i)r=n+1;else{if(e>=o)return n;s=n}return r>this.linesCount?this.linesCount:r},e.prototype.getCenteredLineInViewport=function(e,t,n){for(var o,i,r=this.getLinesViewportData(e,t,n),s=(t-e)/2,a=r.startLineNumber;a<=r.endLineNumber;a++)if(o=r.visibleRangesDeltaTop+r.relativeVerticalOffset[a-r.startLineNumber],i=o+n,s>=o&&i>s||o>s)return a;return r.endLineNumber},e.prototype.getLinesViewportData=function(e,t,n){var o,i,r=this.getLineNumberAtOrAfterVerticalOffset(e,n),s=this.linesCount,a=this.getVerticalOffsetForLineNumber(r,n),u=this.whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),l=this.whitespaces.getCount();-1===u?(u=l,i=s+1):(i=this.whitespaces.getAfterLineNumberForWhitespaceIndex(u),o=this.whitespaces.getHeightForWhitespaceIndex(u));var c=a,d=c,h=5e5,p=0;a>=h&&(p=Math.floor(a/h)*h,p=Math.floor(p/n)*n,d-=p);for(var f=[],m=r;s>=m;m++){for(c+=n,f.push(d),d+=n;i===m;)d+=o,c+=o,u++,u>=l?i=s+1:(i=this.whitespaces.getAfterLineNumberForWhitespaceIndex(u),o=this.whitespaces.getHeightForWhitespaceIndex(u));if(c>t){s=m;break}}return{viewportTop:e-p,viewportHeight:t-e,bigNumbersDelta:p,startLineNumber:r,endLineNumber:s,visibleRangesDeltaTop:-(e-p),relativeVerticalOffset:f,visibleRange:null,getInlineDecorationsForLineInViewport:null,getDecorationsInViewport:null}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e,t){var n,n,o=this.whitespaces.getAfterLineNumberForWhitespaceIndex(e);n=o>=1?t*o:0;var i;return i=e>0?this.whitespaces.getAccumulatedHeight(e-1):0,n+i},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e,t){var n,o,i,r=0,s=this.whitespaces.getCount()-1;if(0>s)return-1;var a=this.getVerticalOffsetForWhitespaceIndex(s,t),u=this.whitespaces.getHeightForWhitespaceIndex(s);if(e>=a+u)return-1;for(;s>r;)if(n=Math.floor((r+s)/2),o=this.getVerticalOffsetForWhitespaceIndex(n,t),i=this.whitespaces.getHeightForWhitespaceIndex(n),e>=o+i)r=n+1;else{if(e>=o)return n;s=n}return r},e.prototype.getWhitespaceAtVerticalOffset=function(e,t){var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e,t);if(0>n)return null;if(n>=this.whitespaces.getCount())return null;var o=this.getVerticalOffsetForWhitespaceIndex(n,t);if(o>e)return null;var i=this.whitespaces.getHeightForWhitespaceIndex(n),r=this.whitespaces.getIdForWhitespaceIndex(n),s=this.whitespaces.getAfterLineNumberForWhitespaceIndex(n);return{id:r,afterLineNumber:s,verticalOffset:o,height:i}},e.prototype.getWhitespaceViewportData=function(e,t,n){var o=this.getWhitespaceIndexAtOrAfterVerticallOffset(e,n),i=this.whitespaces.getCount()-1;if(0>o)return[];var r,s,a,u=[];for(r=o;i>=r&&(s=this.getVerticalOffsetForWhitespaceIndex(r,n),a=this.whitespaces.getHeightForWhitespaceIndex(r),!(s>=t));r++)u.push({id:this.whitespaces.getIdForWhitespaceIndex(r),afterLineNumber:this.whitespaces.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a});return u},e.prototype.getWhitespaces=function(e){return this.whitespaces.getWhitespaces(e)},e}();t.VerticalObjects=o}),define("vs/editor/common/viewLayout/linesLayout",["require","exports","vs/editor/common/viewLayout/verticalObjects"],function(e,t,n){var o=function(){function e(e,t){this.configuration=e,this.model=t,this.verticalObjects=new n.VerticalObjects,this.verticalObjects.replaceLines(t.getLineCount())}return e.prototype.insertWhitespace=function(e,t,n){return this.verticalObjects.insertWhitespace(e,t,n)},e.prototype.changeWhitespace=function(e,t){return this.verticalObjects.changeWhitespace(e,t)},e.prototype.changeAfterLineNumberForWhitespace=function(e,t){ +return this.verticalObjects.changeAfterLineNumberForWhitespace(e,t)},e.prototype.removeWhitespace=function(e){return this.verticalObjects.removeWhitespace(e)},e.prototype.onModelFlushed=function(){this.verticalObjects.replaceLines(this.model.getLineCount())},e.prototype.onModelLinesDeleted=function(e){this.verticalObjects.onModelLinesDeleted(e.fromLineNumber,e.toLineNumber)},e.prototype.onModelLinesInserted=function(e){this.verticalObjects.onModelLinesInserted(e.fromLineNumber,e.toLineNumber)},e.prototype.getVerticalOffsetForLineNumber=function(e){return this.verticalObjects.getVerticalOffsetForLineNumber(e,this.configuration.editor.lineHeight)},e.prototype.getLinesTotalHeight=function(){return this.verticalObjects.getTotalHeight(this.configuration.editor.lineHeight)},e.prototype.getTotalHeight=function(e,t){var n=this.getLinesTotalHeight();return n+=this.configuration.editor.scrollBeyondLastLine?e.height-this.configuration.editor.lineHeight:t,Math.max(e.height,n)},e.prototype.isAfterLines=function(e){return this.verticalObjects.isAfterLines(e,this.configuration.editor.lineHeight)},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){return this.verticalObjects.getLineNumberAtOrAfterVerticalOffset(e,this.configuration.editor.lineHeight)},e.prototype.getHeightForLineNumber=function(e){return this.configuration.editor.lineHeight},e.prototype.getWhitespaceViewportData=function(e){return this.verticalObjects.getWhitespaceViewportData(e.top,e.top+e.height,this.configuration.editor.lineHeight)},e.prototype.getWhitespaces=function(){return this.verticalObjects.getWhitespaces(this.configuration.editor.lineHeight)},e.prototype.getWhitespaceAtVerticalOffset=function(e){return this.verticalObjects.getWhitespaceAtVerticalOffset(e,this.configuration.editor.lineHeight)},e.prototype.getLinesViewportData=function(e){var t=this.verticalObjects.getLinesViewportData(e.top,e.top+e.height,this.configuration.editor.lineHeight),n=this.model.getDecorationsResolver(t.startLineNumber,t.endLineNumber);return t.getDecorationsInViewport=function(){return n.getDecorations()},t.getInlineDecorationsForLineInViewport=function(e){return n.getInlineDecorations(e)},t},e.prototype.getCenteredLineInViewport=function(e){return this.verticalObjects.getCenteredLineInViewport(e.top,e.top+e.height,this.configuration.editor.lineHeight)},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this.verticalObjects.getWhitespaceAccumulatedHeightBeforeLineNumber(e)},e.prototype.hasWhitespace=function(){return this.verticalObjects.hasWhitespace()},e}();t.LinesLayout=o}),define("vs/editor/common/viewModel/prefixSumComputer",["require","exports"],function(e,t){var n=function(){function e(e){this.values=e,this.prefixSum=[];for(var t=0,n=this.values.length;n>t;t++)this.prefixSum[t]=0;this.prefixSumValidIndex=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValue=function(e,t){this.values.splice(e,0,t),this.prefixSum.splice(e,0,0),e-1n;n++)t[n]=0;return t},e.prototype.changeValue=function(e,t){this.values[e]!==t&&(this.values[e]=t,e-1e)return 0;if(e<=this.prefixSumValidIndex)return this.prefixSum[e];var t=this.prefixSumValidIndex+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;e>=n;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex=Math.max(this.prefixSumValidIndex,e),this.prefixSum[e]},e.prototype.getIndexOf=function(e,t){for(var n,o,i,r=0,s=this.values.length-1;s>=r;)if(n=r+(s-r)/2|0,i=this.getAccumulatedValue(n),o=i-this.values[n],o>e)s=n-1;else{if(!(e>=i))break;r=n+1}t.index=n,t.remainder=e-o},e}();t.PrefixSumComputer=n});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/smartSelect/common/tokenTree",["require","exports","vs/editor/common/modes","vs/editor/common/core/range","vs/editor/common/core/position"],function(e,t,n,o,i){function r(e){var t=new u;return t.start=i.Position.startPosition(e.range),t.end=i.Position.endPosition(e.range),t}function s(e){var t=new h(e).build();return t}function a(e,t){if(!o.Range.containsPosition(e.range,t))return null;var n;if(e instanceof l)for(var i=0,r=e.children.length;r>i&&!n;i++)n=a(e.children[i],t);else e instanceof c&&(n=a(e.open,t)||a(e.elements,t)||a(e.close,t));return n||e}var u=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return{startLineNumber:this.start.lineNumber,startColumn:this.start.column,endLineNumber:this.end.lineNumber,endColumn:this.end.column}},enumerable:!0,configurable:!0}),e}();t.Node=u;var l=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),Object.defineProperty(t.prototype,"start",{get:function(){return this.hasChildren?this.children[0].start:this.parent.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this.hasChildren?this.children[this.children.length-1].end:this.parent.end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return e?(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0):!1},t}(u);t.NodeList=l;var c=function(e){function t(){e.call(this),this.elements=new l,this.elements.parent=this}return __extends(t,e),Object.defineProperty(t.prototype,"start",{get:function(){return this.open.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this.close.end},enumerable:!0,configurable:!0}),t}(u);t.Block=c;var d=function(){function e(e){this._model=e,this._versionId=e.getVersionId(),this._currentLineNumber=1}return e.prototype.next=function(){if(this._versionId!==this._model.getVersionId())return null;if(this._currentLineNumber>=this._model.getLineCount()+1)return null;if(this._currentLineTokens||(this._currentLineTokens=this._model.getLineTokens(this._currentLineNumber),this._currentTokenIndex=0),this._currentTokenIndex>=this._currentLineTokens.getTokenCount())return this._currentLineNumber+=1,this._currentLineTokens=null,this.next();var e={type:this._currentLineTokens.getTokenType(this._currentTokenIndex),bracket:this._currentLineTokens.getTokenBracket(this._currentTokenIndex),range:{startLineNumber:this._currentLineNumber,startColumn:1+this._currentLineTokens.getTokenStartIndex(this._currentTokenIndex),endLineNumber:this._currentLineNumber,endColumn:1+this._currentLineTokens.getTokenEndIndex(this._currentTokenIndex,this._model.getLineMaxColumn(this._currentLineNumber))}};return this._currentTokenIndex+=1,e},e}(),h=function(){function e(e){this._stack=[],this._scanner=new d(e)}return e.prototype.build=function(){for(var e=new l;e.append(this._line()||this._any()););return e},e.prototype._accept=function(e){var t=this._stack.pop()||this._scanner.next();if(!t)return!1;var n=e(t);return n?this._currentToken=t:(this._stack.push(t),this._currentToken=null),n},e.prototype._peek=function(e){var t=!1;return this._accept(function(n){return t=e(n),!1}),t},e.prototype._line=function(){var e,t=new l;for(this._peek(function(t){return e=t.range.startLineNumber,!1});this._peek(function(t){return t.range.startLineNumber===e})&&t.append(this._token()||this._block()););return t.children&&0!==t.children.length?1===t.children.length?t.children[0]:t:null},e.prototype._token=function(){return this._accept(function(e){return e.bracket===n.Bracket.None})?r(this._currentToken):null},e.prototype._block=function(){var e,t;if(t=this._accept(function(t){return e=t.type,t.bracket===n.Bracket.Open}),!t)return null;var o=new c;for(o.open=r(this._currentToken);o.elements.append(this._line()););if(!this._accept(function(t){return t.bracket===n.Bracket.Close&&t.type===e})){var i=new l;return i.append(o.open),i.append(o.elements),i}return o.close=r(this._currentToken),o},e.prototype._any=function(){return this._accept(function(e){return!0})?r(this._currentToken):null},e}();t.build=s,t.find=a}),define("vs/editor/contrib/snippet/browser/snippet",["require","exports","vs/css!./snippet"],function(e,t){}),define("vs/editor/standalone-languages/all",["require","exports"],function(e,t){this.MonacoEditorLanguages=this.MonacoEditorLanguages||[];var n=this.MonacoEditorLanguages;n.push({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],defModule:"vs/editor/standalone-languages/bat"}),n.push({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],defModule:"vs/editor/standalone-languages/coffee"}),n.push({id:"c",extensions:[".c",".h"],aliases:["C","c"],defModule:"vs/editor/standalone-languages/cpp"}),n.push({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],defModule:"vs/editor/standalone-languages/cpp"}),n.push({id:"csharp",extensions:[".cs",".csx"],aliases:["C#","csharp"],defModule:"vs/editor/standalone-languages/csharp"}),n.push({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],defModule:"vs/editor/standalone-languages/dockerfile"}),n.push({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],defModule:"vs/editor/standalone-languages/fsharp"}),n.push({id:"go",extensions:[".go"],aliases:["Go"],defModule:"vs/editor/standalone-languages/go"}),n.push({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],defModule:"vs/editor/standalone-languages/ini"}),n.push({id:"jade",extensions:[".jade"],aliases:["Jade","jade"],defModule:"vs/editor/standalone-languages/jade"}),n.push({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],defModule:"vs/editor/standalone-languages/java"}),n.push({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],defModule:"vs/editor/standalone-languages/lua"}),n.push({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],defModule:"vs/editor/standalone-languages/objective-c"}),n.push({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],defModule:"vs/editor/standalone-languages/powershell"}),n.push({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",defModule:"vs/editor/standalone-languages/python"}),n.push({id:"r",extensions:[".r",".rhistory",".rprofile",".rt"],aliases:["R","r"],defModule:"vs/editor/standalone-languages/r"}),n.push({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile"],aliases:["Ruby","rb"],defModule:"vs/editor/standalone-languages/ruby"}),n.push({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],defModule:"vs/editor/standalone-languages/swift"}),n.push({id:"sql",extensions:[".sql"],aliases:["SQL"],defModule:"vs/editor/standalone-languages/sql"}),n.push({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],defModule:"vs/editor/standalone-languages/vb"}),n.push({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz"],firstLine:"(\\<\\?xml.*)|(\\o||!n;){var r=e.charCodeAt(f);if(r>=h._0&&r<=h._9)i=16*i+r-h._0;else if(r>=h.A&&r<=h.F)i=16*i+r-h.A+10;else{if(!(r>=h.a&&r<=h.f))break;i=16*i+r-h.a+10}f++,o++}return t>o&&(i=-1),i}function o(){var t=f;if(e.charCodeAt(f)===h._0)f++;else for(f++;f=m){t+=e.substring(o,f),_=c.UnexpectedEndOfString;break}var i=e.charCodeAt(f);if(i===h.doubleQuote){t+=e.substring(o,f),f++;break}if(i!==h.backslash){if(r(i)){t+=e.substring(o,f),_=c.UnexpectedEndOfString;break}f++}else{if(t+=e.substring(o,f),f++,f>=m){_=c.UnexpectedEndOfString;break}switch(i=e.charCodeAt(f++)){case h.doubleQuote:t+='"';break;case h.backslash:t+="\\";break;case h.slash:t+="/";break;case h.b:t+="\b";break;case h.f:t+="\f";break;case h.n:t+="\n";break;case h.r:t+="\r";break;case h.t:t+=" ";break;case h.u:var i=n(4,!0);i>=0?t+=String.fromCharCode(i):_=c.InvalidUnicode;break;default:_=c.InvalidEscapeCharacter}o=f}}return t}function u(){if(g="",_=c.None,v=f,f>=m)return v=m,y=d.EOF;var t=e.charCodeAt(f);if(i(t)){do f++,g+=String.fromCharCode(t),t=e.charCodeAt(f);while(i(t));return y=d.Trivia}if(r(t))return f++,g+=String.fromCharCode(t),t===h.carriageReturn&&e.charCodeAt(f)===h.lineFeed&&(f++,g+="\n"),y=d.LineBreakTrivia;switch(t){case h.openBrace:return f++,y=d.OpenBraceToken;case h.closeBrace:return f++,y=d.CloseBraceToken;case h.openBracket:return f++,y=d.OpenBracketToken;case h.closeBracket:return f++,y=d.CloseBracketToken;case h.colon:return f++,y=d.ColonToken;case h.comma:return f++,y=d.CommaToken;case h.doubleQuote:return f++,g=a(),y=d.StringLiteral;case h.slash:var n=f-1;if(e.charCodeAt(f+1)===h.slash){for(f+=2;m>f&&!r(e.charCodeAt(f));)f++;return g=e.substring(n,f),y=d.LineCommentTrivia}if(e.charCodeAt(f+1)===h.asterisk){f+=2;for(var u=m-1,p=!1;u>f;){var b=e.charCodeAt(f);if(b===h.asterisk&&e.charCodeAt(f+1)===h.slash){f+=2,p=!0;break}f++}return p||(f++,_=c.UnexpectedEndOfComment),g=e.substring(n,f),y=d.BlockCommentTrivia}return g+=String.fromCharCode(t),f++,y=d.Unknown;case h.minus:if(g+=String.fromCharCode(t),f++,f===m||!s(e.charCodeAt(f)))return y=d.Unknown;case h._0:case h._1:case h._2:case h._3:case h._4:case h._5:case h._6:case h._7:case h._8:case h._9:return g+=o(),y=d.NumericLiteral;default:for(;m>f&&l(t);)f++,t=e.charCodeAt(f);if(v!==f){switch(g=e.substring(v,f)){case"true":return y=d.TrueKeyword;case"false":return y=d.FalseKeyword;case"null":return y=d.NullKeyword}return y=d.Unknown}return g+=String.fromCharCode(t),f++,y=d.Unknown}}function l(e){if(i(e)||r(e))return!1;switch(e){case h.closeBrace:case h.closeBracket:case h.openBrace:case h.openBracket:case h.doubleQuote:case h.colon:case h.comma:return!1}return!0}function p(){var e;do e=u();while(e>=d.LineCommentTrivia&&e<=d.Trivia);return e}void 0===t&&(t=!1);var f=0,m=e.length,g="",v=0,y=d.Unknown,_=c.None;return{getPosition:function(){return f},scan:t?p:u,getToken:function(){return y},getTokenValue:function(){return g},getTokenOffset:function(){return v},getTokenLength:function(){return f-v},getTokenError:function(){return _}}}function i(e){return e===h.space||e===h.tab||e===h.verticalTab||e===h.formFeed||e===h.nonBreakingSpace||e===h.ogham||e>=h.enQuad&&e<=h.zeroWidthSpace||e===h.narrowNoBreakSpace||e===h.mathematicalSpace||e===h.ideographicSpace||e===h.byteOrderMark}function r(e){return e===h.lineFeed||e===h.carriageReturn||e===h.lineSeparator||e===h.paragraphSeparator}function s(e){return e>=h._0&&e<=h._9}function a(e){return e>=h.a&&e<=h.z||e>=h.A&&e<=h.Z}function u(e,t){var n,i,r=o(e),s=[],a=0;do switch(i=r.getPosition(),n=r.scan()){case d.LineCommentTrivia:case d.BlockCommentTrivia:case d.EOF:a!==i&&s.push(e.substring(a,i)),void 0!==t&&s.push(r.getTokenValue().replace(/[^\r\n]/g,t)),a=r.getPosition()}while(n!==d.EOF);return s.join("")}function l(e,t){function i(){for(var e=f.scan();e===d.Unknown;)r(n.localize(0,null)),e=f.scan();return e}function r(e,n,o){if(void 0===n&&(n=[]),void 0===o&&(o=[]),t.push(e),n.length+o.length>0)for(var r=f.getToken();r!==d.EOF;){if(-1!==n.indexOf(r)){i();break}if(-1!==o.indexOf(r))break;r=i()}}function s(){if(f.getToken()!==d.StringLiteral)return p;var e=f.getTokenValue();return i(),e}function a(){var e;switch(f.getToken()){case d.NumericLiteral:try{e=JSON.parse(f.getTokenValue()),"number"!=typeof e&&(r(n.localize(1,null)),e=0)}catch(t){e=0}break;case d.NullKeyword:e=null;break;case d.TrueKeyword:e=!0;break;case d.FalseKeyword:e=!1;break;default:return p}return i(),e}function u(e){var t=s();if(t===p)return r(n.localize(2,null),[],[d.CloseBraceToken,d.CommaToken]),!1;if(f.getToken()===d.ColonToken){i();var o=h();o!==p?e[t]=o:r(n.localize(3,null),[],[d.CloseBraceToken,d.CommaToken])}else r(n.localize(4,null),[],[d.CloseBraceToken,d.CommaToken]);return!0}function l(){if(f.getToken()!==d.OpenBraceToken)return p;var e={};i();for(var t=!1;f.getToken()!==d.CloseBraceToken&&f.getToken()!==d.EOF;){f.getToken()===d.CommaToken?(t||r(n.localize(5,null),[],[]),i()):t&&r(n.localize(6,null),[],[]);var o=u(e);o||r(n.localize(7,null),[],[d.CloseBraceToken,d.CommaToken]),t=!0}return f.getToken()!==d.CloseBraceToken?r(n.localize(8,null),[d.CloseBraceToken],[]):i(),e}function c(){if(f.getToken()!==d.OpenBracketToken)return p;var e=[];i();for(var t=!1;f.getToken()!==d.CloseBracketToken&&f.getToken()!==d.EOF;){f.getToken()===d.CommaToken?(t||r(n.localize(9,null),[],[]),i()):t&&r(n.localize(10,null),[],[]);var o=h();o===p?r(n.localize(11,null),[],[d.CloseBracketToken,d.CommaToken]):e.push(o),t=!0}return f.getToken()!==d.CloseBracketToken?r(n.localize(12,null),[d.CloseBracketToken],[]):i(),e}function h(){var e=c();return e!==p?e:(e=l(),e!==p?e:(e=s(),e!==p?e:a()))}void 0===t&&(t=[]);var p=Object(),f=o(e,!0);i();var m=h();return m===p?void r(n.localize(13,null),[],[]):(f.getToken()!==d.EOF&&r(n.localize(14,null),[],[]),m)}!function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter"}(t.ScanError||(t.ScanError={}));var c=t.ScanError;!function(e){e[e.Unknown=0]="Unknown",e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.EOF=16]="EOF"}(t.SyntaxKind||(t.SyntaxKind={}));var d=t.SyntaxKind;t.createScanner=o,t.isLetter=a;var h;!function(e){e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab"}(h||(h={})),t.stripComments=u,t.parse=l}),define("vs/nls!vs/base/common/keyCodes",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/base/common/keyCodes",t)}),define("vs/base/common/keyCodes",["require","exports","vs/nls!vs/base/common/keyCodes","vs/base/common/platform"],function(e,t,n,o){function i(e,t){var n=[],r=p.hasCtrlCmd(e),s=p.hasShift(e),a=p.hasAlt(e),u=p.hasWinCtrl(e),l=p.extractKeyCode(e);(r&&!o.isMacintosh||u&&o.isMacintosh)&&n.push(t.ctrlKeyLabel),s&&n.push(t.shiftKeyLabel),a&&n.push(t.altKeyLabel),r&&o.isMacintosh&&n.push(t.cmdKeyLabel),u&&!o.isMacintosh&&n.push(t.windowsKeyLabel),n.push(t.getLabelForKey(l));var c=n.join(t.modifierSeparator);return p.hasChord(e)?c+" "+i(p.extractChordPart(e),t):c}!function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.NumLock=71]="NumLock",e[e.ScrollLock=72]="ScrollLock",e[e.US_SEMICOLON=73]="US_SEMICOLON",e[e.US_EQUAL=74]="US_EQUAL",e[e.US_COMMA=75]="US_COMMA",e[e.US_MINUS=76]="US_MINUS",e[e.US_DOT=77]="US_DOT",e[e.US_SLASH=78]="US_SLASH",e[e.US_BACKTICK=79]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=80]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=81]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=82]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=83]="US_QUOTE"}(t.KeyCode||(t.KeyCode={}));var r=t.KeyCode,s=[];!function(){s[r.Unknown]="unknown",s[r.Backspace]="Backspace",s[r.Tab]="Tab",s[r.Enter]="Enter",s[r.Shift]="Shift",s[r.Ctrl]="Ctrl",s[r.Alt]="Alt",s[r.PauseBreak]="PauseBreak",s[r.CapsLock]="CapsLock",s[r.Escape]="Escape",s[r.Space]="Space",s[r.PageUp]="PageUp",s[r.PageDown]="PageDown",s[r.End]="End",s[r.Home]="Home",s[r.LeftArrow]="LeftArrow",s[r.UpArrow]="UpArrow",s[r.RightArrow]="RightArrow",s[r.DownArrow]="DownArrow",s[r.Insert]="Insert",s[r.Delete]="Delete",s[r.KEY_0]="0",s[r.KEY_1]="1",s[r.KEY_2]="2",s[r.KEY_3]="3",s[r.KEY_4]="4",s[r.KEY_5]="5",s[r.KEY_6]="6",s[r.KEY_7]="7",s[r.KEY_8]="8",s[r.KEY_9]="9",s[r.KEY_A]="A",s[r.KEY_B]="B",s[r.KEY_C]="C",s[r.KEY_D]="D",s[r.KEY_E]="E",s[r.KEY_F]="F",s[r.KEY_G]="G",s[r.KEY_H]="H",s[r.KEY_I]="I",s[r.KEY_J]="J",s[r.KEY_K]="K",s[r.KEY_L]="L",s[r.KEY_M]="M",s[r.KEY_N]="N",s[r.KEY_O]="O",s[r.KEY_P]="P",s[r.KEY_Q]="Q",s[r.KEY_R]="R",s[r.KEY_S]="S",s[r.KEY_T]="T",s[r.KEY_U]="U",s[r.KEY_V]="V",s[r.KEY_W]="W",s[r.KEY_X]="X",s[r.KEY_Y]="Y",s[r.KEY_Z]="Z",s[r.ContextMenu]="ContextMenu",s[r.F1]="F1",s[r.F2]="F2",s[r.F3]="F3",s[r.F4]="F4",s[r.F5]="F5",s[r.F6]="F6",s[r.F7]="F7",s[r.F8]="F8",s[r.F9]="F9",s[r.F10]="F10",s[r.F11]="F11",s[r.F12]="F12",s[r.NumLock]="NumLock",s[r.ScrollLock]="ScrollLock",s[r.US_SEMICOLON]=";",s[r.US_EQUAL]="=",s[r.US_COMMA]=",",s[r.US_MINUS]="-",s[r.US_DOT]=".",s[r.US_SLASH]="/",s[r.US_BACKTICK]="`",s[r.US_OPEN_SQUARE_BRACKET]="[",s[r.US_BACKSLASH]="\\",s[r.US_CLOSE_SQUARE_BRACKET]="]",s[r.US_QUOTE]="'"}();var a={};a["\r"]=r.Enter,function(){for(var e=0,t=s.length;t>e;e++)a[s[e]]=e}();var r;!function(e){function t(e){return s[e]}function n(t){return a.hasOwnProperty(t)?a[t]:e.Unknown}e.toString=t,e.fromString=n}(r=t.KeyCode||(t.KeyCode={}));var u=32768,l=16384,c=8192,d=4096,h=4095,p=function(){function e(){}return e.extractFirstPart=function(e){return 65535&e},e.extractChordPart=function(e){return e>>16&65535},e.hasChord=function(e){return 0!==this.extractChordPart(e)},e.hasCtrlCmd=function(e){return e&u?!0:!1},e.hasShift=function(e){return e&l?!0:!1},e.hasAlt=function(e){return e&c?!0:!1},e.hasWinCtrl=function(e){return e&d?!0:!1},e.extractKeyCode=function(e){return e&h},e}();t.BinaryKeybindings=p;var f=function(){function e(){}return e.chord=function(e,t){return e|(65535&t)<<16},e.CtrlCmd=u,e.Shift=l,e.Alt=c,e.WinCtrl=d,e}();t.KeyMod=f;var m=function(){function e(){}return e.ENTER=r.Enter,e.SHIFT_ENTER=f.Shift|r.Enter,e.CTRLCMD_ENTER=f.CtrlCmd|r.Enter,e.WINCTRL_ENTER=f.WinCtrl|r.Enter,e.TAB=r.Tab,e.ESCAPE=r.Escape,e.SPACE=r.Space,e.DELETE=r.Delete,e.SHIFT_DELETE=f.Shift|r.Delete,e.CTRLCMD_BACKSPACE=f.CtrlCmd|r.Backspace,e.UP_ARROW=r.UpArrow,e.SHIFT_UP_ARROW=f.Shift|r.UpArrow,e.CTRLCMD_UP_ARROW=f.CtrlCmd|r.UpArrow,e.DOWN_ARROW=r.DownArrow,e.SHIFT_DOWN_ARROW=f.Shift|r.DownArrow,e.CTRLCMD_DOWN_ARROW=f.CtrlCmd|r.DownArrow,e.LEFT_ARROW=r.LeftArrow,e.RIGHT_ARROW=r.RightArrow,e.PAGE_UP=r.PageUp,e.SHIFT_PAGE_UP=f.Shift|r.PageUp,e.PAGE_DOWN=r.PageDown,e.SHIFT_PAGE_DOWN=f.Shift|r.PageDown,e.F2=r.F2,e.CTRLCMD_S=f.CtrlCmd|r.KEY_S,e.CTRLCMD_C=f.CtrlCmd|r.KEY_C,e.CTRLCMD_V=f.CtrlCmd|r.KEY_V,e}();t.CommonKeybindings=m;var g=function(){function e(e){this.value=e}return e.toLabel=function(e){return i(e,o.isMacintosh?y.INSTANCE:_.INSTANCE)},e.toAtomAccelerator=function(e){return p.hasChord(e)?null:i(e,v.INSTANCE)},e.toUserSettingsLabel=function(e){ +return i(e,b.INSTANCE)},e.prototype.hasCtrlCmd=function(){return p.hasCtrlCmd(this.value)},e.prototype.hasShift=function(){return p.hasShift(this.value)},e.prototype.hasAlt=function(){return p.hasAlt(this.value)},e.prototype.hasWinCtrl=function(){return p.hasWinCtrl(this.value)},e.prototype.extractKeyCode=function(){return p.extractKeyCode(this.value)},e.prototype.toLabel=function(){return e.toLabel(this.value)},e.prototype.toAtomAccelerator=function(){return e.toAtomAccelerator(this.value)},e.prototype.toUserSettingsLabel=function(){return e.toUserSettingsLabel(this.value)},e}();t.Keybinding=g;var v=function(){function e(){this.ctrlKeyLabel="Ctrl",this.shiftKeyLabel="Shift",this.altKeyLabel="Alt",this.cmdKeyLabel="Cmd",this.windowsKeyLabel="Super",this.modifierSeparator="+"}return e.prototype.getLabelForKey=function(e){switch(e){case r.UpArrow:return"Up";case r.DownArrow:return"Down";case r.LeftArrow:return"Left";case r.RightArrow:return"Right"}return r.toString(e)},e.INSTANCE=new e,e}(),y=function(){function e(){this.ctrlKeyLabel="⌃",this.shiftKeyLabel="⇧",this.altKeyLabel="⌥",this.cmdKeyLabel="⌘",this.windowsKeyLabel=n.localize(0,null),this.modifierSeparator=""}return e.prototype.getLabelForKey=function(t){switch(t){case r.LeftArrow:return e.leftArrowUnicodeLabel;case r.UpArrow:return e.upArrowUnicodeLabel;case r.RightArrow:return e.rightArrowUnicodeLabel;case r.DownArrow:return e.downArrowUnicodeLabel}return r.toString(t)},e.INSTANCE=new e,e.leftArrowUnicodeLabel=String.fromCharCode(8592),e.upArrowUnicodeLabel=String.fromCharCode(8593),e.rightArrowUnicodeLabel=String.fromCharCode(8594),e.downArrowUnicodeLabel=String.fromCharCode(8595),e}(),_=function(){function e(){this.ctrlKeyLabel=n.localize(1,null),this.shiftKeyLabel=n.localize(2,null),this.altKeyLabel=n.localize(3,null),this.cmdKeyLabel=n.localize(4,null),this.windowsKeyLabel=n.localize(5,null),this.modifierSeparator="+"}return e.prototype.getLabelForKey=function(e){return r.toString(e)},e.INSTANCE=new e,e}(),b=function(){function e(){this.ctrlKeyLabel="Ctrl",this.shiftKeyLabel="Shift",this.altKeyLabel="Alt",this.cmdKeyLabel="Meta",this.windowsKeyLabel="Meta",this.modifierSeparator="+"}return e.prototype.getLabelForKey=function(e){return r.toString(e)},e.INSTANCE=new e,e}()}),define("vs/base/browser/keyboardEvent",["require","exports","vs/base/common/platform","vs/base/browser/browser","vs/base/common/keyCodes"],function(e,t,n,o,i){function r(e){if(e.charCode){var t=String.fromCharCode(e.charCode).toUpperCase();return{keyCode:i.KeyCode.fromString(t),key:t}}var n=s[e.keyCode]||i.KeyCode.Unknown;return{keyCode:n,key:i.KeyCode.toString(n)}}var s={};!function(){s[8]=i.KeyCode.Backspace,s[9]=i.KeyCode.Tab,s[13]=i.KeyCode.Enter,s[16]=i.KeyCode.Shift,s[17]=i.KeyCode.Ctrl,s[18]=i.KeyCode.Alt,s[19]=i.KeyCode.PauseBreak,s[20]=i.KeyCode.CapsLock,s[27]=i.KeyCode.Escape,s[32]=i.KeyCode.Space,s[33]=i.KeyCode.PageUp,s[34]=i.KeyCode.PageDown,s[35]=i.KeyCode.End,s[36]=i.KeyCode.Home,s[37]=i.KeyCode.LeftArrow,s[38]=i.KeyCode.UpArrow,s[39]=i.KeyCode.RightArrow,s[40]=i.KeyCode.DownArrow,s[45]=i.KeyCode.Insert,s[46]=i.KeyCode.Delete,s[48]=i.KeyCode.KEY_0,s[49]=i.KeyCode.KEY_1,s[50]=i.KeyCode.KEY_2,s[51]=i.KeyCode.KEY_3,s[52]=i.KeyCode.KEY_4,s[53]=i.KeyCode.KEY_5,s[54]=i.KeyCode.KEY_6,s[55]=i.KeyCode.KEY_7,s[56]=i.KeyCode.KEY_8,s[57]=i.KeyCode.KEY_9,s[65]=i.KeyCode.KEY_A,s[66]=i.KeyCode.KEY_B,s[67]=i.KeyCode.KEY_C,s[68]=i.KeyCode.KEY_D,s[69]=i.KeyCode.KEY_E,s[70]=i.KeyCode.KEY_F,s[71]=i.KeyCode.KEY_G,s[72]=i.KeyCode.KEY_H,s[73]=i.KeyCode.KEY_I,s[74]=i.KeyCode.KEY_J,s[75]=i.KeyCode.KEY_K,s[76]=i.KeyCode.KEY_L,s[77]=i.KeyCode.KEY_M,s[78]=i.KeyCode.KEY_N,s[79]=i.KeyCode.KEY_O,s[80]=i.KeyCode.KEY_P,s[81]=i.KeyCode.KEY_Q,s[82]=i.KeyCode.KEY_R,s[83]=i.KeyCode.KEY_S,s[84]=i.KeyCode.KEY_T,s[85]=i.KeyCode.KEY_U,s[86]=i.KeyCode.KEY_V,s[87]=i.KeyCode.KEY_W,s[88]=i.KeyCode.KEY_X,s[89]=i.KeyCode.KEY_Y,s[90]=i.KeyCode.KEY_Z,s[93]=i.KeyCode.ContextMenu,s[112]=i.KeyCode.F1,s[113]=i.KeyCode.F2,s[114]=i.KeyCode.F3,s[115]=i.KeyCode.F4,s[116]=i.KeyCode.F5,s[117]=i.KeyCode.F6,s[118]=i.KeyCode.F7,s[119]=i.KeyCode.F8,s[120]=i.KeyCode.F9,s[121]=i.KeyCode.F10,s[122]=i.KeyCode.F11,s[123]=i.KeyCode.F12,s[144]=i.KeyCode.NumLock,s[145]=i.KeyCode.ScrollLock,s[186]=i.KeyCode.US_SEMICOLON,s[187]=i.KeyCode.US_EQUAL,s[188]=i.KeyCode.US_COMMA,s[189]=i.KeyCode.US_MINUS,s[190]=i.KeyCode.US_DOT,s[191]=i.KeyCode.US_SLASH,s[192]=i.KeyCode.US_BACKTICK,s[219]=i.KeyCode.US_OPEN_SQUARE_BRACKET,s[220]=i.KeyCode.US_BACKSLASH,s[221]=i.KeyCode.US_CLOSE_SQUARE_BRACKET,s[222]=i.KeyCode.US_QUOTE,o.isIE11orEarlier?s[91]=i.KeyCode.Meta:o.isFirefox?(s[59]=i.KeyCode.US_SEMICOLON,s[107]=i.KeyCode.US_EQUAL,s[109]=i.KeyCode.US_MINUS,n.isMacintosh&&(s[224]=i.KeyCode.Meta)):o.isWebKit&&(s[91]=i.KeyCode.Meta,n.isMacintosh?s[93]=i.KeyCode.Meta:s[92]=i.KeyCode.Meta)}();var a=function(){function e(t){if(t instanceof e){var n=t;this.browserEvent=null,this.ctrlKey=n.ctrlKey,this.shiftKey=n.shiftKey,this.altKey=n.altKey,this.metaKey=n.metaKey,this.target=n.target,this.key=n.key,this.keyCode=n.keyCode,this.__asKeybinding=n.__asKeybinding}else{var n=t;this.browserEvent=n,this.ctrlKey=n.ctrlKey,this.shiftKey=n.shiftKey,this.altKey=n.altKey,this.metaKey=n.metaKey,this.target=n.target||n.targetNode;var o=r(n);this.key=o.key,this.keyCode=o.keyCode,this.ctrlKey=this.ctrlKey||"Ctrl"===this.key,this.altKey=this.altKey||"Alt"===this.key,this.shiftKey=this.shiftKey||"Shift"===this.key,this.metaKey=this.metaKey||"Meta"===this.key,this.__asKeybinding=this._asKeybinding()}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e.prototype.clone=function(){return new e(this)},e.prototype.asKeybinding=function(){return this.__asKeybinding},e.prototype.equals=function(e){return this.__asKeybinding===e},e.prototype._asKeybinding=function(){var e=!1,t=!1,o=!1,r=!1,s=i.KeyCode.Unknown;this.ctrlKey&&(n.isMacintosh?r=!0:e=!0),this.shiftKey&&(t=!0),this.altKey&&(o=!0),this.metaKey&&(n.isMacintosh?e=!0:r=!0),this.keyCode!==i.KeyCode.Ctrl&&this.keyCode!==i.KeyCode.Shift&&this.keyCode!==i.KeyCode.Alt&&this.keyCode!==i.KeyCode.Meta&&(s=this.keyCode);var a=0;return e&&(a|=i.KeyMod.CtrlCmd),t&&(a|=i.KeyMod.Shift),o&&(a|=i.KeyMod.Alt),r&&(a|=i.KeyMod.WinCtrl),a|=s},e}();t.StandardKeyboardEvent=a}),define("vs/nls!vs/base/common/severity",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/base/common/severity",t)}),define("vs/nls!vs/base/common/strings",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/base/common/strings",t)}),define("vs/base/common/strings",["require","exports","vs/nls!vs/base/common/strings"],function(e,t,n){function o(e,t,n){void 0===n&&(n="0");for(var o=""+e,i=[o],r=o.length;t>r;r++)i.push(n);return i.reverse().join("")}function i(e){for(var t=[],n=1;no||o>=t.length?e:t[o]})}function r(e){return void 0===e&&(e=new Date),n.localize(0,null,o(e.getMonth()+1,2),o(e.getDate(),2),o(e.getFullYear(),4),o(e.getHours(),2),o(e.getMinutes(),2),o(e.getSeconds(),2))}function s(e){return void 0===e&&(e=new Date),n.localize(1,null,o(e.getHours(),2),o(e.getMinutes(),2),o(e.getSeconds(),2))}function a(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function u(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}function l(e,t,n){return e.replace(new RegExp(u(t.toString()),"g"),n)}function c(e,t){void 0===t&&(t=" ");var n=d(e,t);return h(n,t)}function d(e,t){if(!e||!t)return e;var n=t.length;if(0===n||0===e.length)return e;for(var o=0,i=-1;(i=e.indexOf(t,o))===o;)o+=n;return e.substring(o)}function h(e,t){if(!e||!t)return e;var n=t.length,o=e.length;if(0===n||0===o)return e;for(var i=o,r=-1;;){if(r=e.lastIndexOf(t,i-1),-1===r||r+n!==i)break;if(0===r)return"";i=r}return e.substring(0,i)}function p(e){return e.replace(/(^\s+|\s+$)/g,"")}function f(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function m(e){return l(e,"*","")}function g(e,t){if(e.length0?e.lastIndexOf(t)===e.length-t.length:0===n?e===t:!1}function y(e,t,n,o){return void 0===o&&(o=""),e.substring(0,t)+o+e.substring(t+n)}function _(e,t,n,o){if(""===e)throw new Error("Cannot create regex from empty string");t||(e=e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")),o&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="g";return n||(i+="i"),new RegExp(e,i)}function b(e){var t=e.exec("");return t&&0===e.lastIndex}function C(e,n){if(!t.canNormalize||!e)return e;if(n&&n[e])return n[e];var o=e.normalize("NFC");return n&&(n[e]=o),o}function w(e,t){if(!e)return e;if(t){for(var n=e.split("/"),o=0,i=n.length;i>o;o++)n[o]=encodeURIComponent(n[o]);return n.join("/")}return encodeURIComponent(e)}function E(e){return/^\w[\w.]*$/.test(e)}function S(e){return!e||!e.trim()}function T(e,t,n){return t&&(e="^"+e),n&&(e+="$"),e}function L(e,t){if(b(new RegExp(e,t)))throw new Error("Regular expression /"+e+"/g results in infinitive matches")}function x(e){return e?(0===e.indexOf("/")&&(e=e.substring(1)),w(e,!0)):""}function M(e,t){return"["+e+"m"+t+""}function I(e){for(var t=0,n=e.length;n>t;t++)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return t;return-1}function N(e){for(var t=0,n=e.length;n>t;t++)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return e.substring(0,t);return e}function R(e){for(var t=e.length-1;t>=0;t--)if(" "!==e.charAt(t)&&" "!==e.charAt(t))return t;return-1}function k(e,t){return e.localeCompare(t)}function O(e){return e>=97&&122>=e||e>=65&&90>=e}function D(e,t){var n=e.length,o=t.length;if(n!==o)return!1;for(var i=0;n>i;i++){var r=e.charCodeAt(i),s=t.charCodeAt(i);if(r!==s)if(O(r)&&O(s)){var a=Math.abs(r-s);if(0!==a&&32!==a)return!1}else if(String.fromCharCode(r).toLocaleLowerCase()!==String.fromCharCode(s).toLocaleLowerCase())return!1}return!0}function A(e,t){var n,o=Math.min(e.length,t.length);for(n=0;o>n;n++)if(e.charCodeAt(n)!==t.charCodeAt(n))return n;return o}function P(e,t){var n,o=Math.min(e.length,t.length),i=e.length-1,r=t.length-1;for(n=0;o>n;n++)if(e.charCodeAt(i-n)!==t.charCodeAt(r-n))return n;return o}function W(e,t,n){void 0===n&&(n=4);var o=Math.abs(e.length-t.length);if(o>n)return 0;var i,r,s=[],a=[];for(i=0;i=0;r--)if(i+=o[r].length,i>n){o.splice(0,r);break}return o.join(t.empty).replace(/^\s/,t.empty)}function H(e){return e&&(e=e.replace(U,""),e=e.replace(z,"\n"),e=e.replace(q,""),e=e.replace(j,"")),e}function B(e){return e&&e.length>0&&e.charCodeAt(0)===G}t.empty="",t.pad=o;var K=/{(\d+)}/g;t.format=i,t.formatDate=r,t.formatTime=s,t.escape=a,t.escapeRegExpCharacters=u,t.replaceAll=l,t.trim=c,t.ltrim=d,t.rtrim=h,t.trimWhitespace=p,t.convertSimple2RegExpPattern=f,t.stripWildcards=m,t.startsWith=g,t.endsWith=v,t.splice=y,t.createRegExp=_,t.regExpLeadsToEndlessLoop=b,t.canNormalize="function"==typeof"".normalize,t.normalizeNFC=C,t.encodeURIPart=w,t.isCamelCasePattern=E,t.isFalsyOrWhitespace=S,t.anchorPattern=T,t.assertRegExp=L,t.normalizePath=x,t.colorize=M,t.firstNonWhitespaceIndex=I,t.getLeadingWhitespace=N,t.lastNonWhitespaceIndex=R,t.localeCompare=k,t.equalsIgnoreCase=D,t.commonPrefixLength=A,t.commonSuffixLength=P,t.difference=W,t.computeLineStarts=F,t.lcut=V;var U=/\x1B\x5B[12]?K/g,z=/\xA/g,q=/\x1b\[\d+m/g,j=/\x1b\[0?m/g;t.removeAnsiEscapeCodes=H;var G=65279;t.UTF8_BOM_CHARACTER=String.fromCharCode(G),t.startsWithUTF8BOM=B}),define("vs/base/common/errors",["require","exports","vs/nls!vs/base/common/errors","vs/base/common/objects","vs/base/common/platform","vs/base/common/types","vs/base/common/arrays","vs/base/common/strings"],function(e,t,n,o,i,r,s,a){function u(e){t.errorHandler.setUnexpectedErrorHandler(e)}function l(e){m(e)||t.errorHandler.onUnexpectedError(e)}function c(e){if(!(e instanceof Error))return e;var t={};return e.stacktrace?t.stack=e.stacktrace:e.stack&&(t.stack=e.stack),t.message=e.toString(),t}function d(e,t){var n=new S(e);return t?n.verboseMessage:n.message}function h(e,t){return t&&e.message&&(e.stack||e.stacktrace)?n.localize(7,null,e.message,e.stack||e.stacktrace):e.message?e.message:n.localize(8,null)}function p(e,t){if(void 0===e&&(e=null),void 0===t&&(t=!1),!e)return n.localize(9,null);if(Array.isArray(e)){var o=s.coalesce(e),i=p(o[0],t);return o.length>1?n.localize(10,null,i,o.length):i}if(r.isString(e))return e;if(!r.isUndefinedOrNull(e.status))return d(e,t);if(e.detail){var a=e.detail;if(a.error){if(a.error&&!r.isUndefinedOrNull(a.error.status))return d(a.error,t);if(!r.isArray(a.error))return h(a.error,t);for(var u=0;u0&&null!==e.statusText?t&&null!==e.responseText&&e.responseText.length>0?n.localize(3,null,e.statusText,e.status,e.responseText):n.localize(4,null,e.statusText,e.status):t&&null!==e.responseText&&e.responseText.length>0?n.localize(5,null,e.responseText):n.localize(6,null)},e}();t.ConnectionError=S,o.derive(Error,S),t.toErrorMessage=p,t.getHttpStatus=f;var T="Canceled";t.isPromiseCanceledError=m,t.canceled=g,t.notImplemented=v,t.illegalArgument=y,t.illegalState=_,t.readonly=b,t.loaderError=C,t.create=w}),define("vs/base/common/callbackList",["require","exports","vs/base/common/errors"],function(e,t,n){var o=function(){function e(){}return e.prototype.add=function(e,t,n){var o=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:function(){return o.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var n=!1,o=0,i=this._callbacks.length;i>o;o++)if(this._callbacks[o]===e){if(this._contexts[o]===t)return this._callbacks.splice(o,1),void this._contexts.splice(o,1);n=!0}if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}},e.prototype.invoke=function(){for(var e=[],t=0;ts;s++)try{o.push(i[s].apply(r[s],e))}catch(u){n.onUnexpectedError(u)}return o}},e.prototype.isEmpty=function(){return!this._callbacks||0===this._callbacks.length},e.prototype.dispose=function(){this._callbacks=void 0,this._contexts=void 0},e}();Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o}),define("vs/base/common/event",["require","exports","vs/base/common/callbackList"],function(e,t,n){function o(e,t){return function(n,o,i){var r=e.addListener2(t,function(){n.apply(o,arguments)});return Array.isArray(i)&&i.push(r),r}}var i;!function(e){var t={dispose:function(){}};e.None=function(){return t}}(i||(i={})),Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i;var r=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(o,i,r){t._callbacks||(t._callbacks=new n["default"]),t._options&&t._options.onFirstListenerAdd&&t._callbacks.isEmpty()&&t._options.onFirstListenerAdd(t),t._callbacks.add(o,i);var s;return s={dispose:function(){s.dispose=e._noop,t._disposed||(t._callbacks.remove(o,i),t._options&&t._options.onLastListenerRemove&&t._callbacks.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(r)&&r.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)},e.prototype.dispose=function(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0,this._disposed=!0)},e._noop=function(){},e}();t.Emitter=r,t.fromEventEmitter=o}),define("vs/base/common/cancellation",["require","exports","vs/base/common/event"],function(e,t,n){var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n["default"].None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n["default"].None})}(o=t.CancellationToken||(t.CancellationToken={}));var i=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}}),r=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),s=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new r),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=o.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/eventEmitter",["require","exports","vs/base/common/errors"],function(e,t,n){var o=function(){function e(e,t,n){void 0===n&&(n=null),this._type=e,this._data=t,this._emitterType=n}return e.prototype.getType=function(){return this._type},e.prototype.getData=function(){return this._data},e.prototype.getEmitterType=function(){return this._emitterType},e}();t.EmitterEvent=o;var i=function(){function e(e){if(void 0===e&&(e=null),this._listeners={},this._bulkListeners=[],this._collectedEvents=[],this._deferredCnt=0,e){this._allowedEventTypes={};for(var t=0;tr;r++)i.push(new o(e[r].getType(),e[r].getData(),t))}0===n._deferredCnt?n._emitEvents(i):n._collectedEvents.push.apply(n._collectedEvents,i)})},e.prototype.addEmitter2=function(e,t){var n=this.addEmitter(e,t);return{dispose:n}},e.prototype.addEmitterTypeListener=function(e,t,n){if(t){if("*"===e)throw new Error("Bulk listeners cannot specify an emitter type");return this.addListener(e+"/"+t,n)}return this.addListener(e,n)},e.prototype._removeListener=function(e,t){if(this._listeners.hasOwnProperty(e))for(var n=this._listeners[e],o=0,i=n.length;i>o;o++)if(n[o]===t){n.splice(o,1);break}},e.prototype._removeBulkListener=function(e){for(var t=0,n=this._bulkListeners.length;n>t;t++)if(this._bulkListeners[t]===e){this._bulkListeners.splice(t,1);break}},e.prototype._emitToSpecificTypeListeners=function(e,t){if(this._listeners.hasOwnProperty(e))for(var o=this._listeners[e].slice(0),i=0,r=o.length;r>i;i++)try{o[i](t)}catch(s){n.onUnexpectedError(s)}},e.prototype._emitToBulkListeners=function(e){for(var t=this._bulkListeners.slice(0),o=0,i=t.length;i>o;o++)try{t[o](e)}catch(r){n.onUnexpectedError(r)}},e.prototype._emitEvents=function(e){this._bulkListeners.length>0&&this._emitToBulkListeners(e);for(var t=0,n=e.length;n>t;t++){var o=e[t];this._emitToSpecificTypeListeners(o.getType(),o.getData()),o.getEmitterType()&&this._emitToSpecificTypeListeners(o.getType()+"/"+o.getEmitterType(),o.getData())}},e.prototype.emit=function(e,t){if(void 0===t&&(t={}),this._allowedEventTypes&&!this._allowedEventTypes.hasOwnProperty(e))throw new Error("Cannot emit this event type because it wasn't white-listed!");if(this._listeners.hasOwnProperty(e)||0!==this._bulkListeners.length){var n=new o(e,t);0===this._deferredCnt?this._emitEvents([n]):this._collectedEvents.push(n)}},e.prototype.deferredEmit=function(e){this._deferredCnt=this._deferredCnt+1;var t=null;try{t=e()}catch(o){n.onUnexpectedError(o)}return this._deferredCnt=this._deferredCnt-1,0===this._deferredCnt&&this._emitCollected(),t},e.prototype._emitCollected=function(){var e=this._collectedEvents;this._collectedEvents=[],e.length>0&&this._emitEvents(e)},e}();t.EventEmitter=i;var r=function(){function e(e,t){this.target=e,this.arg=t}return e}(),s=function(e){function t(t){void 0===t&&(t=null),e.call(this,t),this._emitQueue=[]}return __extends(t,e),t.prototype._emitToSpecificTypeListeners=function(e,t){if(this._listeners.hasOwnProperty(e))for(var n=this._listeners[e],o=0,i=n.length;i>o;o++)this._emitQueue.push(new r(n[o],t))},t.prototype._emitToBulkListeners=function(e){for(var t=this._bulkListeners,n=0,o=t.length;o>n;n++)this._emitQueue.push(new r(t[n],e))},t.prototype._emitEvents=function(t){for(e.prototype._emitEvents.call(this,t);this._emitQueue.length>0;){var o=this._emitQueue.shift();try{o.target(o.arg)}catch(i){n.onUnexpectedError(i)}}},t}(i);t.OrderGuaranteeEventEmitter=s}),define("vs/base/browser/dom",["require","exports","vs/base/browser/browser","vs/base/common/types","vs/base/common/eventEmitter","vs/base/browser/mouseEvent","vs/base/browser/keyboardEvent","vs/base/common/errors","vs/base/browser/browserService"],function(e,t,n,o,i,r,s,a,u){function l(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function c(e){var t=[];return JSON.stringify(e,function(e,n){if(n instanceof Element)return"[Element]";if(o.isObject(n)||Array.isArray(n)){if(-1!==t.indexOf(n))return"[Circular]";t.push(n)}return n})}function d(e){for(;e;){if(e===document.body)return!0;e=e.parentNode}return!1}function h(e,t){var n=e.className;if(!n)return void(ee=-1);t=t.trim();var o=n.length,i=t.length;if(0===i)return void(ee=-1);if(i>o)return void(ee=-1);if(n===t)return ee=0,void(te=o);for(var r,s=-1;(s=n.indexOf(t,s+1))>=0;){if(r=s+i,(0===s||n.charCodeAt(s-1)===ne)&&n.charCodeAt(r)===ne)return ee=s,void(te=r+1);if(s>0&&n.charCodeAt(s-1)===ne&&r===o)return ee=s-1,void(te=r);if(0===s&&r===o)return ee=0,void(te=r)}ee=-1}function p(e,t){return h(e,t),-1!==ee}function f(e,t){e.className?(h(e,t),-1===ee&&(e.className=e.className+" "+t)):e.className=t}function m(e,t){h(e,t),-1!==ee&&(e.className=e.className.substring(0,ee)+e.className.substring(te))}function g(e,t,n){h(e,t),-1===ee||n||m(e,t),-1===ee&&n&&f(e,t)}function v(e,t){e.getAttribute("data-transform")!==t&&(e.setAttribute("data-transform",t),e.style.webkitTransform=t)}function y(e,t){e.getAttribute("data-transform")!==t&&(e.setAttribute("data-transform",t),e.style.transform=t)}function _(e,t,n,i){var r=function(e){e=e||window.event,n(e)};return o.isFunction(e.addEventListener)?(e.addEventListener(t,r,i||!1),function(){r&&(e.removeEventListener(t,r,i||!1),r=null,e=null,n=null)}):(e.attachEvent("on"+t,r),function(){e.detachEvent("on"+t,r)})}function b(e,t,n,o){var i=_(e,t,n,o);return{dispose:i}}function C(e){return function(t){return e(new r.StandardMouseEvent(t))}}function w(e){return function(t){return e(new s.StandardKeyboardEvent(t))}}function E(e,t){return _(e,"mouseout",function(n){for(var o=n.relatedTarget||n.toElement;o&&o!==e;)o=o.parentNode;o!==e&&t(n)})}function S(e,t){var n=E(e,t);return{dispose:n}}function T(e,t,n,o,i){function r(){u=-1,a=(new Date).getTime(),n(s),s=null}void 0===o&&(o=se),void 0===i&&(i=re);var s=null,a=0,u=-1,l=_(e,t,function(e){s=o(s,e);var t=(new Date).getTime()-a;t>=i?(-1!==u&&window.clearTimeout(u),r()):-1===u&&(u=window.setTimeout(r,i-t))});return function(){-1!==u&&window.clearTimeout(u),l()}}function L(e,t,n,o,i){return T(e,t,n,o,i)}function x(e,t,n,o,i){var r=L(e,t,n,o,i);return{dispose:r}}function M(e){return document.defaultView.getComputedStyle(e,null)}function I(e,t,n){var o=M(e),i="0";return o&&(i=o.getPropertyValue?o.getPropertyValue(t):o.getAttribute(n)),ae(e,i)}function N(e){for(var t=e.offsetParent,n=e.offsetTop,o=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var i=M(e);i&&(o-="rtl"!==i.direction?e.scrollLeft:-e.scrollLeft),e===t&&(o+=ue.getBorderLeftWidth(e),n+=ue.getBorderTopWidth(e),n+=e.offsetTop,o+=e.offsetLeft,t=e.offsetParent)}return{left:o,top:n}}function R(e){var t=N(e);return{left:t.left,top:t.top,width:e.clientWidth,height:e.clientHeight}}function k(e){var t=ue.getBorderLeftWidth(e)+ue.getBorderRightWidth(e),n=ue.getPaddingLeft(e)+ue.getPaddingRight(e);return e.offsetWidth-t-n}function O(e){var t=ue.getMarginLeft(e)+ue.getMarginRight(e);return e.offsetWidth+t}function D(e){var t=ue.getBorderTopWidth(e)+ue.getBorderBottomWidth(e),n=ue.getPaddingTop(e)+ue.getPaddingBottom(e);return e.offsetHeight-t-n}function A(e){var t=ue.getMarginTop(e)+ue.getMarginBottom(e);return e.offsetHeight+t}function P(e,t){if(null===e)return 0;for(var n=e.offsetLeft,o=e.parentNode;null!==o&&(n-=o.offsetLeft,o!==t);)o=o.parentNode;return n}function W(e,t){if(null===e)return 0;for(var n=e.offsetTop,o=e.parentNode;null!==o&&(n-=o.offsetTop,o!==t);)o=o.parentNode;return n}function F(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function V(e,t,n){for(;e;){if(p(e,t))return e;if(n&&p(e,n))return null;e=e.parentNode}return null}function H(){var e=document.createElement("style");return e.type="text/css",e.media="screen",document.getElementsByTagName("head")[0].appendChild(e),e}function B(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}function K(e,t,n){void 0===n&&(n=le),n&&t&&n.sheet.insertRule(e+"{"+t+"}",0)}function U(e,t){if(void 0===t&&(t=le),!t)return null;for(var n=B(t),o=0;o=0;i--)t.sheet.deleteRule(o[i])}}function q(e){return u.getService().isHTMLElement(e)}function j(e){try{var t=G(e);e.select(),e.setSelectionRange&&e.setSelectionRange(0,9999),Y(e,t)}catch(n){}}function G(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}function Y(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}function X(e){var n=!1,o=!1,r=new i.EventEmitter,s=[],a=null;a={addFocusListener:function(e){var t=r.addListener("focus",e);return s.push(t),t},addBlurListener:function(e){var t=r.addListener("blur",e);return s.push(t),t},dispose:function(){for(;s.length>0;)s.pop()()}};var u=function(e){o=!1,n||(n=!0,r.emit("focus",{}))},l=function(e){n&&(o=!0,window.setTimeout(function(){o&&(o=!1,n=!1,r.emit("blur",{}))},0))};return s.push(_(e,t.EventType.FOCUS,u,!0)),s.push(_(e,t.EventType.BLUR,l,!0)),a}function $(e){var t=document.createElement("div");t.innerHTML=e;for(var n=t.getElementsByTagName("script"),o=n.length;o--;)n[o].parentNode.removeChild(n[o]);return t.innerHTML}function Z(){var e={},t=window.location.search;if(t)for(var n=t.split(/[?&]/),o=0;o0;){o.sort(ie.sort);var t=o.shift();t.execute()}r=!1};t.scheduleAtNextAnimationFrame=function(t,o){void 0===o&&(o=0);var r=new ie(t,o);if(e.push(r),!i)if(i=!0,n.isChrome){var a;oe.request(function(){clearTimeout(a),s()}),a=setTimeout(s,1e3)}else oe.request(s);return r},t.runAtThisOrScheduleAtNextAnimationFrame=function(e,n){if(r){var i=new ie(e,n);return o.push(i),i}return t.scheduleAtNextAnimationFrame(e,n)}}();var re=16,se=function(e,t){return t};t.addThrottledListener=L,t.addDisposableThrottledListener=x,t.getComputedStyle=M;var ae=function(){return function(e,t){return parseFloat(t)||0}}(),ue={getBorderLeftWidth:function(e){return I(e,"border-left-width","borderLeftWidth")},getBorderTopWidth:function(e){return I(e,"border-top-width","borderTopWidth")},getBorderRightWidth:function(e){return I(e,"border-right-width","borderRightWidth")},getBorderBottomWidth:function(e){return I(e,"border-bottom-width","borderBottomWidth")},getPaddingLeft:function(e){return I(e,"padding-left","paddingLeft")},getPaddingTop:function(e){return I(e,"padding-top","paddingTop")},getPaddingRight:function(e){return I(e,"padding-right","paddingRight")},getPaddingBottom:function(e){return I(e,"padding-bottom","paddingBottom")},getMarginLeft:function(e){return I(e,"margin-left","marginLeft")},getMarginTop:function(e){return I(e,"margin-top","marginTop")},getMarginRight:function(e){return I(e,"margin-right","marginRight")},getMarginBottom:function(e){return I(e,"margin-bottom","marginBottom")},__commaSentinel:!1};t.getTopLeftOffset=N,t.getDomNodePosition=R,t.getContentWidth=k,t.getTotalWidth=O,t.getContentHeight=D,t.getTotalHeight=A,t.getRelativeLeft=P,t.getRelativeTop=W,t.isAncestor=F,t.findParentWithClass=V,t.createStyleSheet=H;var le=H();t.createCSSRule=K,t.getCSSRule=U,t.removeCSSRulesWithPrefix=z,t.isHTMLElement=q,t.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:n.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:n.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:n.isWebKit?"webkitAnimationIteration":"animationiteration"},t.EventHelper={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}},t.selectTextInInputElement=j,t.saveParentsScrollTop=G,t.restoreParentsScrollTop=Y,t.trackFocus=X,t.removeScriptTags=$,t.parseSearch=Z,t.append=Q;var ce=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;t.emmet=J}),define("vs/base/browser/globalMouseMoveMonitor",["require","exports","vs/base/common/lifecycle","vs/base/browser/dom","vs/base/browser/mouseEvent","vs/base/browser/iframe"],function(e,t,n,o,i,r){function s(e,t){var n=new i.StandardMouseEvent(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}}t.standardMouseMoveMerger=s;var a=function(){function e(){this.hooks=[],this.mouseMoveEventMerger=null,this.mouseMoveCallback=null,this.onStopCallback=null}return e.prototype.dispose=function(){this.stopMonitoring(!1)},e.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks=n.disposeAll(this.hooks),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t()}},e.prototype.isMonitoring=function(){return this.hooks.length>0},e.prototype.startMonitoring=function(e,t,n){var s=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var a=r.getSameOriginWindowChain(),u=0;u=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(e){e[e.Invalid=0]="Invalid",e[e.Root=1]="Root",e[e.Text=2]="Text",e[e.Bold=3]="Bold",e[e.Italics=4]="Italics",e[e.Action=5]="Action",e[e.ActionClose=6]="ActionClose",e[e.NewLine=7]="NewLine"}(c||(c={}))});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/idleMonitor",["require","exports","vs/base/browser/dom","vs/base/common/lifecycle","vs/base/common/eventEmitter","vs/base/browser/browserService"],function(e,t,n,o,i,r){!function(e){e[e.Idle=0]="Idle",e[e.Active=1]="Active"}(t.UserStatus||(t.UserStatus={}));var s=t.UserStatus;t.DEFAULT_IDLE_TIME=36e5;var a=function(){function e(e){var n=this;void 0===e&&(e=t.DEFAULT_IDLE_TIME),this.instance=l.INSTANCE,this.instance.increment(),this.status=null,this.idleCheckTimeout=-1,this.lastActiveTime=-1,this.idleTime=e,this.toDispose=[],this.eventEmitter=new i.EventEmitter,this.toDispose.push(this.eventEmitter),this.toDispose.push({dispose:this.instance.addListener(function(){return n.onUserActive()})}),this.onUserActive()}return e.prototype.addOneTimeActiveListener=function(e){return this.eventEmitter.addOneTimeDisposableListener("onActive",e)},e.prototype.addOneTimeIdleListener=function(e){return this.eventEmitter.addOneTimeDisposableListener("onIdle",e)},e.prototype.getStatus=function(){return this.status},e.prototype.dispose=function(){this.cancelIdleCheck(),this.toDispose=o.disposeAll(this.toDispose),this.instance.decrement()},e.prototype.onUserActive=function(){this.lastActiveTime=(new Date).getTime(),this.status!==s.Active&&(this.status=s.Active,this.scheduleIdleCheck(),this.eventEmitter.emit("onActive"))},e.prototype.onUserIdle=function(){this.status!==s.Idle&&(this.status=s.Idle,this.eventEmitter.emit("onIdle"))},e.prototype.scheduleIdleCheck=function(){var e=this;if(-1===this.idleCheckTimeout){var t=this.lastActiveTime+this.idleTime;this.idleCheckTimeout=setTimeout(function(){e.idleCheckTimeout=-1,e.checkIfUserIsIdle()},t-(new Date).getTime())}},e.prototype.cancelIdleCheck=function(){-1!==this.idleCheckTimeout&&(clearTimeout(this.idleCheckTimeout),this.idleCheckTimeout=-1)},e.prototype.checkIfUserIsIdle=function(){var e=(new Date).getTime()-this.lastActiveTime;e>=this.idleTime?this.onUserIdle():this.scheduleIdleCheck()},e}();t.IdleMonitor=a;var u=function(){function e(){this.referenceCount=0}return e.prototype.increment=function(){0===this.referenceCount&&this.construct(),this.referenceCount++},e.prototype.decrement=function(){this.referenceCount>0&&(this.referenceCount--,0===this.referenceCount&&this.dispose())},e.prototype.construct=function(){throw new Error("Implement me")},e.prototype.dispose=function(){throw new Error("Implement me")},e}(),l=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.construct=function(){var e=this;this.toDispose=[],this.eventEmitter=new i.EventEmitter,this.toDispose.push(this.eventEmitter),this.toDispose.push(n.addDisposableListener(r.getService().document,"mousemove",function(){return e.onUserActive()})),this.toDispose.push(n.addDisposableListener(r.getService().document,"keydown",function(){return e.onUserActive()})),this.onUserActive()},t.prototype.dispose=function(){this.toDispose=o.disposeAll(this.toDispose)},t.prototype.onUserActive=function(){this.eventEmitter.emit("onActive")},t.prototype.addListener=function(e){return this.eventEmitter.addListener("onActive",e)},t.INSTANCE=new t,t}(u)}),define("vs/base/browser/keyboardController",["require","exports","vs/base/browser/dom","vs/base/common/lifecycle"],function(e,t,n,o){var i=function(){function e(e){var t=this;this._listeners={},this._previousKeyDown=null,this._previousEventType=null,this._toDispose=[],this._toDispose.push(n.addStandardDisposableListener(e,"keydown",function(e){return t._onKeyDown(e)})),this._toDispose.push(n.addStandardDisposableListener(e,"keypress",function(e){return t._onKeyPress(e)})),this._toDispose.push(n.addStandardDisposableListener(e,"keyup",function(e){return t._onKeyUp(e)})),this._toDispose.push(n.addDisposableListener(e,"input",function(e){return t._onInput(e)}))}return e.prototype.dispose=function(){this._toDispose=o.disposeAll(this._toDispose),this._listeners=null,this._previousKeyDown=null,this._previousEventType=null},e.prototype.addListener=function(e,t){var n=this;return this._listeners[e]=t,function(){n._listeners[e]=null}},e.prototype._fire=function(e,t){this._listeners.hasOwnProperty(e)&&this._listeners[e](t)},e.prototype._onKeyDown=function(e){this._previousKeyDown=e.clone(),this._previousEventType="keydown",this._fire("keydown",e)},e.prototype._onKeyPress=function(e){this._previousKeyDown&&(e.shiftKey&&this._previousKeyDown.asKeybinding()!==e.asKeybinding()&&(e.shiftKey=!1),"keypress"===this._previousEventType&&this._fire("keydown",this._previousKeyDown)),this._previousEventType="keypress",this._fire("keypress",e)},e.prototype._onInput=function(e){this._fire("input",e)},e.prototype._onKeyUp=function(e){this._fire("keyup",e)},e}();t.KeyboardController=i}),define("vs/base/browser/touch",["require","exports","vs/base/common/arrays","vs/base/common/lifecycle","vs/base/browser/dom"],function(e,t,n,o,i){var r;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend"}(r=t.EventType||(t.EventType={}));var s=function(){function e(e){this.callOnTarget=[],this.activeTouches={},this.target=e,this.handle=null}return e.prototype.dispose=function(){this.target=null,this.handle&&(this.handle.dispose(),this.handle=null)},Object.defineProperty(e.prototype,"target",{set:function(e){var t=this;o.cAll(this.callOnTarget),this.activeTouches={},this.targetElement=e,this.targetElement&&(this.callOnTarget.push(i.addListener(this.targetElement,"touchstart",function(e){return t.onTouchStart(e)})),this.callOnTarget.push(i.addListener(this.targetElement,"touchend",function(e){return t.onTouchEnd(e)})),this.callOnTarget.push(i.addListener(this.targetElement,"touchmove",function(e){return t.onTouchMove(e)})))},enumerable:!0,configurable:!0}),e.newGestureEvent=function(e){var t=document.createEvent("CustomEvent");return t.initEvent(e,!1,!0),t},e.prototype.onTouchStart=function(t){var n=Date.now();t.preventDefault(),t.stopPropagation(),this.handle&&(this.handle.dispose(),this.handle=null);for(var o=0,i=t.targetTouches.length;i>o;o++){var s=t.targetTouches.item(o);this.activeTouches[s.identifier]={id:s.identifier,initialTarget:s.target,initialTimeStamp:n,initialPageX:s.pageX,initialPageY:s.pageY,rollingTimestamps:[n],rollingPageX:[s.pageX],rollingPageY:[s.pageY]};var a=e.newGestureEvent(r.Start);a.pageX=s.pageX,a.pageY=s.pageY,this.targetElement.dispatchEvent(a)}},e.prototype.onTouchEnd=function(t){var o=Date.now();t.preventDefault(),t.stopPropagation();for(var i=Object.keys(this.activeTouches).length,s=0,a=t.changedTouches.length;a>s;s++){var u=t.changedTouches.item(s);if(this.activeTouches.hasOwnProperty(String(u.identifier))){var l=this.activeTouches[u.identifier],c=Date.now()-l.initialTimeStamp;if(c0?1:-1,h,Math.abs(g)/f,g>0?1:-1,p)}delete this.activeTouches[u.identifier]}else console.warn("move of an UNKNOWN touch",u)}},e.prototype.inertia=function(t,n,o,s,a,u,l){var c=this;this.handle=i.scheduleAtNextAnimationFrame(function(){var i=Date.now(),d=i-t,h=0,p=0,f=!0;n+=e.SCROLL_FRICTION*d,a+=e.SCROLL_FRICTION*d,n>0&&(f=!1,h=o*n*d),a>0&&(f=!1,p=u*a*d);var m=e.newGestureEvent(r.Change);m.translationX=h,m.translationY=p,c.targetElement.dispatchEvent(m),f||c.inertia(i,n,o,s+h,a,u,l+p)})},e.prototype.onTouchMove=function(t){var o=Date.now();t.preventDefault(),t.stopPropagation();for(var i=0,s=t.changedTouches.length;s>i;i++){var a=t.changedTouches.item(i);if(this.activeTouches.hasOwnProperty(String(a.identifier))){var u=this.activeTouches[a.identifier],l=e.newGestureEvent(r.Change);l.translationX=a.pageX-n.tail(u.rollingPageX),l.translationY=a.pageY-n.tail(u.rollingPageY),l.pageX=a.pageX,l.pageY=a.pageY,this.targetElement.dispatchEvent(l),u.rollingPageX.length>3&&(u.rollingPageX.shift(),u.rollingPageY.shift(),u.rollingTimestamps.shift()),u.rollingPageX.push(a.pageX),u.rollingPageY.push(a.pageY),u.rollingTimestamps.push(o)}else console.warn("end of an UNKNOWN touch",a)}},e.HOLD_DELAY=2e3,e.SCROLL_FRICTION=-.005,e}();t.Gesture=s}),define("vs/base/browser/ui/filelabel/fileLabel",["require","exports","vs/base/browser/dom","vs/base/common/paths","vs/base/common/types","vs/base/common/labels","vs/css!./filelabel"],function(e,t,n,o,i,r){function s(e){if(!e)return null;if("string"==typeof e)return e;if(i.isFunction(e.getWorkspace)){var t=e.getWorkspace();return t?t.resource.fsPath:void 0}return e.fsPath}var a=function(){function e(e,t,n){this.domNode=document.createElement("span"),this.domNode.className="monaco-file-label",e.appendChild(this.domNode),n&&(this.basepath=s(n)),t&&this.setValue(t)}return e.prototype.getHTMLElement=function(){return this.domNode},e.prototype.setValue=function(e){var t=s(e);this.renderedOnce&&this.path===t||(this.path=t,this.render(),this.renderedOnce=!0)},e.prototype.render=function(){n.clearNode(this.domNode);var e=[];e.push(''),e.push(o.basename(this.path)),e.push("");var t=o.dirname(this.path);if(t&&"."!==t){var i=r.getPathLabel(t,this.basepath);e.push(''),e.push(i),e.push("")}this.domNode.innerHTML=e.join("")},e}();t.FileLabel=a}),define("vs/base/browser/ui/highlightedlabel/highlightedLabel",["require","exports","vs/base/common/strings","vs/base/browser/dom","vs/base/common/objects"],function(e,t,n,o,i){var r=function(){function e(e){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(e,t){void 0===e&&(e=""),void 0===t&&(t=[]),this.didEverRender&&this.text===e&&i.equals(this.highlights,e)||(this.text=e,this.highlights=t,this.render())},e.prototype.render=function(){o.clearNode(this.domNode);for(var e,t=[],i=0,r=0;r"),t.push(n.escape(this.text.substring(i,e.start))),t.push(""),i=e.end),t.push(''),t.push(n.escape(this.text.substring(e.start,e.end))),t.push(""),i=e.end);i"),t.push(n.escape(this.text.substring(i))),t.push("")),this.domNode.innerHTML=t.join(""),this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e}();t.HighlightedLabel=r}),define("vs/base/browser/ui/scrollbar/impl/abstractScrollbar",["require","exports","vs/base/browser/dom","vs/base/browser/mouseEvent","vs/base/browser/ui/scrollbar/impl/common","vs/base/common/lifecycle","vs/base/browser/globalMouseMoveMonitor","vs/base/browser/browser","vs/base/common/platform"],function(e,t,n,o,i,r,s,a,u){function l(e){return e+"px"}function c(e,t,n,o,i){null!==t&&(e.style.top=l(t)),null!==n&&(e.style.left=l(n)),null!==o&&(e.style.bottom=l(o)),null!==i&&(e.style.right=l(i))}function d(e,t,n){null!==t&&(e.style.width=l(t)),null!==n&&(e.style.height=l(n))}var h=function(){function e(e,t,n){this.visibleSize=0,this.scrollSize=0,this.scrollPosition=0,this.scrollbarSize=t,this.oppositeScrollbarSize=n,this.arrowSize=e,this.refreshComputedValues()}return e.prototype.setVisibleSize=function(e){return this.visibleSize!==e?(this.visibleSize=e,this.refreshComputedValues(),!0):!1},e.prototype.setScrollSize=function(e){return this.scrollSize!==e?(this.scrollSize=e,this.refreshComputedValues(),!0):!1},e.prototype.setScrollPosition=function(e){return this.scrollPosition!==e?(this.scrollPosition=e,this.refreshComputedValues(),!0):!1},e.prototype.refreshComputedValues=function(){if(this.computedAvailableSize=Math.max(0,this.visibleSize-this.oppositeScrollbarSize),this.computedRepresentableSize=Math.max(0,this.computedAvailableSize-2*this.arrowSize),this.computedRatio=this.scrollSize>0?this.computedRepresentableSize/this.scrollSize:0,this.computedIsNeeded=this.scrollSize>this.visibleSize,this.computedIsNeeded){if(this.computedSliderSize=Math.floor(this.visibleSize*this.computedRatio),this.computedSliderPosition=Math.floor(this.scrollPosition*this.computedRatio),this.computedSliderSizethis.computedRepresentableSize&&(this.computedSliderPosition=this.computedRepresentableSize-this.computedSliderSize),this.computedSliderPosition<0&&(this.computedSliderPosition=0)}}else this.computedSliderSize=this.computedRepresentableSize,this.computedSliderPosition=0},e.prototype.getArrowSize=function(){return this.arrowSize},e.prototype.getRectangleLargeSize=function(){return this.computedAvailableSize},e.prototype.getRectangleSmallSize=function(){return this.scrollbarSize},e.prototype.isNeeded=function(){return this.computedIsNeeded},e.prototype.getSliderSize=function(){return this.computedSliderSize},e.prototype.getSliderPosition=function(){return this.computedSliderPosition},e.prototype.convertSliderPositionToScrollPosition=function(e){return e/this.computedRatio},e.prototype.validateScrollPosition=function(e){return e=Math.round(e),e=Math.max(e,0),e=Math.min(e,this.scrollSize-this.visibleSize)},e.MINIMUM_SLIDER_SIZE=20,e}();t.ScrollbarState=h;var p=function(){function e(e,t,o,i,r,a,u,l,h){var p=this;this.parent=h,this.mouseWheelEventFactory=l,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",d(this.bgDomNode,a,u),c(this.bgDomNode,null!==t?0:null,null!==o?0:null,null!==i?0:null,null!==r?0:null),this.domNode=document.createElement("div"),this.domNode.className=e,this.domNode.style.position="absolute",d(this.domNode,m.ARROW_IMG_SIZE,m.ARROW_IMG_SIZE),c(this.domNode,t,o,i,r),this.mouseMoveMonitor=new s.GlobalMouseMoveMonitor,this.toDispose=[],this.toDispose.push(n.addDisposableListener(this.bgDomNode,"mousedown",function(e){return p._arrowMouseDown(e)})),this.toDispose.push(n.addDisposableListener(this.domNode,"mousedown",function(e){return p._arrowMouseDown(e)})),this.toDispose.push(this.mouseMoveMonitor),this.interval=-1,this.timeout=-1}return e.prototype.dispose=function(){this.toDispose=r.disposeAll(this.toDispose),this._clearArrowTimers()},e.prototype._arrowMouseDown=function(e){var t=this,n=function(){t.parent.onMouseWheel(t.mouseWheelEventFactory())},i=function(){t.interval=window.setInterval(n,1e3/24)};n(),this._clearArrowTimers(),this.timeout=window.setTimeout(i,200),this.mouseMoveMonitor.startMonitoring(s.standardMouseMoveMerger,function(e){},function(){t._clearArrowTimers()});var r=new o.StandardMouseEvent(e);r.preventDefault()},e.prototype._clearArrowTimers=function(){-1!==this.interval&&(window.clearInterval(this.interval),this.interval=-1),-1!==this.timeout&&(window.clearTimeout(this.timeout),this.timeout=-1)},e}(),f=function(){function e(e,t,n){this._revealTimeout=-1,this.visibility=e,this.visibleClassName=t,this.invisibleClassName=n,this.domNode=null,this.isVisible=!1,this.isNeeded=!1,this.shouldBeVisible=!1,this.fadeAwayTimeout=-1}return e.prototype.dispose=function(){-1!==this.fadeAwayTimeout&&(window.clearTimeout(this.fadeAwayTimeout),this.fadeAwayTimeout=-1),-1!==this._revealTimeout&&(window.clearTimeout(this._revealTimeout),this._revealTimeout=-1)},e.prototype.applyVisibilitySetting=function(e){return this.visibility===i.Visibility.Hidden?!1:this.visibility===i.Visibility.Visible?!0:e},e.prototype.setShouldBeVisible=function(e){var t=this.applyVisibilitySetting(e);this.shouldBeVisible!==t&&(this.shouldBeVisible=t,this.ensureVisibility())},e.prototype.setIsNeeded=function(e){this.isNeeded!==e&&(this.isNeeded=e,this.ensureVisibility())},e.prototype.setDomNode=function(e){this.domNode=e,this.domNode.className=this.invisibleClassName,this.setShouldBeVisible(!1)},e.prototype.ensureVisibility=function(){return this.isNeeded?void(this.shouldBeVisible?this._reveal():this._hide(!0)):void this._hide(!1)},e.prototype._reveal=function(){var e=this;this.isVisible||(this.isVisible=!0,-1===this._revealTimeout&&(this._revealTimeout=window.setTimeout(function(){e._revealTimeout=-1,e.domNode.className=e.visibleClassName},0)),-1!==this.fadeAwayTimeout&&(window.clearTimeout(this.fadeAwayTimeout),this.fadeAwayTimeout=-1))},e.prototype._hide=function(e){-1!==this._revealTimeout&&(window.clearTimeout(this._revealTimeout),this._revealTimeout=-1),this.isVisible&&(this.isVisible=!1,this.domNode.className=this.invisibleClassName+(e?" fade":""))},e}(),m=function(){function e(e,t,n,o,i){this.forbidTranslate3dUse=e,this.parent=t,this.scrollbarState=n,this.visibilityController=new f(o,"visible scrollbar "+i,"invisible scrollbar "+i),this.mouseMoveMonitor=new s.GlobalMouseMoveMonitor,this.toDispose=[],this.toDispose.push(this.visibilityController),this.toDispose.push(this.mouseMoveMonitor)}return e.prototype._createDomNode=function(){var e=this;this.domNode=document.createElement("div"),!this.forbidTranslate3dUse&&a.canUseTranslate3d&&(this.domNode.style.transform="translate3d(0px, 0px, 0px)"),this.visibilityController.setDomNode(this.domNode),this.domNode.style.position="absolute",this.toDispose.push(n.addDisposableListener(this.domNode,"mousedown",function(t){return e._domNodeMouseDown(t)}))},e.prototype._createArrow=function(e,t,n,o,i,r,s,a){var u=new p(e,t,n,o,i,r,s,a,this.parent);this.domNode.appendChild(u.bgDomNode),this.domNode.appendChild(u.domNode),this.toDispose.push(u)},e.prototype._createSlider=function(e,t,i,r){var s=this;this.slider=document.createElement("div"),this.slider.className="slider",this.slider.style.position="absolute",c(this.slider,e,t,null,null),d(this.slider,i,r),this.domNode.appendChild(this.slider),this.toDispose.push(n.addDisposableListener(this.slider,"mousedown",function(e){return s._sliderMouseDown(new o.StandardMouseEvent(e))}))},e.prototype.destroy=function(){this.toDispose=r.disposeAll(this.toDispose)},e.prototype.onElementSize=function(e){this.scrollbarState.setVisibleSize(e)&&(this._renderDomNode(this.scrollbarState.getRectangleLargeSize(),this.scrollbarState.getRectangleSmallSize()),this._renderSlider(),this.visibilityController.setIsNeeded(this.scrollbarState.isNeeded()))},e.prototype.onElementScrollSize=function(e){this.scrollbarState.setScrollSize(e)&&(this._renderSlider(),this.visibilityController.setIsNeeded(this.scrollbarState.isNeeded()))},e.prototype.onElementScrollPosition=function(e){this.scrollbarState.setScrollPosition(e)&&(this._renderSlider(),this.visibilityController.setIsNeeded(this.scrollbarState.isNeeded()))},e.prototype.beginReveal=function(){this.visibilityController.setShouldBeVisible(!0)},e.prototype.beginHide=function(){this.visibilityController.setShouldBeVisible(!1)},e.prototype._renderSlider=function(){this._updateSlider(this.scrollbarState.getSliderSize(),this.scrollbarState.getArrowSize()+this.scrollbarState.getSliderPosition())},e.prototype._domNodeMouseDown=function(e){var t=new o.StandardMouseEvent(e);t.target===this.domNode&&this._onMouseDown(t)},e.prototype.delegateMouseDown=function(e){var t=new o.StandardMouseEvent(e),n=this.domNode.getClientRects()[0].top,i=n+this.scrollbarState.getSliderPosition(),r=n+this.scrollbarState.getSliderPosition()+this.scrollbarState.getSliderSize(),s=this._sliderMousePosition(t);s>=i&&r>=s?this._sliderMouseDown(t):this._onMouseDown(t)},e.prototype._onMouseDown=function(e){var t=n.getDomNodePosition(this.domNode),o=this._mouseDownRelativePosition(e,t)-this.scrollbarState.getArrowSize()-this.scrollbarState.getSliderSize()/2;this.setDesiredScrollPosition(this.scrollbarState.convertSliderPositionToScrollPosition(o)),this._sliderMouseDown(e)},e.prototype._sliderMouseDown=function(t){var o=this;if(t.leftButton){var i=this._sliderOrthogonalMousePosition(t),r=this._getScrollPosition(),a=this._sliderMousePosition(t)-this.scrollbarState.getSliderPosition();n.toggleClass(this.slider,"active",!0),this.mouseMoveMonitor.startMonitoring(s.standardMouseMoveMerger,function(t){var n=o._sliderOrthogonalMousePosition(t),s=Math.abs(n-i);if(u.isWindows&&s>e.MOUSE_DRAG_RESET_DISTANCE)o.setDesiredScrollPosition(r);else{var l=o._sliderMousePosition(t)-a;o.setDesiredScrollPosition(o.scrollbarState.convertSliderPositionToScrollPosition(l))}},function(){n.toggleClass(o.slider,"active",!1),o.parent.onDragEnd()}),t.preventDefault(),this.parent.onDragStart()}},e.prototype.validateScrollPosition=function(e){return this.scrollbarState.validateScrollPosition(e)},e.prototype.setDesiredScrollPosition=function(e){e=this.validateScrollPosition(e),this._setScrollPosition(e),this.onElementScrollPosition(e),this._renderSlider()},e.prototype._renderDomNode=function(e,t){},e.prototype._updateSlider=function(e,t){},e.prototype._mouseDownRelativePosition=function(e,t){return 0},e.prototype._sliderMousePosition=function(e){return 0},e.prototype._sliderOrthogonalMousePosition=function(e){ +return 0},e.prototype._getScrollPosition=function(){return 0},e.prototype._setScrollPosition=function(e){},e.ARROW_IMG_SIZE=11,e.MOUSE_DRAG_RESET_DISTANCE=140,e}();t.AbstractScrollbar=m}),define("vs/base/browser/ui/scrollbar/impl/domNodeScrollable",["require","exports","vs/base/browser/dom","vs/base/browser/touch","vs/base/common/eventEmitter"],function(e,t,n,o,i){var r=function(){function e(e){this.eventEmitterHelper=new i.EventEmitter,this.domNode=e,this.gestureHandler=new o.Gesture(this.domNode)}return e.prototype.getScrollHeight=function(){return this.domNode.scrollHeight},e.prototype.getScrollWidth=function(){return this.domNode.scrollWidth},e.prototype.getScrollLeft=function(){return this.domNode.scrollLeft},e.prototype.setScrollLeft=function(e){this.domNode.scrollLeft=e},e.prototype.getScrollTop=function(){return this.domNode.scrollTop},e.prototype.setScrollTop=function(e){this.domNode.scrollTop=e},e.prototype.addScrollListener=function(e){var t=this,o=this.eventEmitterHelper.addListener2("scroll",e),i=n.addDisposableListener(this.domNode,"scroll",function(e){t.eventEmitterHelper.emit("scroll",{browserEvent:e})});return{dispose:function(){i.dispose(),o.dispose()}}},e.prototype.dispose=function(){this.domNode=null,this.eventEmitterHelper.dispose(),this.gestureHandler&&(this.gestureHandler.dispose(),this.gestureHandler=null)},e}();t.DomNodeScrollable=r});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/ui/scrollbar/impl/horizontalScrollbar",["require","exports","vs/base/browser/ui/scrollbar/impl/abstractScrollbar","vs/base/browser/mouseEvent","vs/base/browser/dom","vs/base/browser/ui/scrollbar/impl/common","vs/base/browser/browser"],function(e,t,n,o,i,r,s){var a=function(e){function t(t,o,i){var s=this,a=new n.ScrollbarState(i.horizontalHasArrows?i.arrowSize:0,i.horizontal===r.Visibility.Hidden?0:i.horizontalScrollbarSize,i.vertical===r.Visibility.Hidden?0:i.verticalScrollbarSize);if(e.call(this,i.forbidTranslate3dUse,o,a,i.horizontal,"horizontal"),this.scrollable=t,this._createDomNode(),i.horizontalHasArrows){var u=(i.arrowSize-n.AbstractScrollbar.ARROW_IMG_SIZE)/2,l=(i.horizontalScrollbarSize-n.AbstractScrollbar.ARROW_IMG_SIZE)/2;this._createArrow("left-arrow",l,u,null,null,i.arrowSize,i.horizontalScrollbarSize,function(){return s._createMouseWheelEvent(1)}),this._createArrow("right-arrow",l,null,null,u,i.arrowSize,i.horizontalScrollbarSize,function(){return s._createMouseWheelEvent(-1)})}this._createSlider(Math.floor((i.horizontalScrollbarSize-i.horizontalSliderSize)/2),0,null,i.horizontalSliderSize)}return __extends(t,e),t.prototype._createMouseWheelEvent=function(e){return new o.StandardMouseWheelEvent(null,e,0)},t.prototype._updateSlider=function(e,t){i.StyleMutator.setWidth(this.slider,e),!this.forbidTranslate3dUse&&s.canUseTranslate3d?i.StyleMutator.setTransform(this.slider,"translate3d("+t+"px, 0px, 0px)"):i.StyleMutator.setLeft(this.slider,t)},t.prototype._renderDomNode=function(e,t){i.StyleMutator.setWidth(this.domNode,e),i.StyleMutator.setHeight(this.domNode,t),i.StyleMutator.setLeft(this.domNode,0),i.StyleMutator.setBottom(this.domNode,0)},t.prototype._mouseDownRelativePosition=function(e,t){return e.posx-t.left},t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype._getScrollPosition=function(){return this.scrollable.getScrollLeft()},t.prototype._setScrollPosition=function(e){this.scrollable.setScrollLeft(e)},t}(n.AbstractScrollbar);t.HorizontalScrollbar=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/ui/scrollbar/impl/verticalScrollbar",["require","exports","vs/base/browser/ui/scrollbar/impl/abstractScrollbar","vs/base/browser/mouseEvent","vs/base/browser/dom","vs/base/browser/ui/scrollbar/impl/common","vs/base/browser/browser"],function(e,t,n,o,i,r,s){var a=function(e){function t(t,o,i){var s=this,a=new n.ScrollbarState(i.verticalHasArrows?i.arrowSize:0,i.vertical===r.Visibility.Hidden?0:i.verticalScrollbarSize,i.horizontal===r.Visibility.Hidden?0:i.horizontalScrollbarSize);if(e.call(this,i.forbidTranslate3dUse,o,a,i.vertical,"vertical"),this.scrollable=t,this._createDomNode(),i.verticalHasArrows){var u=(i.arrowSize-n.AbstractScrollbar.ARROW_IMG_SIZE)/2,l=(i.verticalScrollbarSize-n.AbstractScrollbar.ARROW_IMG_SIZE)/2;this._createArrow("up-arrow",u,l,null,null,i.verticalScrollbarSize,i.arrowSize,function(){return s._createMouseWheelEvent(1)}),this._createArrow("down-arrow",null,l,u,null,i.verticalScrollbarSize,i.arrowSize,function(){return s._createMouseWheelEvent(-1)})}this._createSlider(0,Math.floor((i.verticalScrollbarSize-i.verticalSliderSize)/2),i.verticalSliderSize,null)}return __extends(t,e),t.prototype._createMouseWheelEvent=function(e){return new o.StandardMouseWheelEvent(null,0,e)},t.prototype._updateSlider=function(e,t){i.StyleMutator.setHeight(this.slider,e),!this.forbidTranslate3dUse&&s.canUseTranslate3d?i.StyleMutator.setTransform(this.slider,"translate3d(0px, "+t+"px, 0px)"):i.StyleMutator.setTop(this.slider,t)},t.prototype._renderDomNode=function(e,t){i.StyleMutator.setWidth(this.domNode,t),i.StyleMutator.setHeight(this.domNode,e),i.StyleMutator.setRight(this.domNode,0),i.StyleMutator.setTop(this.domNode,0)},t.prototype._mouseDownRelativePosition=function(e,t){return e.posy-t.top},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx},t.prototype._getScrollPosition=function(){return this.scrollable.getScrollTop()},t.prototype._setScrollPosition=function(e){this.scrollable.setScrollTop(e)},t}(n.AbstractScrollbar);t.VerticalScrollbar=a}),define("vs/base/browser/ui/scrollbar/impl/scrollableElement",["require","exports","vs/base/browser/dom","vs/base/browser/mouseEvent","vs/base/common/platform","vs/base/browser/ui/scrollbar/impl/common","vs/base/browser/ui/scrollbar/impl/domNodeScrollable","vs/base/browser/ui/scrollbar/impl/horizontalScrollbar","vs/base/browser/ui/scrollbar/impl/verticalScrollbar","vs/base/common/lifecycle","vs/css!./scrollbars"],function(e,t,n,o,i,r,s,a,u,l){var c=500,d=50,h=function(){function e(e,t,o){var i=this;void 0===o&&(o=null),this.originalElement=e,this.originalElement.style.overflow="hidden",this.options=this._createOptions(t),this.options.scrollable?this.scrollable=this.options.scrollable:this.scrollable=new s.DomNodeScrollable(this.originalElement),this.verticalScrollbarWidth=this.options.verticalScrollbarSize,this.horizontalScrollbarHeight=this.options.horizontalScrollbarSize,this.verticalScrollbar=new u.VerticalScrollbar(this.scrollable,this,this.options),this.horizontalScrollbar=new a.HorizontalScrollbar(this.scrollable,this,this.options),this.domNode=document.createElement("div"),this.domNode.className="monaco-scrollable-element "+this.options.className,this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation"),this.domNode.style.position="relative",this.domNode.style.overflow="hidden",this.domNode.appendChild(this.originalElement),this.domNode.appendChild(this.horizontalScrollbar.domNode),this.domNode.appendChild(this.verticalScrollbar.domNode),this.options.useShadows&&(this.leftShadowDomNode=document.createElement("div"),this.leftShadowDomNode.className="shadow",this.domNode.appendChild(this.leftShadowDomNode)),this.options.useShadows&&(this.topShadowDomNode=document.createElement("div"),this.topShadowDomNode.className="shadow",this.domNode.appendChild(this.topShadowDomNode),this.topLeftShadowDomNode=document.createElement("div"),this.topLeftShadowDomNode.className="shadow top-left-corner",this.domNode.appendChild(this.topLeftShadowDomNode)),this.listenOnDomNode=this.options.listenOnDomNode||this.domNode,this.toDispose=[],this.toDispose.push(this.scrollable.addScrollListener(function(){return i._onScroll()})),this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this.options.handleMouseWheel),this.toDispose.push(n.addDisposableListener(this.listenOnDomNode,"mouseover",function(e){return i._onMouseOver(e)})),this.toDispose.push(n.addDisposableNonBubblingMouseOutListener(this.listenOnDomNode,function(e){return i._onMouseOut(e)})),this.onElementDimensionsTimeout=-1,this.onElementInternalDimensionsTimeout=-1,this.hideTimeout=-1,this.isDragging=!1,this.mouseIsOver=!1,this.onElementDimensions(o,!0),this.onElementInternalDimensions(!0)}return e.prototype.dispose=function(){this.toDispose=l.disposeAll(this.toDispose),this._mouseWheelToDispose=l.disposeAll(this._mouseWheelToDispose),this.verticalScrollbar.destroy(),this.horizontalScrollbar.destroy(),-1!==this.onElementDimensionsTimeout&&(window.clearTimeout(this.onElementDimensionsTimeout),this.onElementDimensionsTimeout=-1),-1!==this.onElementInternalDimensionsTimeout&&(window.clearTimeout(this.onElementInternalDimensionsTimeout),this.onElementInternalDimensionsTimeout=-1)},e.prototype.destroy=function(){this.dispose()},e.prototype.getDomNode=function(){return this.domNode},e.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this.domNode,insertBefore:this.verticalScrollbar.domNode}},e.prototype.getVerticalSliderDomNode=function(){return this.verticalScrollbar.slider},e.prototype.delegateVerticalScrollbarMouseDown=function(e){this.verticalScrollbar.delegateMouseDown(e)},e.prototype.onElementDimensions=function(e,t){var n=this;void 0===e&&(e=null),void 0===t&&(t=!1),t?this.actualElementDimensions(e):-1===this.onElementDimensionsTimeout&&(this.onElementDimensionsTimeout=window.setTimeout(function(){return n.actualElementDimensions(e)},0))},e.prototype.actualElementDimensions=function(e){void 0===e&&(e=null),this.onElementDimensionsTimeout=-1,e||(e={width:this.domNode.clientWidth,height:this.domNode.clientHeight}),this.dimensions=this._computeDimensions(e.width,e.height),this.verticalScrollbar.onElementSize(this.dimensions.height),this.horizontalScrollbar.onElementSize(this.dimensions.width)},e.prototype.onElementInternalDimensions=function(e){var t=this;void 0===e&&(e=!1),e?this.actualElementInternalDimensions():-1===this.onElementInternalDimensionsTimeout&&(this.onElementInternalDimensionsTimeout=window.setTimeout(function(){return t.actualElementInternalDimensions()},0))},e.prototype.actualElementInternalDimensions=function(){this.onElementInternalDimensionsTimeout=-1,this.horizontalScrollbar.onElementScrollSize(this.scrollable.getScrollWidth()),this.verticalScrollbar.onElementScrollSize(this.scrollable.getScrollHeight())},e.prototype.updateClassName=function(e){this.options.className=e,i.isMacintosh&&(this.options.className+=" mac"),this.domNode.className="monaco-scrollable-element "+this.options.className},e.prototype.updateOptions=function(e){var t=this._createOptions(e);this.options.handleMouseWheel=t.handleMouseWheel,this.options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._setListeningToMouseWheel(this.options.handleMouseWheel)},e.prototype._setListeningToMouseWheel=function(e){var t=this,i=this._mouseWheelToDispose.length>0;if(i!==e&&(this._mouseWheelToDispose=l.disposeAll(this._mouseWheelToDispose),e)){var r=function(e){var n=new o.StandardMouseWheelEvent(e);t.onMouseWheel(n)};this._mouseWheelToDispose.push(n.addDisposableListener(this.listenOnDomNode,"mousewheel",r)),this._mouseWheelToDispose.push(n.addDisposableListener(this.listenOnDomNode,"DOMMouseScroll",r))}},e.prototype.onMouseWheel=function(e){if(i.isMacintosh&&e.browserEvent&&this.options.saveLastScrollTimeOnClassName){var t=e.browserEvent.target;if(t&&1===t.nodeType){var o=n.findParentWithClass(t,this.options.saveLastScrollTimeOnClassName);o&&o.setAttribute("last-scroll-time",String((new Date).getTime()))}}var r=-1,s=-1;if(e.deltaY||e.deltaX){var a=e.deltaY*this.options.mouseWheelScrollSensitivity,u=e.deltaX*this.options.mouseWheelScrollSensitivity;if(this.options.flipAxes&&(a=e.deltaX,u=e.deltaY),i.isMacintosh&&(a&&Math.abs(u)<.2&&(u=0),Math.abs(a)>.5*Math.abs(u)&&(u=0)),a){var l=this.scrollable.getScrollTop();r=this.verticalScrollbar.validateScrollPosition((-1!==r?r:l)-d*a),r===l&&(r=-1)}if(u){var c=this.scrollable.getScrollLeft();s=this.horizontalScrollbar.validateScrollPosition((-1!==s?s:c)-d*u),s===c&&(s=-1)}(-1!==r||-1!==s)&&(-1!==r&&(this.verticalScrollbar.setDesiredScrollPosition(r),r=-1),-1!==s&&(this.horizontalScrollbar.setDesiredScrollPosition(s),s=-1))}e.preventDefault(),e.stopPropagation()},e.prototype._onScroll=function(){var e=this.scrollable.getScrollHeight(),t=this.scrollable.getScrollTop(),o=this.scrollable.getScrollWidth(),i=this.scrollable.getScrollLeft();if(this.verticalScrollbar.onElementScrollPosition(t),this.horizontalScrollbar.onElementScrollPosition(i),this.options.useShadows){var r=e>0&&t>0,s=this.options.useShadows&&o>0&&i>0;this.topShadowDomNode&&n.toggleClass(this.topShadowDomNode,"top",r),this.topLeftShadowDomNode&&n.toggleClass(this.topLeftShadowDomNode,"top",r),this.leftShadowDomNode&&n.toggleClass(this.leftShadowDomNode,"left",s),this.topLeftShadowDomNode&&n.toggleClass(this.topLeftShadowDomNode,"left",s)}this._reveal()},e.prototype.onDragStart=function(){this.isDragging=!0,this._reveal()},e.prototype.onDragEnd=function(){this.isDragging=!1,this._hide()},e.prototype._onMouseOut=function(e){this.mouseIsOver=!1,this._hide()},e.prototype._onMouseOver=function(e){this.mouseIsOver=!0,this._reveal()},e.prototype._reveal=function(){this.verticalScrollbar.beginReveal(),this.horizontalScrollbar.beginReveal(),this._scheduleHide()},e.prototype._hide=function(){this.mouseIsOver||this.isDragging||(this.verticalScrollbar.beginHide(),this.horizontalScrollbar.beginHide())},e.prototype._scheduleHide=function(){-1!==this.hideTimeout&&window.clearTimeout(this.hideTimeout),this.hideTimeout=window.setTimeout(this._hide.bind(this),c)},e.prototype._computeDimensions=function(e,t){var n=e,o=t;return{width:n,height:o}},e.prototype._createOptions=function(e){function t(e,t,n){return e.hasOwnProperty(t)?e[t]:n}var n={forbidTranslate3dUse:t(e,"forbidTranslate3dUse",!1),className:t(e,"className",""),useShadows:t(e,"useShadows",!0),handleMouseWheel:t(e,"handleMouseWheel",!0),flipAxes:t(e,"flipAxes",!1),mouseWheelScrollSensitivity:t(e,"mouseWheelScrollSensitivity",1),arrowSize:t(e,"arrowSize",11),scrollable:t(e,"scrollable",null),listenOnDomNode:t(e,"listenOnDomNode",null),horizontal:r.visibilityFromString(t(e,"horizontal","auto")),horizontalScrollbarSize:t(e,"horizontalScrollbarSize",10),horizontalSliderSize:0,horizontalHasArrows:t(e,"horizontalHasArrows",!1),vertical:r.visibilityFromString(t(e,"vertical","auto")),verticalScrollbarSize:t(e,"verticalScrollbarSize",10),verticalHasArrows:t(e,"verticalHasArrows",!1),verticalSliderSize:0,saveLastScrollTimeOnClassName:t(e,"saveLastScrollTimeOnClassName",null)};return n.horizontalSliderSize=t(e,"horizontalSliderSize",n.horizontalScrollbarSize),n.verticalSliderSize=t(e,"verticalSliderSize",n.verticalScrollbarSize),i.isMacintosh&&(n.className+=" mac"),n},e}();t.ScrollableElement=h}),define("vs/base/common/eventSource",["require","exports","vs/base/common/callbackList"],function(e,t,n){var o=function(){function e(){}return e.prototype.fire=function(){for(var e=[],t=0;to;o++){var r=e[o](t,n);if(r)return r}return null}}function i(){for(var e=[],t=0;ti;i++){var s=e[i](t,n);if(!s)return null;o=o.concat(s)}return o}}function r(e,t,n){if(0===n.length||n.length0?[{start:0,end:t.length}]:[]}function s(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}function a(e,t){return u(e.toLowerCase(),t.toLowerCase(),0,0)}function u(e,t,n,o){if(n===e.length)return[];if(o===t.length)return null;if(e[n]===t[o]){var i=null;if(i=u(e,t,n+1,o+1))return f({start:o,end:o+1},i)}return u(e,t,n,o+1)}function l(e){return e>=97&&122>=e}function c(e){return e>=65&&90>=e}function d(e){return e>=48&&57>=e}function h(e){return[32,9,10,13].indexOf(e)>-1}function p(e){return l(e)||c(e)||d(e)}function f(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function m(e,t){for(var n=t;n0&&!p(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,o){if(n===e.length)return[];if(o===t.length)return null;if(e[n]!==t[o].toLowerCase())return null;var i=null,r=o+1;for(i=g(e,t,n+1,o+1);!i&&(r=m(t,r))40)return!1;for(var t=0,n=0,o=0,i=0,r=0;r.2&&.8>s&&u>.6}function y(e){for(var t=0,n=0,o=0,i=0,r=0;r=t:e.length<=30}function _(e,t){if(0===t.length)return null;if(!y(e))return null;if(!v(t))return null;for(var n=null,o=0;o0&&i.push("'"+a.join("', '")+"'")},l=0,c=o.length;c>l;l++){var d=o[l];if(0!==d.length&&d!==s){var p=d.charAt(0);r!==p&&(u(),r=p,a=[]),a.push(d),s=d}}return u(),i.join(",\n")}function s(e,t){e&&t&&(h[e]&&h[e]!==t&&console.warn("Overwriting filename <<"+e+">> to now point to mime <<"+t+">>"),h[e]=t)}function a(e,t){e&&t&&p.push({regexp:e,mime:t})}function u(e){if(!e)return!1;var n;return n=o.isArray(e)?e:e.split(",").map(function(e){return e.trim()}),n.indexOf(t.MIME_BINARY)>=0}function l(e,o){if(!e)return[t.MIME_UNKNOWN];if(o&&(i.startsWithUTF8BOM(o)&&(o=o.substr(1)),o.length>0))for(var r=0;r0&&s[0].length===o.length)return[p[r].mime,t.MIME_TEXT]}e=e.toLowerCase();var a,u,l=n.basename(e);n.extname(e);for(var c in h){var d=c.toLowerCase();if(!a&&l===d){a=c;break}"."===c[0]&&i.endsWith(l,d)&&(!u||d.length>u.length)&&(u=c)}return a?[h[a],t.MIME_TEXT]:u?[h[u],t.MIME_TEXT]:[t.MIME_UNKNOWN]}function c(e){return e?"string"==typeof e?e===t.MIME_BINARY||e===t.MIME_TEXT||e===t.MIME_UNKNOWN:1===e.length&&c(e[0]):!0}function d(e,t){for(var n in h){var o=h[n];if(o===e)return t+n}return null}t.MIME_TEXT="text/plain",t.MIME_BINARY="application/octet-stream",t.MIME_UNKNOWN="application/unknown";var h=Object.create(null),p=[];t.generateKnownFilenames=r,t.registerTextMimeByFilename=s,t.registerTextMimeByFirstLine=a,t.isBinaryMime=u,t.guessMimeTypes=l,t.isUnspecific=c,t.suggestFilename=d});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/network",["require","exports","vs/base/common/assert","vs/base/common/strings","vs/base/common/hash","vs/base/common/marshalling","vs/base/common/paths","vs/base/common/uri"],function(e,t,n,o,i,r,s,a){r.registerMarshallingContribution({canSerialize:function(e){return e instanceof p},serialize:function(e,t){return e._toSerialized()},canDeserialize:function(e){return e.$isURL},deserialize:function(e,t){return new p(e.$value)}});var u=":".charCodeAt(0),l="/".charCodeAt(0),c="?".charCodeAt(0),d="#".charCodeAt(0),h=function(){function e(e){this.spec=e||o.empty,this.specLength=this.spec.length,this.parse()}return e.prototype.forwardSubstring=function(e,t){return t>e?this.spec.substring(e,t):o.empty},e.prototype.getScheme=function(){return this.forwardSubstring(this.schemeStart,this.domainStart-1)},e.prototype.getProtocol=function(){return this.forwardSubstring(this.schemeStart,this.domainStart)},e.prototype.getDomain=function(){return this.forwardSubstring(this.domainStart+2,this.portStart)},e.prototype.getPort=function(){return this.forwardSubstring(this.portStart+1,this.pathStart)},e.prototype.getHost=function(){return this.forwardSubstring(this.domainStart+2,this.pathStart)},e.prototype.getPath=function(){return this.forwardSubstring(this.pathStart,this.queryStringStart)},e.prototype.getQueryString=function(){return this.forwardSubstring(this.queryStringStart+1,this.fragmentIdStart)},e.prototype.getFragmentId=function(){return this.forwardSubstring(this.fragmentIdStart+1,this.specLength)},e.prototype.getAllBeforePath=function(){return this.forwardSubstring(0,this.pathStart)},e.prototype.getAllBeforeFragmentId=function(){return this.forwardSubstring(0,this.fragmentIdStart)},e.prototype.combine=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),i=e.length;-1!==t&&i>t&&(i=t),-1!==n&&i>n&&(i=n);var r=e.substring(0,i),a=e.substring(i);r=r.replace("\\","/");var u;for(u=o.startsWith(r,"/")?s.join(r):s.join(s.dirname(this.getPath()),r);"/"===u.charAt(0);)u=u.substr(1);for(;0===u.indexOf("../");)u=u.substr(3);return this.getAllBeforePath()+"/"+u+a},e.prototype.parse=function(){var e,t,n=0,o=1,i=2,r=3,s=4,a=n,h=this.spec,p=this.specLength,f=-1,m=-1;for(this.schemeStart=0,this.domainStart=this.specLength,this.portStart=this.specLength,this.pathStart=this.specLength,this.queryStringStart=this.specLength,this.fragmentIdStart=this.specLength,e=0;p>e;e++){switch(t=h.charCodeAt(e),a){case n:f===l&&t===l&&(a=o,this.domainStart=e-1);break;case o:t===u?(a=i,this.portStart=e):t===l?(a=r,this.portStart=e,this.pathStart=e):t===d&&(this.portStart=e,this.pathStart=e,this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case i:t===l?(a=r,this.pathStart=e):t===d&&(this.pathStart=e,this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case r:t===c?(a=s,this.queryStringStart=e):t===d&&(this.queryStringStart=e,this.fragmentIdStart=e,e=p);break;case s:t===d&&(this.fragmentIdStart=e,e=p)}m=f,f=t}a===n&&(this.schemeStart=this.specLength)},e}();t.ParsedUrl=h;var p=function(e){function t(t){e.call(this),n.ok(!!t,"spec must not be null"),"string"==typeof t?this._uri=a["default"].parse(t):this._uri=t,this._spec=this._uri.toString(),this._parsed=null}return __extends(t,e),t.fromEncoded=function(e){return new t(decodeURIComponent(e))},t.fromValue=function(e){return new t(e)},t.fromUri=function(e){return new t(e)},t.prototype.equals=function(e){return this.toString()!==String(e)?!1:e instanceof t||a["default"].isURI(e)},t.prototype.hashCode=function(){return i.computeMurmur2StringHashCode(this._spec)},t.prototype.isInMemory=function(){return this.scheme===f.inMemory},t.prototype.getScheme=function(){return this._ensureParsedUrl(),this._parsed.getScheme()},t.prototype.getPath=function(){return this._ensureParsedUrl(),this._parsed.getPath()},t.prototype.toUnique=function(){return this._ensureParsedUrl(),this._parsed.getAllBeforeFragmentId()},t.prototype.startsWith=function(e){return o.startsWith(this._spec,e._spec)},t.prototype.combine=function(e){return this._ensureParsedUrl(),new t(this._parsed.combine(e))},t.prototype._ensureParsedUrl=function(){null===this._parsed&&(this._parsed=new h(this._spec))},Object.defineProperty(t.prototype,"scheme",{get:function(){return this._uri.scheme},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"authority",{get:function(){return this._uri.authority},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._uri.path},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._uri.fsPath},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"query",{get:function(){return this._uri.query},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fragment",{get:function(){return this._uri.fragment},enumerable:!0,configurable:!0}),t.prototype.withScheme=function(e){return a["default"].create(e,this.authority,this.fsPath,this.query,this.fragment)},t.prototype.withAuthority=function(e){return a["default"].create(this.scheme,e,this.fsPath,this.query,this.fragment)},t.prototype.withPath=function(e){return a["default"].create(this.scheme,this.authority,e,this.query,this.fragment)},t.prototype.withQuery=function(e){return a["default"].create(this.scheme,this.authority,this.fsPath,e,this.fragment)},t.prototype.withFragment=function(e){return a["default"].create(this.scheme,this.authority,this.fsPath,this.query,e)},t.prototype["with"]=function(e,t,n,o,i){return a["default"].create(e,t,n,o,i)},t.prototype.toString=function(){return this._spec},t.prototype.toJSON=function(){return this.toString()},t.prototype._toSerialized=function(){return{$isURL:!0,$value:this.toString().replace(/URL_MARSHAL_REMOVE.*$/,"")}},t}(a["default"]);t.URL=p;var f;!function(e){e.inMemory="inmemory",e.http="http",e.https="https",e.file="file"}(f=t.schemas||(t.schemas={}))}),define("vs/base/common/severity",["require","exports","vs/nls!vs/base/common/severity","vs/base/common/strings"],function(e,t,n,o){var i;!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={}));var i;!function(e){function t(t){return t?o.equalsIgnoreCase(s,t)?e.Error:o.equalsIgnoreCase(a,t)||o.equalsIgnoreCase(u,t)?e.Warning:o.equalsIgnoreCase(l,t)?e.Info:e.Ignore:e.Ignore}function i(e){return c[e]||o.empty}function r(e,t){return t-e}var s="error",a="warning",u="warn",l="info",c=Object.create(null);c[e.Error]=n.localize(0,null),c[e.Warning]=n.localize(1,null),c[e.Info]=n.localize(2,null),e.fromValue=t,e.toString=i,e.compare=r}(i||(i={})),Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i}),define("vs/base/common/timer",["require","exports","vs/base/common/platform","vs/base/common/errors","vs/base/common/stopwatch"],function(e,t,n,o,i){function r(e,t,n,o){return h.start(e,t,n,o)}function s(){return h}t.ENABLE_TIMER=!1;var a=n.globals.msWriteProfilerMark;!function(e){e[e.EDITOR=0]="EDITOR",e[e.LANGUAGES=1]="LANGUAGES",e[e.WORKER=2]="WORKER",e[e.WORKBENCH=3]="WORKBENCH",e[e.STARTUP=4]="STARTUP"}(t.Topic||(t.Topic={}));var u=t.Topic,l=function(){function e(){}return e.prototype.stop=function(){},e.prototype.timeTaken=function(){return-1},e}(),c=function(){function e(e,t,n,o,r){if(this.timeKeeper=e,this.name=t,this.description=r,this.topic=n,this.stopTime=null,o)return void(this.startTime=o);if(this.startTime=new Date,this.sw=i.StopWatch.create(),a){var s=["Monaco",this.topic,this.name,"start"];a(s.join("|"))}}return e.prototype.stop=function(e){if(null===this.stopTime){if(e)return this.stopTime=e,this.sw=null,void this.timeKeeper._onEventStopped(this);if(this.stopTime=new Date,this.sw&&this.sw.stop(),this.timeKeeper._onEventStopped(this),a){var t=["Monaco",this.topic,this.name,"stop"];a(t.join("|"))}}},e.prototype.timeTaken=function(){return this.sw?this.sw.elapsed():this.stopTime?this.stopTime.getTime()-this.startTime.getTime():-1},e}(),d=function(){function e(){this.cleaningIntervalId=-1,this.collectedEvents=[],this.listeners=[]}return e.prototype.isEnabled=function(){return t.ENABLE_TIMER},e.prototype.start=function(e,n,o,i){if(!this.isEnabled())return t.nullEvent;var r;"string"==typeof e?r=e:e===u.EDITOR?r="Editor":e===u.LANGUAGES?r="Languages":e===u.WORKER?r="Worker":e===u.WORKBENCH?r="Workbench":e===u.STARTUP&&(r="Startup"),this.initAutoCleaning();var s=new c(this,n,r,o,i);return this.addEvent(s),s},e.prototype.dispose=function(){-1!==this.cleaningIntervalId&&(n.clearInterval(this.cleaningIntervalId),this.cleaningIntervalId=-1)},e.prototype.addListener=function(e){this.listeners.push(e)},e.prototype.removeListener=function(e){for(var t=0;te._EVENT_CACHE_LIMIT&&this.collectedEvents.shift()},e.prototype.initAutoCleaning=function(){var t=this;-1===this.cleaningIntervalId&&(this.cleaningIntervalId=n.setInterval(function(){var n=Date.now();t.collectedEvents.forEach(function(t){!t.stopTime&&n-t.startTime.getTime()>=e._MAX_TIMER_LENGTH&&t.stop()})},e._CLEAN_UP_INTERVAL))},e.prototype.getCollectedEvents=function(){return this.collectedEvents.slice(0)},e.prototype.clearCollectedEvents=function(){this.collectedEvents=[]},e.prototype._onEventStopped=function(e){for(var t=[e],n=this.listeners.slice(0),i=0;ii;i++)u.insertBefore(this.createdElements[i],l[n++]);else for(i=0,a=this.createdElements.length;a>i;i++)u.appendChild(this.createdElements[i]);return this},e.prototype.appendTo=function(t,n){t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,r.ok(t,"Builder can only be build() with a container provided."),r.ok(s.isHTMLElement(t),"The container must either be a HTMLElement or a Builder.");var i=t;this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement);var a=i.childNodes;return o.isNumber(n)&&n=0){var n=e.split("-");e=n[0];for(var o=1;o=0){var t=e.split("-");e=t[0];for(var n=1;n=0?this.padding.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.paddingTop=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.paddingRight=this.toPixel(t)),o.isUndefinedOrNull(n)||(this.currentElement.style.paddingBottom=this.toPixel(n)),o.isUndefinedOrNull(i)||(this.currentElement.style.paddingLeft=this.toPixel(i)),this)},e.prototype.margin=function(e,t,n,i){return o.isString(e)&&e.indexOf(" ")>=0?this.margin.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.marginTop=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.marginRight=this.toPixel(t)),o.isUndefinedOrNull(n)||(this.currentElement.style.marginBottom=this.toPixel(n)),o.isUndefinedOrNull(i)||(this.currentElement.style.marginLeft=this.toPixel(i)),this)},e.prototype.position=function(e,t,n,i,r){return o.isString(e)&&e.indexOf(" ")>=0?this.position.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.top=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.right=this.toPixel(t)),o.isUndefinedOrNull(n)||(this.currentElement.style.bottom=this.toPixel(n)),o.isUndefinedOrNull(i)||(this.currentElement.style.left=this.toPixel(i)),r||(r="absolute"),this.currentElement.style.position=r,this)},e.prototype.size=function(e,t){return o.isString(e)&&e.indexOf(" ")>=0?this.size.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.width=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.height=this.toPixel(t)),this)},e.prototype.minSize=function(e,t){return o.isString(e)&&e.indexOf(" ")>=0?this.minSize.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.minWidth=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.minHeight=this.toPixel(t)),this)},e.prototype.maxSize=function(e,t){return o.isString(e)&&e.indexOf(" ")>=0?this.maxSize.apply(this,e.split(" ")):(o.isUndefinedOrNull(e)||(this.currentElement.style.maxWidth=this.toPixel(e)),o.isUndefinedOrNull(t)||(this.currentElement.style.maxHeight=this.toPixel(t)),this)},e.prototype["float"]=function(e){return this.currentElement.style.cssFloat=e,this},e.prototype.clear=function(e){return this.currentElement.style.clear=e,this},e.prototype.normal=function(){return this.currentElement.style.fontStyle="normal",this.currentElement.style.fontWeight="normal",this.currentElement.style.textDecoration="none",this},e.prototype.italic=function(){return this.currentElement.style.fontStyle="italic",this},e.prototype.bold=function(){return this.currentElement.style.fontWeight="bold",this},e.prototype.underline=function(){return this.currentElement.style.textDecoration="underline",this},e.prototype.overflow=function(e){return this.currentElement.style.overflow=e,this},e.prototype.display=function(e){return this.currentElement.style.display=e,this},e.prototype.disable=function(){return this.currentElement.setAttribute("disabled","disabled"),this},e.prototype.enable=function(){return this.currentElement.removeAttribute("disabled"),this},e.prototype.show=function(){return this.hasClass("hidden")&&this.removeClass("hidden"),this.attr("aria-hidden","false"),this.cancelVisibilityPromise(),this},e.prototype.showDelayed=function(e){var t=this;this.cancelVisibilityPromise();var o=n.Promise.timeout(e);return this.setProperty(E,o),o.done(function(){t.removeProperty(E),t.show()}),this},e.prototype.hide=function(){return this.hasClass("hidden")||this.addClass("hidden"),this.attr("aria-hidden","true"),this.cancelVisibilityPromise(),this},e.prototype.isHidden=function(){return this.hasClass("hidden")||"none"===this.currentElement.style.display},e.prototype.toggleVisibility=function(){return this.cancelVisibilityPromise(),this.swapClass("builder-visible","hidden"),this.isHidden()?this.attr("aria-hidden","true"):this.attr("aria-hidden","false"),this},e.prototype.cancelVisibilityPromise=function(){var e=this.getProperty(E);e&&(e.cancel(),this.removeProperty(E))},e.prototype.border=function(e,t,n){return o.isString(e)&&e.indexOf(" ")>=0?this.border.apply(this,e.split(" ")):(this.currentElement.style.borderWidth=this.toPixel(e),n&&(this.currentElement.style.borderColor=n),t&&(this.currentElement.style.borderStyle=t),this)},e.prototype.borderTop=function(e,t,n){return o.isString(e)&&e.indexOf(" ")>=0?this.borderTop.apply(this,e.split(" ")):(this.currentElement.style.borderTopWidth=this.toPixel(e),n&&(this.currentElement.style.borderTopColor=n),t&&(this.currentElement.style.borderTopStyle=t),this)},e.prototype.borderBottom=function(e,t,n){return o.isString(e)&&e.indexOf(" ")>=0?this.borderBottom.apply(this,e.split(" ")):(this.currentElement.style.borderBottomWidth=this.toPixel(e),n&&(this.currentElement.style.borderBottomColor=n),t&&(this.currentElement.style.borderBottomStyle=t),this)},e.prototype.borderLeft=function(e,t,n){return o.isString(e)&&e.indexOf(" ")>=0?this.borderLeft.apply(this,e.split(" ")):(this.currentElement.style.borderLeftWidth=this.toPixel(e),n&&(this.currentElement.style.borderLeftColor=n),t&&(this.currentElement.style.borderLeftStyle=t),this)},e.prototype.borderRight=function(e,t,n){return o.isString(e)&&e.indexOf(" ")>=0?this.borderRight.apply(this,e.split(" ")):(this.currentElement.style.borderRightWidth=this.toPixel(e),n&&(this.currentElement.style.borderRightColor=n),t&&(this.currentElement.style.borderRightStyle=t),this)},e.prototype.textAlign=function(e){return this.currentElement.style.textAlign=e,this},e.prototype.verticalAlign=function(e){return this.currentElement.style.verticalAlign=e,this},e.prototype.toPixel=function(e){return-1===e.toString().indexOf("px")?e.toString()+"px":e},e.prototype.innerHtml=function(e,t){return t?this.currentElement.innerHTML+=e:this.currentElement.innerHTML=e,this},e.prototype.text=function(e,t){return t?0===this.currentElement.children.length?this.currentElement.textContent+=e:this.currentElement.appendChild(this.browserService.document.createTextNode(e)):this.currentElement.textContent=e,this},e.prototype.safeInnerHtml=function(e,t){return this.innerHtml(i.escape(e),t)},e.prototype.bind=function(e){return v(this.currentElement,e),this},e.prototype.unbind=function(){return y(this.currentElement),this},e.prototype.getBinding=function(){return _(this.currentElement)},e.prototype.setProperty=function(e,t){return f(this.currentElement,e,t),this},e.prototype.getProperty=function(e,t){return m(this.currentElement,e,t)},e.prototype.removeProperty=function(e){return c(this.currentElement)&&delete l(this.currentElement)[e],this},e.prototype.parent=function(e){return r.ok(!this.offdom,"Builder was created with offdom = true and thus has no parent set"),h(this.currentElement.parentNode,e)},e.prototype.children=function(e){for(var t=this.currentElement.children,n=[],o=0;ot;t++){var i=e.children.item(t);if(c(i)){var r=l(i)[w];if(o.isArray(r))for(;r.length;)r.pop()();delete i[b]}this.unbindDescendants(i)}},e.prototype.empty=function(){return this.unbindDescendants(this.currentElement),this.clearChildren(),this.offdom&&(this.createdElements=[]),this},e.prototype.clearChildren=function(){return this.currentElement&&s.clearNode(this.currentElement),this},e.prototype.destroy=function(){if(this.currentElement&&(this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement),this.empty(),c(this.currentElement))){var e=l(this.currentElement)[w];if(o.isArray(e))for(;e.length;)e.pop()();delete this.currentElement[b]}var t;for(t in this.toUnbind)if(this.toUnbind.hasOwnProperty(t)&&o.isArray(this.toUnbind[t]))for(;this.toUnbind[t].length;)this.toUnbind[t].pop()();for(t in this.captureToUnbind)if(this.captureToUnbind.hasOwnProperty(t)&&o.isArray(this.captureToUnbind[t]))for(;this.captureToUnbind[t].length;)this.captureToUnbind[t].pop()();this.currentElement=null,this.container=null,this.offdom=null,this.createdElements=null,this.captureToUnbind=null,this.toUnbind=null},e.prototype.dispose=function(){this.destroy()},e.prototype.getPositionRelativeTo=function(t){t instanceof e&&(t=t.getHTMLElement());var n=s.getRelativeLeft(this.currentElement,t),o=s.getRelativeTop(this.currentElement,t);return new T(o,-1,-1,n)},e.prototype.getPosition=function(){var e=s.getTopLeftOffset(this.currentElement);return new T(e.top,-1,-1,e.left)},e.prototype.getTotalSize=function(){var e=s.getTotalWidth(this.currentElement),t=s.getTotalHeight(this.currentElement);return new L(e,t)},e.prototype.getContentSize=function(){var e=s.getContentWidth(this.currentElement),t=s.getContentHeight(this.currentElement);return new L(e,t)},e.prototype.getClientArea=function(){if(this.currentElement!==this.browserService.document.body){var e=s.getDomNodePosition(this.currentElement);return new L(e.width,e.height)}if(this.browserService.window.innerWidth&&this.browserService.window.innerHeight)return new L(this.browserService.window.innerWidth,this.browserService.window.innerHeight);if(this.browserService.document.body&&this.browserService.document.body.clientWidth&&this.browserService.document.body.clientWidth)return new L(this.browserService.document.body.clientWidth,this.browserService.document.body.clientHeight);if(this.browserService.document.documentElement&&this.browserService.document.documentElement.clientWidth&&this.browserService.document.documentElement.clientHeight)return new L(this.browserService.document.documentElement.clientWidth,this.browserService.document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")},e}();t.Builder=x;var M=function(e){function t(n){if(r.ok(o.isArray(n)||n instanceof t,"Expected Array or MultiBuilder as parameter"),e.call(this),this.length=0,this.builders=[],o.isArray(n))for(var i=0;in.height&&t.top-n.top>e.height&&(r=t.top-e.height-n.top)):(r=t.top-e.height-n.top,r+n.top<0&&t.top+t.height+e.height-n.topn.width&&(s-=e.width-t.width)):(s=t.left+t.width-e.width-n.left,s+n.left<0&&t.left+e.widtho||o>=n.actionsList.children.length?n.actionsList.appendChild(i):n.actionsList.insertBefore(i,n.actionsList.children[o++]),n.items.push(r)})},t.prototype.clear=function(){for(var e;e=this.items.pop();)e.dispose();p(this.actionsList).empty()},t.prototype.length=function(){return this.items.length},t.prototype.isEmpty=function(){return 0===this.items.length},t.prototype.onContentsChange=function(){this.emit(a.EventType.CONTENTS_CHANGED)},t.prototype.focus=function(e){e&&"undefined"==typeof this.focusedItem&&(this.focusedItem=0),this.updateFocus()},t.prototype.focusNext=function(){"undefined"==typeof this.focusedItem&&(this.focusedItem=this.items.length-1);var e,t=this.focusedItem;do this.focusedItem=(this.focusedItem+1)%this.items.length,e=this.items[this.focusedItem];while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.prototype.focusPrevious=function(){"undefined"==typeof this.focusedItem&&(this.focusedItem=0);var e,t=this.focusedItem;do this.focusedItem=this.focusedItem-1,this.focusedItem<0&&(this.focusedItem=this.items.length-1),e=this.items[this.focusedItem];while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.prototype.updateFocus=function(){if("undefined"==typeof this.focusedItem)return void this.domNode.focus();for(var e=0;e=0&&(this.select.selectedIndex=this.selected)},t.prototype.createOption=function(e){var t=document.createElement("option");return t.value=e,t.text=e,t},t.prototype.dispose=function(){this.toDispose=o.disposeAll(this.toDispose),e.prototype.dispose.call(this)},t}(f);t.SelectActionItem=C});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/ui/inputbox/inputBox",["require","exports","vs/base/browser/browser","vs/base/browser/dom","vs/base/browser/browserService","vs/base/browser/htmlContentRenderer","vs/base/common/eventEmitter","vs/base/browser/ui/actionbar/actionbar","vs/base/browser/ui/contextview/contextview","vs/css!./inputBox"],function(e,t,n,o,i,r,s,a,u){var l=o.emmet;!function(e){e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"}(t.MessageType||(t.MessageType={}));var c=t.MessageType,d=function(e){function t(t,i,r){var s=this;e.call(this),this.state="idle",this.contextViewProvider=i,this.options=r||Object.create(null),this.toDispose=[],this.message=null,this.cachedHeight=null,this.placeholder=this.options.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation,this.showValidationMessage=this.options.validationOptions.showMessage||!1),this.element=o.append(t,l(".monaco-inputbox.idle"));var u=this.options.flexibleHeight?"textarea":"input",c=o.append(this.element,l(".wrapper"));this.input=o.append(c,l(u+".input")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.options.flexibleHeight?this.mirror=o.append(c,l("div.mirror")):(this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off")),this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&this.input.setAttribute("placeholder",this.placeholder),this.toDispose.push(o.addDisposableListener(this.input,o.EventType.INPUT,function(){return s.onValueChange()}),o.addDisposableListener(this.input,o.EventType.BLUR,function(){return s.onBlur()}),o.addDisposableListener(this.input,o.EventType.FOCUS,function(){return s.onFocus()})),this.placeholder&&n.isIE11orEarlier&&(this.toDispose.push(o.addDisposableListener(this.input,o.EventType.CLICK,function(e){o.EventHelper.stop(e,!0),s.input.focus()})),n.isIE9&&this.toDispose.push(o.addDisposableListener(this.input,"keyup",function(){return s.onValueChange()}))),setTimeout(function(){return s.adjustHeight()},0),this.options.actions&&(this.actionbar=new a.ActionBar(this.element),this.actionbar.push(this.options.actions,{icon:!0,label:!1}))}return __extends(t,e),t.prototype.onBlur=function(){this._hideMessage()},t.prototype.onFocus=function(){this._showMessage()},t.prototype.setPlaceHolder=function(e){this.input&&this.input.setAttribute("placeholder",e)},t.prototype.setContextViewProvider=function(e){this.contextViewProvider=e},Object.defineProperty(t.prototype,"inputElement",{get:function(){return this.input},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.input.value},set:function(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return null===this.cachedHeight?o.getTotalHeight(this.element):this.cachedHeight},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.hasFocus=function(){return i.getService().document.activeElement===this.input},t.prototype.select=function(e){void 0===e&&(e=null),this.input.select(),e&&this.input.setSelectionRange(e.start,e.end)},t.prototype.enable=function(){this.input.removeAttribute("disabled")},t.prototype.disable=function(){this.input.disabled=!0,this._hideMessage()},Object.defineProperty(t.prototype,"width",{get:function(){return o.getTotalWidth(this.input)},set:function(e){this.input.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.showMessage=function(e,t){this.message=e,o.removeClass(this.element,"idle"),o.removeClass(this.element,"info"),o.removeClass(this.element,"warning"),o.removeClass(this.element,"error"),o.addClass(this.element,this.classForType(e.type)),(this.hasFocus()||t)&&this._showMessage()},t.prototype.hideMessage=function(){this.message=null,o.removeClass(this.element,"info"),o.removeClass(this.element,"warning"),o.removeClass(this.element,"error"),o.addClass(this.element,"idle"),this._hideMessage()},t.prototype.isInputValid=function(){return!!this.validation&&!this.validation(this.value)},t.prototype.validate=function(){var e=null;return this.validation&&(e=this.validation(this.value),e?this.showMessage(e):this.hideMessage()),!e},t.prototype.classForType=function(e){switch(e){case c.INFO:return"info";case c.WARNING:return"warning";default:return"error"}},t.prototype._showMessage=function(){var e=this;if(this.contextViewProvider&&this.message){var t,n=function(){return t.style.width=o.getTotalWidth(e.element)+"px"};this.state="open",this.contextViewProvider.showContextView({getAnchor:function(){return e.element},anchorAlignment:u.AnchorAlignment.RIGHT,render:function(i){t=o.append(i,l(".monaco-inputbox-container")),n();var s={tagName:"span",className:"monaco-inputbox-message"};e.message.formatContent?s.formattedText=e.message.content:s.text=e.message.content;var a=r.renderHtml(s);return o.addClass(a,e.classForType(e.message.type)),o.append(t,a),null},layout:n})}},t.prototype._hideMessage=function(){this.contextViewProvider&&"open"===this.state&&(this.state="idle",this.contextViewProvider.hideContextView())},t.prototype.onValueChange=function(){if(this.emit("change",this.value),this.validate(),this.mirror){var e=this.value.charCodeAt(this.value.length-1),t=10===e?" ":"";this.mirror.textContent=this.value+t,this.adjustHeight()}},t.prototype.adjustHeight=function(){this.mirror&&(this.cachedHeight=o.getTotalHeight(this.mirror),this.input.style.height=this.cachedHeight+"px",this.emit("heightchange",this.cachedHeight))},t.prototype.dispose=function(){this._hideMessage(),this.element=null,this.input=null,this.contextViewProvider=null,this.message=null,this.placeholder=null,this.ariaLabel=null,this.validation=null,this.showValidationMessage=null,this.state=null,this.actionbar&&(this.actionbar.dispose(),this.actionbar=null),e.prototype.dispose.call(this)},t}(s.EventEmitter);t.InputBox=d}),define("vs/base/browser/ui/findinput/findInput",["require","exports","vs/nls!vs/base/browser/ui/findinput/findInput","vs/base/browser/builder","vs/base/browser/ui/inputbox/inputBox","vs/base/browser/ui/checkbox/checkbox","vs/css!./findInput"],function(e,t,n,o,i,r){var s=o.$,a=function(){function e(e,t,o){this.contextViewProvider=t,this.onOptionChange=null,this.width=o.width||100,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||n.localize(0,null),this.listenersToRemove=[],this.regex=null,this.wholeWords=null,this.caseSensitive=null,this.domNode=null,this.inputNode=null,this.inputBox=null,this.validationNode=null,this.buildDomNode(),Boolean(e)&&e.appendChild(this.domNode)}return e.prototype.destroy=function(){this.regex.destroy(),this.wholeWords.destroy(),this.caseSensitive.destroy(),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[]},e.prototype.on=function(t,n){switch(t){case"keydown":case"keyup":s(this.inputBox.inputElement).on(t,n);break;case e.OPTION_CHANGE:this.onOptionChange=n}return this},e.prototype.enable=function(){s(this.domNode).removeClass("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},e.prototype.disable=function(){s(this.domNode).addClass("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},e.prototype.clear=function(){this.clearValidation(),this.setValue(""),this.focus()},e.prototype.setWidth=function(e){this.width=e,this.domNode.style.width=this.width+"px",this.contextViewProvider.layout(),this.setInputWidth()},e.prototype.getValue=function(){return this.inputBox.value},e.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},e.prototype.select=function(){this.inputBox.select()},e.prototype.focus=function(){this.inputBox.focus()},e.prototype.getCaseSensitive=function(){return this.caseSensitive.isChecked},e.prototype.setCaseSensitive=function(e){this.caseSensitive.setChecked(e),this.setInputWidth()},e.prototype.getWholeWords=function(){return this.wholeWords.isChecked},e.prototype.setWholeWords=function(e){this.wholeWords.setChecked(e),this.setInputWidth()},e.prototype.getRegex=function(){return this.regex.isChecked},e.prototype.setRegex=function(e){this.regex.setChecked(e),this.setInputWidth()},e.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},e.prototype.setInputWidth=function(){var e=this.width-this.caseSensitive.width()-this.wholeWords.width()-this.regex.width();this.inputBox.width=e},e.prototype.buildDomNode=function(){var e=this;this.domNode=document.createElement("div"),this.domNode.style.width=this.width+"px",s(this.domNode).addClass("monaco-findInput"),this.inputBox=new i.InputBox(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation||null,showMessage:!0}}),this.regex=new r.Checkbox("regex",n.localize(1,null),!1,function(){e.onOptionChange(null),e.inputBox.focus(),e.setInputWidth(),e.validate()}),this.wholeWords=new r.Checkbox("whole-word",n.localize(2,null),!1,function(){e.onOptionChange(null),e.inputBox.focus(),e.setInputWidth(),e.validate()}),this.caseSensitive=new r.Checkbox("case-sensitive",n.localize(3,null),!1,function(){e.onOptionChange(null),e.inputBox.focus(),e.setInputWidth(),e.validate()}),this.setInputWidth();var t=document.createElement("div");t.className="controls",t.appendChild(this.caseSensitive.domNode), +t.appendChild(this.wholeWords.domNode),t.appendChild(this.regex.domNode),this.domNode.appendChild(t)},e.prototype.validate=function(){this.inputBox.validate()},e.prototype.showMessage=function(e){this.inputBox.showMessage(e)},e.prototype.clearMessage=function(){this.inputBox.hideMessage()},e.prototype.clearValidation=function(){this.inputBox.hideMessage()},e.OPTION_CHANGE="optionChange",e}();t.FindInput=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/browser/ui/menu/menu",["require","exports","vs/base/browser/builder","vs/base/browser/ui/actionbar/actionbar","vs/base/common/eventEmitter","vs/css!./menu"],function(e,t,n,o,i){var r=n.$,s=function(e){function t(t,n,i){void 0===i&&(i={}),e.call(this),r(t).addClass("monaco-menu-container");var s=r(".monaco-menu").appendTo(t);this.actionBar=new o.ActionBar(s,{orientation:o.ActionsOrientation.VERTICAL,actionItemProvider:i.actionItemProvider,context:i.context,actionRunner:i.actionRunner}),this.listener=this.addEmitter2(this.actionBar),this.actionBar.push(n,{icon:!0,label:!0})}return __extends(t,e),t.prototype.focus=function(){this.actionBar.focus()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.actionBar&&(this.actionBar.dispose(),this.actionBar=null),this.listener&&(this.listener.dispose(),this.listener=null)},t}(i.EventEmitter);t.Menu=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/common/async",["require","exports","vs/base/common/errors","vs/base/common/winjs.base","vs/base/common/platform","vs/base/common/cancellation"],function(e,t,n,o,i,r){function s(e,t){if(e){var n=function(){for(var n=[],i=0;i0){console.warn("Terminating a worker with "+e.length+" pending promises:"),console.warn(this._promises);for(var t in this._promises)e.hasOwnProperty(t)&&this._promises[t].error("Worker forcefully terminated")}this._worker.terminate()},e.prototype.addMessageHandler=function(e,t){this._messageHandlers[e]=t},e.prototype.removeMessageHandler=function(e){delete this._messageHandlers[e]},e.prototype._sendMessage=function(e,t,o){var i=this;void 0===o&&(o=(new Date).getTime());var r,s,a,u={id:++this._lastMessageId,type:e,timestamp:o,payload:t},l=new n.Promise(function(e,t,n){r=e,s=t,a=n},function(){i._removeMessage(u.id)});return this._promises[u.id]={complete:r,error:s,progress:a,type:e,payload:t},this._enqueueMessage(u),l},e.prototype._enqueueMessage=function(e){var t,n=-1;for(t=this._messagesQueue.length-1;t>=0;t--)if(this._messagesQueue[t].timestamp<=e.timestamp){n=t;break}this._messagesQueue.splice(n+1,0,e),this._processMessagesQueue()},e.prototype._removeMessage=function(e){for(var t=0,n=this._messagesQueue.length;n>t;t++)if(this._messagesQueue[t].id===e)return this._promises.hasOwnProperty(String(e))&&delete this._promises[String(e)],this._messagesQueue.splice(t,1),void this._processMessagesQueue()},e.prototype._processMessagesQueue=function(){var e=this;if(-1!==this._processQueueTimeout&&(clearTimeout(this._processQueueTimeout),this._processQueueTimeout=-1),0!==this._messagesQueue.length&&!this._waitingForWorkerReply){var t=this._messagesQueue[0].timestamp-(new Date).getTime();t=Math.max(0,t),this._processQueueTimeout=setTimeout(function(){if(e._processQueueTimeout=-1,0!==e._messagesQueue.length){e._waitingForWorkerReply=!0;var t=e._messagesQueue.shift();e._lastTimerEvent=o.start(o.Topic.WORKER,e._decodeMessageName(t)),e._postMessage(t)}},t)}},e.prototype._postMessage=function(e){this._worker.postMessage(a.marshallObject(e,this._proxiesMarshalling))},e.prototype._onSerializedMessage=function(e){var t=null;try{t=a.demarshallObject(e,this._proxiesMarshalling)}catch(n){}t&&this._onmessage(t)},e.prototype._onmessage=function(e){if(e.monacoWorker&&(!e.from||e.from===this._worker.getId())){switch(e.type){case r.MessageType.REPLY:var t=e;if(this._waitingForWorkerReply=!1,this._lastTimerEvent&&this._lastTimerEvent.stop(),!this._promises.hasOwnProperty(String(t.id)))return void this._onError("Received unexpected message from Worker:",e);switch(t.action){case r.ReplyType.COMPLETE:this._promises[t.id].complete(t.payload),delete this._promises[t.id];break;case r.ReplyType.ERROR:this._onError("Main Thread sent to worker the following message:",{type:this._promises[t.id].type,payload:this._promises[t.id].payload}),this._onError("And the worker replied with an error:",t.payload),i.onUnexpectedError(t.payload),this._promises[t.id].error(t.payload),delete this._promises[t.id];break;case r.ReplyType.PROGRESS:this._promises[t.id].progress(t.payload)}break;case r.MessageType.PRINT:var n=e;this._consoleLog(n.level,n.payload);break;default:this._dispatchRequestFromWorker(e)}this._processMessagesQueue()}},e.prototype._dispatchRequestFromWorker=function(e){var t=this;this._handleWorkerRequest(e).then(function(n){var o={id:0,type:r.MessageType.REPLY,timestamp:(new Date).getTime(),seq:e.req,payload:n instanceof Error?i.transformErrorForSerialization(n):n,err:null};t._postMessage(o)},function(n){var o={id:0,type:r.MessageType.REPLY,timestamp:(new Date).getTime(),seq:e.req,payload:null,err:n instanceof Error?i.transformErrorForSerialization(n):n};t._postMessage(o)})},e.prototype._handleWorkerRequest=function(e){return"_proxyObj"===e.type?this._remoteCom.handleMessage(e.payload):"function"==typeof this[e.type]?this._invokeHandler(this[e.type],this,e.payload):"function"==typeof this._messageHandlers[e.type]?this._invokeHandler(this._messageHandlers[e.type],null,e.payload):(this._onError("Received unexpected message from Worker:",e),n.Promise.wrapError(new Error("No handler found")))},e.prototype._invokeHandler=function(e,t,o){try{return n.Promise.as(e.call(t,o))}catch(i){return n.Promise.wrapError(i)}},e.prototype._consoleLog=function(e,t){switch(e){case r.PrintType.LOG:console.log(t);break;case r.PrintType.DEBUG:console.info(t);break;case r.PrintType.INFO:console.info(t);break;case r.PrintType.WARN:console.warn(t);break;case r.PrintType.ERROR:console.error(t);break;default:this._onError("Received unexpected message from Worker:",t)}},e.prototype._onError=function(e,t){console.error(e),console.info(t)},e.LAST_WORKER_ID=0,e}();t.WorkerClient=u}),define("vs/base/parts/quickopen/browser/quickOpenViewer",["require","exports","vs/base/common/winjs.base","vs/base/common/types"],function(e,t,n,o){var i=function(){function e(e){this.modelProvider=o.isFunction(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var n=this.modelProvider.getModel();return n===t?"__root__":n.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var n=this.modelProvider.getModel();return n&&n===t&&n.entries.length>0},e.prototype.getChildren=function(e,t){var o=this.modelProvider.getModel();return n.Promise.as(o===t?o.entries:[])},e.prototype.getParent=function(e,t){return n.Promise.as(null)},e}();t.DataSource=i;var r=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var n=this.modelProvider.getModel();return n.filter?n.filter.isVisible(t):!0},e}();t.Filter=r;var s=function(){function e(e){this.modelProvider=e}return e.prototype.getHeight=function(e,t){var n=this.modelProvider.getModel();return n.renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){var n=this.modelProvider.getModel();return n.renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,n){var o=this.modelProvider.getModel();return o.renderer.renderTemplate(t,n)},e.prototype.renderElement=function(e,t,n,o){var i=this.modelProvider.getModel();i.renderer.renderElement(t,n,o)},e.prototype.disposeTemplate=function(e,t,n){var o=this.modelProvider.getModel();o.renderer.disposeTemplate(t,n)},e}();t.Renderer=s}),define("vs/base/parts/tree/browser/treeDefaults",["require","exports","vs/base/common/platform","vs/base/common/errors","vs/base/browser/dom","vs/base/common/keyCodes"],function(e,t,n,o,i,r){var s=function(){function e(){}return e.prototype.getHeight=function(e,t){return 20},e.prototype.getTemplateId=function(e,t){return"legacy"},e.prototype.renderTemplate=function(e,t,n){return{root:n,previousCleanupFn:null}},e.prototype.renderElement=function(e,t,n,o){for(o.previousCleanupFn&&o.previousCleanupFn(e,t);o.root.firstChild;)o.root.removeChild(o.root.firstChild);o.previousCleanupFn=this.render(e,t,o.root)},e.prototype.disposeTemplate=function(e,t,n){},e.prototype.render=function(e,t,n,o){return n.textContent=""+t,null},e}();t.LegacyRenderer=s,function(e){e[e.ON_MOUSE_DOWN=0]="ON_MOUSE_DOWN",e[e.ON_MOUSE_UP=1]="ON_MOUSE_UP"}(t.ClickBehavior||(t.ClickBehavior={}));var a=t.ClickBehavior,u=function(){function e(){this._arr=[]}return e.prototype.set=function(e,t){this._arr.push({keybinding:e,callback:t})},e.prototype.dispatch=function(e){for(var t=this._arr.length-1;t>=0;t--){var n=this._arr[t];if(e===n.keybinding)return n.callback}return null},e}();t.KeybindingDispatcher=u;var l=function(){function e(e){var t=this;void 0===e&&(e={clickBehavior:a.ON_MOUSE_UP}),this.options=e,this.downKeyBindingDispatcher=new u,this.downKeyBindingDispatcher.set(r.CommonKeybindings.SPACE,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.UP_ARROW,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.PAGE_UP,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.DOWN_ARROW,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.PAGE_DOWN,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.LEFT_ARROW,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.RIGHT_ARROW,function(e,n){return t.onRight(e,n)}),this.downKeyBindingDispatcher.set(r.CommonKeybindings.ESCAPE,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher=new u,this.upKeyBindingDispatcher.set(r.CommonKeybindings.ENTER,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(r.CommonKeybindings.CTRLCMD_ENTER,this.onEnter.bind(this))}return e.prototype.onMouseDown=function(e,t,n,o){if(void 0===o&&(o="mouse"),this.options.clickBehavior===a.ON_MOUSE_DOWN&&n.leftButton){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(i.findParentWithClass(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,o)}return!1},e.prototype.onClick=function(e,t,o){var i=n.isMacintosh;return i&&o.ctrlKey?(o.preventDefault(),o.stopPropagation(),!1):o.middleButton?!1:o.target&&o.target.tagName&&"input"===o.target.tagName.toLowerCase()?!1:this.options.clickBehavior===a.ON_MOUSE_DOWN&&o.leftButton?!1:this.onLeftClick(e,t,o)},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var r={origin:i,originalEvent:n};if(e.getInput()===t)e.clearFocus(r),e.clearSelection(r);else{var s=n&&n.browserEvent&&"mousedown"===n.browserEvent.type;s||n.preventDefault(),n.stopPropagation(),e.DOMFocus(),e.setSelection([t],r),e.setFocus(t,r),e.isExpanded(t)?e.collapse(t).done(null,o.onUnexpectedError):e.expand(t).done(null,o.onUnexpectedError)}return!0},e.prototype.onContextMenu=function(e,t,n){return n.target&&n.target.tagName&&"input"===n.target.tagName.toLowerCase()?!1:(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var o=n.initialTarget;return o&&o.tagName&&"input"===o.tagName.toLowerCase()?!1: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 o=e.dispatch(n.asKeybinding());return o&&o(t,n)?(n.preventDefault(),n.stopPropagation(),!0):!1},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())),!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())),!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())),!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())),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var o=e.getFocus();e.collapse(o).done(function(t){o&&!t&&e.focusParent(n)})}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).done(null,o.onUnexpectedError)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var o=e.getFocus();return o&&e.setSelection([o],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.getFocus()||e.getSelection().length?(e.clearFocus(n),e.clearSelection(n),!0):!1},e}();t.DefaultController=l;var c=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,o){return null},e.prototype.drop=function(e,t,n,o){},e}();t.DefaultDragAndDrop=c;var d=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}();t.DefaultFilter=d;var h=function(){function e(){}return e.prototype.compare=function(e,t,n){return 0},e}();t.DefaultSorter=h});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/quickopen/browser/quickOpenModel",["require","exports","vs/base/common/winjs.base","vs/base/common/types","vs/base/browser/ui/actionbar/actionbar","vs/base/parts/tree/browser/treeDefaults","vs/base/browser/ui/highlightedlabel/highlightedLabel","vs/base/browser/dom"],function(e,t,n,o,i,r,s,a){var u=0,l=function(){function e(e){void 0===e&&(e=[]),this.id=(u++).toString(),this.labelHighlights=e,this.descriptionHighlights=[]}return e.prototype.getId=function(){return this.id},e.prototype.getLabel=function(){return null},e.prototype.getMeta=function(){return null},e.prototype.getIcon=function(){return null},e.prototype.getDescription=function(){return null},e.prototype.getResource=function(){return null},e.prototype.isHidden=function(){return this.hidden},e.prototype.setHidden=function(e){this.hidden=e},e.prototype.setHighlights=function(e,t){this.labelHighlights=e,this.descriptionHighlights=t},e.prototype.getHighlights=function(){return[this.labelHighlights,this.descriptionHighlights]},e.prototype.run=function(e,t){return!1},e}();t.QuickOpenEntry=l;var c=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.getHeight=function(){return 0},t.prototype.render=function(e,t,n){return null},t}(l);t.QuickOpenEntryItem=c;var d=function(e){function t(t,n,o){e.call(this),this.entry=t,this.groupLabel=n,this.withBorder=o}return __extends(t,e),t.prototype.getGroupLabel=function(){return this.groupLabel},t.prototype.setGroupLabel=function(e){this.groupLabel=e},t.prototype.showBorder=function(){return this.withBorder},t.prototype.setShowBorder=function(e){this.withBorder=e},t.prototype.getLabel=function(){return this.entry?this.entry.getLabel():e.prototype.getLabel.call(this)},t.prototype.getMeta=function(){return this.entry?this.entry.getMeta():e.prototype.getMeta.call(this)},t.prototype.getResource=function(){return this.entry?this.entry.getResource():e.prototype.getResource.call(this)},t.prototype.getIcon=function(){return this.entry?this.entry.getIcon():e.prototype.getIcon.call(this)},t.prototype.getDescription=function(){return this.entry?this.entry.getDescription():e.prototype.getDescription.call(this)},t.prototype.getEntry=function(){return this.entry},t.prototype.getHighlights=function(){return this.entry?this.entry.getHighlights():e.prototype.getHighlights.call(this)},t.prototype.isHidden=function(){return this.entry?this.entry.isHidden():e.prototype.isHidden.call(this)},t.prototype.setHighlights=function(t,n){this.entry?this.entry.setHighlights(t,n):e.prototype.setHighlights.call(this,t,n)},t.prototype.setHidden=function(t){this.entry?this.entry.setHidden(t):e.prototype.setHidden.call(this,t)},t.prototype.run=function(t,n){return this.entry?this.entry.run(t,n):e.prototype.run.call(this,t,n)},t}(l);t.QuickOpenEntryGroup=d;var h="quickOpenEntry",p="quickOpenEntryGroup",f="quickOpenEntryItem",m=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.getTemplateId=function(e,t){return f},t.prototype.render=function(t,n,o,i){return n instanceof c?n.render(t,o,i):e.prototype.render.call(this,t,n,o,i)},t}(r.LegacyRenderer),g=function(){function e(){}return e.prototype.hasActions=function(e,t){return!1},e.prototype.getActions=function(e,t){return n.Promise.as(null)},e.prototype.hasSecondaryActions=function(e,t){return!1},e.prototype.getSecondaryActions=function(e,t){return n.Promise.as(null)},e.prototype.getActionItem=function(e,t,n){return null},e}(),v=function(){function e(e,t){void 0===e&&(e=new g),void 0===t&&(t=null),this.actionProvider=e,this.actionRunner=t,this.entryItemRenderer=new m}return e.prototype.getHeight=function(e){return e instanceof c?e.getHeight():24},e.prototype.getTemplateId=function(e){return e instanceof c?f:e instanceof d?p:h},e.prototype.renderTemplate=function(e,t){if(e===f)return this.entryItemRenderer.renderTemplate(null,e,t);var n;e===p&&(n=document.createElement("div"),a.addClass(n,"results-group"),t.appendChild(n)),a.addClass(t,"actions");var o=document.createElement("div");a.addClass(o,"sub-content"),t.appendChild(o);var r=document.createElement("div");a.addClass(r,"primary-action-bar"),t.appendChild(r);var u=new i.ActionBar(r,{actionRunner:this.actionRunner}),l=document.createElement("div");a.addClass(l,"quick-open-entry"),o.appendChild(l);var c=document.createElement("span");l.appendChild(c);var d=new s.HighlightedLabel(l),h=document.createElement("span");l.appendChild(h),a.addClass(h,"quick-open-entry-meta");var m=document.createElement("span");l.appendChild(m),a.addClass(m,"quick-open-entry-description");var g=new s.HighlightedLabel(m);return{container:t,icon:c,label:d,meta:h,description:g,group:n,actionBar:u}},e.prototype.renderElement=function(e,t,n){if(t===f)return void this.entryItemRenderer.renderElement(null,e,t,n);var o=n;if(this.actionProvider.hasActions(null,e)?a.addClass(o.container,"has-actions"):a.removeClass(o.container,"has-actions"),o.actionBar.context=e,this.actionProvider.getActions(null,e).then(function(e){o.actionBar.isEmpty()&&e&&e.length>0?o.actionBar.push(e,{icon:!0,label:!1}):o.actionBar.isEmpty()||e&&0!==e.length||o.actionBar.clear()}),e instanceof d){var i=e;i.showBorder()?a.addClass(o.container,"results-group-separator"):a.removeClass(o.container,"results-group-separator");var r=i.getGroupLabel()||"";n.group.textContent=r}if(e instanceof l){var s=e.getHighlights(),u=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";o.icon.className=u;var c=s[0];o.label.set(e.getLabel()||"",c||[]);var h=e.getMeta()||"";o.meta.textContent=h;var p=s[1];o.description.set(e.getDescription()||"",p||[])}},e.prototype.disposeTemplate=function(e,t){e===f&&this.entryItemRenderer.disposeTemplate(null,e,t)},e}(),y=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new g),this._entries=e,this._dataSource=this,this._renderer=new v(t),this._filter=this,this._runner=this}return Object.defineProperty(e.prototype,"entries",{get:function(){return this._entries},set:function(e){this._entries=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"runner",{get:function(){return this._runner},enumerable:!0,configurable:!0}),e.prototype.addEntries=function(e){o.isArray(e)&&(this._entries=this._entries.concat(e))},e.prototype.setEntries=function(e){o.isArray(e)&&(this._entries=e)},e.prototype.getEntries=function(e){return e?this._entries.filter(function(e){return!e.isHidden()}):this._entries},e.prototype.getId=function(e){return e.getId()},e.prototype.getLabel=function(e){return e.getLabel()},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}();t.QuickOpenModel=y});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/tree/common/treeModel",["require","exports","vs/base/common/assert","vs/base/common/lifecycle","vs/base/common/arrays","vs/base/common/eventEmitter","vs/base/common/winjs.base"],function(e,t,n,o,i,r,s){function a(e,t){for(var n=e.getHierarchy(),o=t.getHierarchy(),r=i.commonPrefixLength(n,o),s=n[r-1],a=s.getNavigator(),u=null,l=null,c=0,d=[];s&&(null===u||null===l);)d.push(s),s===e&&(u=c),s===t&&(l=c),c++,s=a.next();if(null===u||null===l)return[];var h=Math.min(u,l),p=Math.max(u,l);return d.slice(h,p+1)}var u=function(e){function t(t){e.call(this),this._item=t}return __extends(t,e),Object.defineProperty(t.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.emit("unlock"),e.prototype.dispose.call(this)},t}(r.EventEmitter);t.LockData=u;var l=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,o=this.getLock(e);if(o){var i;return new s.Promise(function(r,s){i=o.addOneTimeListener("unlock",function(){return n.run(e,t).then(r,s)})},function(){return i()})}var r;return new s.Promise(function(o,i){if(e.isDisposed())return i(new Error("Item is disposed."));var s=n.locks[e.id]=new u(e);return r=t().then(function(t){return delete n.locks[e.id],s.dispose(),t}).then(o,i)},function(){return r.cancel()})},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}();t.Lock=l;var c=function(e){function t(){e.call(this),this.items={}}return __extends(t,e),t.prototype.register=function(e){n.ok(!this.isRegistered(e.id),"item already registered: "+e.id),this.items[e.id]={item:e,disposable:this.addEmitter2(e)}},t.prototype.deregister=function(e){n.ok(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},t.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},t.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},t.prototype.dispose=function(){e.prototype.dispose.call(this),delete this.items},t}(r.EventEmitter);t.ItemRegistry=c;var d=function(e){function t(t,n,o,i,r){e.call(this),this.registry=n,this.context=o,this.lock=i,this.element=r,this.id=t,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.userContent=null,this.traits={},this.depth=0,this.expanded=!1,this.emit("item:create",{item:this}),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return __extends(t,e),t.prototype.getElement=function(){return this.element},t.prototype.hasChildren=function(){return this.doesHaveChildren},t.prototype.getDepth=function(){return this.depth},t.prototype.isVisible=function(){return this.visible},t.prototype.setVisible=function(e){this.visible=e},t.prototype.isExpanded=function(){return this.expanded},t.prototype._setExpanded=function(e){this.expanded=e},t.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this.emit("item:reveal",t)},t.prototype.expand=function(){var e=this;if(this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this))return s.Promise.as(!1);var t=this.lock.run(this,function(){var t,n={item:e};return e.emit("item:expanding",n),t=e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):s.Promise.as(null),t.then(function(){return e._setExpanded(!0),e.emit("item:expanded",n),!0})});return t.then(function(t){return e.isDisposed()?!1:e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then(function(){return!0}):t})},t.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var n=s.Promise.as(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)?s.Promise.as(!1):this.lock.run(this,function(){var e={item:t};return t.emit("item:collapsing",e),t._setExpanded(!1),t.emit("item:collapsed",e),s.Promise.as(!0)})},t.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this.emit("item:addTrait",t)},t.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this.emit("item:removeTrait",t)},t.prototype.hasTrait=function(e){return this.traits[e]||!1},t.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},t.prototype.getHeight=function(){return this.height},t.prototype.refreshChildren=function(e,n,o){var i=this;if(void 0===n&&(n=!1),void 0===o&&(o=!1),!o&&!this.isExpanded())return this.needsChildrenRefresh=!0,s.Promise.as(this);this.needsChildrenRefresh=!1;var r=function(){var o={item:i,isNested:n};i.emit("item:childrenRefreshing",o);var r;return r=i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):s.Promise.as([]),r.then(function(n){n=n?n.slice(0):[],n=i.sort(n);for(var o={};null!==i.firstChild;)o[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var r=0,a=n.length;a>r;r++){var u=n[r],l=i.context.dataSource.getId(i.context.tree,u),c=o[l]||new t(l,i.registry,i.context,i.lock,u);c.element=u,e&&(c.needsChildrenRefresh=e),delete o[l],i.addChild(c)}for(var d in o)o.hasOwnProperty(d)&&o[d].dispose();return e?s.Promise.join(i.mapEachChild(function(t){return t.doRefresh(e,!0)})):s.Promise.as(null)}).then(function(){i.emit("item:childrenRefreshed",o)})};return n?r():this.lock.run(this,r)},t.prototype.doRefresh=function(e,t){void 0===t&&(t=!1);var n={item:this};return this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.height=this._getHeight(),this.setVisible(this._isVisible()),this.emit("item:refresh",n),this.refreshChildren(e,t)},t.prototype.refresh=function(e){return this.doRefresh(e)},t.prototype.getNavigator=function(){return new p(this)},t.prototype.intersects=function(e){return this.isAncestorOf(e)||e.isAncestorOf(this)},t.prototype.getHierarchy=function(){var e=[],t=this;do e.push(t),t=t.parent;while(t);return e.reverse(),e},t.prototype.isAncestorOf=function(e){for(;e;){if(e.id===this.id)return!0;e=e.parent}return!1},t.prototype.addChild=function(e,t){void 0===t&&(t=this.lastChild);var n=null===this.firstChild,o=null===t,i=t===this.lastChild;n?(this.firstChild=this.lastChild=e,e.next=e.previous=null):o?(this.firstChild.previous=e,e.next=this.firstChild,e.previous=null,this.firstChild=e):i?(this.lastChild.next=e,e.next=null,e.previous=this.lastChild,this.lastChild=e):(e.previous=t,e.next=t.next,t.next.previous=e,t.next=e),e.parent=this,e.depth=this.depth+1},t.prototype.removeChild=function(e){var t=this.firstChild===e,n=this.lastChild===e;t&&n?this.firstChild=this.lastChild=null:t?(e.next.previous=null,this.firstChild=e.next):n?(e.previous.next=null,this.lastChild=e.previous):(e.next.previous=e.previous,e.previous.next=e.next),e.parent=null,e.depth=null},t.prototype.forEachChild=function(e){for(var t,n=this.firstChild;n;)t=n.next,e(n),n=t},t.prototype.mapEachChild=function(e){var t=[];return this.forEachChild(function(n){t.push(e(n))}),t},t.prototype.sort=function(e){var t=this;return this.context.sorter?e.sort(function(e,n){return t.context.sorter.compare(t.context.tree,e,n)}):e},t.prototype._getHeight=function(){return this.context.renderer.getHeight(this.context.tree,this.element)},t.prototype._isVisible=function(){return this.context.filter.isVisible(this.context.tree,this.element)},t.prototype.isDisposed=function(){return this._isDisposed},t.prototype.dispose=function(){this.forEachChild(function(e){return e.dispose()}),delete this.parent,delete this.previous,delete this.next,delete this.firstChild,delete this.lastChild;var t={item:this};this.emit("item:dispose",t),this.registry.deregister(this),e.prototype.dispose.call(this),this._isDisposed=!0},t}(r.EventEmitter);t.Item=d;var h=function(e){function t(t,n,o,i,r){e.call(this,t,n,o,i,r)}return __extends(t,e),t.prototype.isVisible=function(){return!1},t.prototype.setVisible=function(e){},t.prototype.isExpanded=function(){return!0},t.prototype._setExpanded=function(e){},t.prototype.render=function(){},t.prototype._getHeight=function(){return 0},t.prototype._isVisible=function(){return!1},t}(d),p=function(){function e(e,t){void 0===t&&(t=!0),this.item=e,this.start=t?e:null}return e.lastDescendantOf=function(t){return t?t.isVisible()&&t.isExpanded()&&null!==t.lastChild?e.lastDescendantOf(t.lastChild):t:null},e.prototype.current=function(){return this.item||null},e.prototype.next=function(){if(this.item)do if((this.item instanceof h||this.item.isVisible()&&this.item.isExpanded())&&this.item.firstChild)this.item=this.item.firstChild;else if(this.item===this.start)this.item=null;else{for(;this.item&&this.item!==this.start&&!this.item.next;)this.item=this.item.parent;this.item===this.start&&(this.item=null),this.item=this.item?this.item.next:null}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.previous=function(){if(this.item)do{var t=e.lastDescendantOf(this.item.previous);t?this.item=t:this.item.parent&&this.item.parent!==this.start&&this.item.parent.isVisible()?this.item=this.item.parent:this.item=null}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.parent=function(){if(this.item){var e=this.item.parent;e&&e!==this.start&&e.isVisible()?this.item=e:this.item=null}return this.item||null},e.prototype.first=function(){return this.item=this.start,this.next(),this.item||null},e.prototype.last=function(){return this.start&&this.start.isExpanded()&&(this.item=this.start.lastChild,this.item&&!this.item.isVisible()&&this.previous()),this.item||null},e}();t.TreeNavigator=p;var f=function(e){function t(t){e.call(this),this.context=t,this.input=null,this.traitsToItems={}}return __extends(t,e),t.prototype.setInput=function(e){var t=this,n={item:this.input};this.emit("clearingInput",n),this.setSelection([]),this.setFocus(),this.setHighlight(),this.lock=new l,this.input&&this.input.dispose(),this.registry&&(this.registry.dispose(),this.registryDisposable.dispose()),this.registry=new c,this.registryDisposable=o.combinedDispose(this.addEmitter2(this.registry),this.registry.addListener2("item:dispose",function(e){e.item.getAllTraits().forEach(function(n){return delete t.traitsToItems[n][e.item.id]})}));var i=this.context.dataSource.getId(this.context.tree,e);return this.input=new h(i,this.registry,this.context,this.lock,e),n={item:this.input},this.emit("setInput",n),this.refresh(this.input)},t.prototype.getInput=function(){return this.input?this.input.getElement():null},t.prototype.refresh=function(e,t){var n=this;void 0===e&&(e=null),void 0===t&&(t=!0);var o=this.getItem(e);if(!o)return s.Promise.as(null);var i={item:o,recursive:t};return this.emit("refreshing",i),o.refresh(t).then(function(){n.emit("refreshed",i)})},t.prototype.refreshAll=function(e,t){var n=this;void 0===t&&(t=!0);var o=[];return this.deferredEmit(function(){for(var i=0,r=e.length;r>i;i++)o.push(n.refresh(e[i],t))}),s.Promise.join(o)},t.prototype.expand=function(e){var t=this.getItem(e);return t?t.expand():s.Promise.as(!1)},t.prototype.expandAll=function(e){if(!e){e=[];for(var t,n=this.getNavigator();t=n.next();)e.push(t)}for(var o=[],i=0,r=e.length;r>i;i++)o.push(this.expand(e[i]));return s.Promise.join(o)},t.prototype.collapse=function(e,t){void 0===t&&(t=!1);var n=this.getItem(e);return n?n.collapse(t):s.Promise.as(!1)},t.prototype.collapseAll=function(e,t){void 0===e&&(e=null),void 0===t&&(t=!1),e||(e=[this.input],t=!0);for(var n=[],o=0,i=e.length;i>o;o++)n.push(this.collapse(e[o],t));return s.Promise.join(n)},t.prototype.toggleExpansion=function(e){return this.isExpanded(e)?this.collapse(e):this.expand(e)},t.prototype.toggleExpansionAll=function(e){for(var t=[],n=0,o=e.length;o>n;n++)t.push(this.toggleExpansion(e[n]));return s.Promise.join(t)},t.prototype.isExpanded=function(e){var t=this.getItem(e);return t?t.isExpanded():!1},t.prototype.getExpandedElements=function(){for(var e,t=[],n=this.getNavigator();e=n.next();)e.isExpanded()&&t.push(e.getElement());return t},t.prototype.reveal=function(e,t){var n=this;return void 0===t&&(t=null),this.resolveUnknownParentChain(e).then(function(e){var t=s.Promise.as(null);return e.forEach(function(e){t=t.then(function(){return n.expand(e)})}),t}).then(function(){var o=n.getItem(e);o&&o.reveal(t)})},t.prototype.resolveUnknownParentChain=function(e){var t=this;return this.context.dataSource.getParent(this.context.tree,e).then(function(e){return e?t.resolveUnknownParentChain(e).then(function(t){return t.push(e),t}):s.Promise.as([])})},t.prototype.setHighlight=function(e,t){this.setTraits("highlighted",e?[e]:[]);var n={highlight:this.getHighlight(),payload:t};this.emit("highlight",n)},t.prototype.getHighlight=function(e){var t=this.getElementsWithTrait("highlighted",e);return 0===t.length?null:t[0]},t.prototype.isHighlighted=function(e){var t=this.getItem(e);return t?t.hasTrait("highlighted"):!1},t.prototype.select=function(e,t){this.selectAll([e],t)},t.prototype.selectRange=function(e,t,n){var o=this.getItem(e),i=this.getItem(t);o&&i&&this.selectAll(a(o,i),n)},t.prototype.deselectRange=function(e,t,n){var o=this.getItem(e),i=this.getItem(t);o&&i&&this.deselectAll(a(o,i),n)},t.prototype.selectAll=function(e,t){this.addTraits("selected",e);var n={selection:this.getSelection(),payload:t};this.emit("selection",n)},t.prototype.deselect=function(e,t){this.deselectAll([e],t)},t.prototype.deselectAll=function(e,t){this.removeTraits("selected",e);var n={selection:this.getSelection(),payload:t};this.emit("selection",n)},t.prototype.setSelection=function(e,t){this.setTraits("selected",e);var n={selection:this.getSelection(),payload:t};this.emit("selection",n)},t.prototype.toggleSelection=function(e,t){this.toggleTrait("selected",e);var n={selection:this.getSelection(),payload:t};this.emit("selection",n)},t.prototype.isSelected=function(e){var t=this.getItem(e);return t?t.hasTrait("selected"):!1},t.prototype.getSelection=function(e){return this.getElementsWithTrait("selected",e)},t.prototype.selectNext=function(e,t,n){void 0===e&&(e=1),void 0===t&&(t=!0);for(var o,i=this.getSelection(),r=i.length>0?i[0]:this.input,s=this.getNavigator(r,!1),a=0;e>a&&(o=s.next(),o);a++)r=o;t?this.setSelection([r],n):this.select(r,n)},t.prototype.selectPrevious=function(e,t,n){void 0===e&&(e=1),void 0===t&&(t=!0);var o=this.getSelection(),i=null,r=null;if(0===o.length){for(var s=this.getNavigator(this.input);i=s.next();)r=i;i=r}else{i=o[0];for(var s=this.getNavigator(i,!1),a=0;e>a&&(r=s.previous(),r);a++)i=r}t?this.setSelection([i],n):this.select(i,n)},t.prototype.selectParent=function(e,t){void 0===t&&(t=!0);var n=this.getSelection(),o=n.length>0?n[0]:this.input,i=this.getNavigator(o,!1),r=i.parent();r&&(t?this.setSelection([r],e):this.select(r,e))},t.prototype.setFocus=function(e,t){this.setTraits("focused",e?[e]:[]);var n={focus:this.getFocus(),payload:t};this.emit("focus",n)},t.prototype.isFocused=function(e){var t=this.getItem(e);return t?t.hasTrait("focused"):!1},t.prototype.getFocus=function(e){var t=this.getElementsWithTrait("focused",e);return 0===t.length?null:t[0]},t.prototype.focusNext=function(e,t){void 0===e&&(e=1);for(var n,o=this.getFocus()||this.input,i=this.getNavigator(o,!1),r=0;e>r&&(n=i.next(),n);r++)o=n;this.setFocus(o,t)},t.prototype.focusPrevious=function(e,t){void 0===e&&(e=1);for(var n,o=this.getFocus()||this.input,i=this.getNavigator(o,!1),r=0;e>r&&(n=i.previous(),n);r++)o=n;this.setFocus(o,t)},t.prototype.focusParent=function(e){var t=this.getFocus()||this.input,n=this.getNavigator(t,!1),o=n.parent();o&&this.setFocus(o,e)},t.prototype.focusFirst=function(e){this.focusNth(0,e)},t.prototype.focusNth=function(e,t){for(var n=this.getNavigator(this.input),o=n.first(),i=0;e>i;i++)o=n.next();o&&this.setFocus(o,t)},t.prototype.focusLast=function(e){var t=this.getNavigator(this.input),n=t.last();n&&this.setFocus(n,e)},t.prototype.getNavigator=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),new p(this.getItem(e),t)},t.prototype.getItem=function(e){return void 0===e&&(e=null),null===e?this.input:e instanceof d?e:"string"==typeof e?this.registry.getItem(e):this.registry.getItem(this.context.dataSource.getId(this.context.tree,e))},t.prototype.addTraits=function(e,t){for(var n,o=this.traitsToItems[e]||{},i=0,r=t.length;r>i;i++)n=this.getItem(t[i]),n&&(n.addTrait(e),o[n.id]=n);this.traitsToItems[e]=o},t.prototype.removeTraits=function(e,t){var n,o,i=this.traitsToItems[e]||{};if(0===t.length){for(o in i)i.hasOwnProperty(o)&&(n=i[o],n.removeTrait(e));delete this.traitsToItems[e]}else for(var r=0,s=t.length;s>r;r++)n=this.getItem(t[r]),n&&(n.removeTrait(e),delete i[n.id])},t.prototype.hasTrait=function(e,t){var n=this.getItem(t);return n&&n.hasTrait(e)},t.prototype.toggleTrait=function(e,t){var n=this.getItem(t);n&&(n.hasTrait(e)?this.removeTraits(e,[t]):this.addTraits(e,[t]))},t.prototype.setTraits=function(e,t){if(0===t.length)this.removeTraits(e,t);else{for(var n,o={},i=0,r=t.length;r>i;i++)n=this.getItem(t[i]),n&&(o[n.id]=n);var s,a=this.traitsToItems[e]||{},u=[];for(s in a)a.hasOwnProperty(s)&&(o.hasOwnProperty(s)?delete o[s]:u.push(a[s]));for(var i=0,r=u.length;r>i;i++)n=u[i],n.removeTrait(e),delete a[n.id];for(s in o)o.hasOwnProperty(s)&&(n=o[s],n.addTrait(e),a[s]=n);this.traitsToItems[e]=a}},t.prototype.getElementsWithTrait=function(e,t){var n,o=[],i=this.traitsToItems[e]||{};for(n in i)i.hasOwnProperty(n)&&(i[n].isVisible()||t)&&o.push(i[n].getElement());return o},t.prototype.dispose=function(){this.registry&&(this.registry.dispose(),this.registry=null),e.prototype.dispose.call(this)},t}(r.EventEmitter);t.TreeModel=f});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/tree/common/treeViewModel",["require","exports","vs/base/common/eventEmitter","vs/base/common/iterator"],function(e,t,n,o){var i=function(e){function t(){e.call(this),this.heightMap=[],this.indexes={}}return __extends(t,e),t.prototype.getTotalHeight=function(){var e=this.heightMap[this.heightMap.length-1];return e?e.top+e.height:0},t.prototype.onInsertItems=function(e,t){void 0===t&&(t=null);var n,o,i,r,s,a=0;if(null===t)i=0,s=0;else{if(i=this.indexes[t]+1,o=this.heightMap[i-1],!o)throw new Error("Tree error, onInsertItems: viewItem doesn't exist.");s=o.top+o.height}for(var u=this.heightMap.splice.bind(this.heightMap,i,0),l=[];n=e.next();)o=this.createViewItem(n),o.top=s+a,this.emit("viewItem:create",{item:o.model}),this.indexes[n.id]=i++,l.push(o),a+=o.height;for(u.apply(this.heightMap,l),r=i;r=0;r--)this.onInsertItem(l[r]);for(r=this.heightMap.length-1;r>=i;r--)this.onRefreshItem(this.heightMap[r]);return a},t.prototype.onInsertItem=function(e){},t.prototype.onRemoveItems=function(e){for(var t,n,o,i=null,r=0;t=e.next();){if(o=this.indexes[t],n=this.heightMap[o],!n)throw new Error("Tree error, onRemoveItems: viewItem doesn't exist.");r-=n.height,delete this.indexes[t],this.onRemoveItem(n),null===i&&(i=o)}if(0!==r)for(this.heightMap.splice(i,o-i+1),o=i;or;r++)n=this.heightMap[r],n.top+=s,this.onRefreshItem(n);n=this.heightMap[i],o=t.getHeight(),n.top+=s,s+=o-n.height,n.height=o,this.onRefreshItem(n,!0),r=i+1}if(0!==s&&null!==r)for(;r=o;o++)n(this.heightMap[o].model.id)},t.prototype.indexAt=function(e){for(var t,n,o=0,i=this.heightMap.length;i>o;)if(t=Math.floor((o+i)/2),n=this.heightMap[t],e=n.top+n.height))return t;if(o===t)break;o=t}return this.heightMap.length},t.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},t.prototype.itemAtIndex=function(e){return this.heightMap[e]},t.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},t.prototype.createViewItem=function(e){throw new Error("not implemented")},t.prototype.dispose=function(){this.heightMap=null,this.indexes=null},t}(n.EventEmitter);t.HeightMap=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/tree/browser/treeView",["require","exports","vs/base/common/platform","vs/base/browser/browser","vs/base/common/winjs.base","vs/base/browser/dom","vs/base/common/diff/diff","vs/base/browser/touch","vs/base/browser/mouseEvent","vs/base/browser/keyboardEvent","./treeDnd","vs/base/common/iterator","vs/base/browser/ui/scrollbar/impl/scrollableElement","vs/base/parts/tree/common/treeViewModel","vs/base/parts/tree/common/tree","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m){function g(e){var t=e.getAttribute("last-scroll-time");return t?parseInt(t,10):0}function v(e){try{e.parentElement.removeChild(e)}catch(t){}}function y(e,t){return e||t?e&&t?e.accept!==t.accept?!1:e.bubble!==t.bubble?!1:e.effect!==t.effect?!1:!0:!1:!0}var _=function(){function e(e){this.context=e,this._cache={"":[]},this.scrollingRow=null}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var o=document.createElement("div");o.appendChild(n),t={element:o,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,n)}}return t},e.prototype.release=function(e,t){var n=g(t.element);if(!n)return v(t.element),void this.cache(e).push(t);if(this.scrollingRow){var o=g(this.scrollingRow.element);if(o>n)return v(t.element),void this.cache(e).push(t);this.scrollingRow.element.parentElement&&(v(this.scrollingRow.element),r.removeClass(this.scrollingRow.element,"scrolling"),this.cache(this.scrollingRow.templateId).push(this.scrollingRow))}this.scrollingRow=t,r.addClass(this.scrollingRow.element,"scrolling")},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]}),this.scrollingRow&&(this.context.renderer.disposeTemplate(this.context.tree,this.scrollingRow.templateId,this.scrollingRow.templateData),this.scrollingRow=null)},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}();t.RowCache=_;var b=function(){function e(e,t){var n=this;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.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 o=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());o!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart(),delete this.unbindDragStart),o?(this.uri=o,this.draggable=!0,this.unbindDragStart=r.addListener(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),e||this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}},e.prototype.insertInDOM=function(e,t){this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[w.BINDING]=this),this.element.parentElement||(null===t?e.appendChild(this.element):e.insertBefore(this.element,t),this.render())},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart(),this.unbindDragStart=null),this.uri=null,this.element[w.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}();t.ViewItem=b;var C=function(e){function t(t,n,o){e.call(this,t,n),this.row={element:o,templateData:null,templateId:null}}return __extends(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}(b),w=function(e){function t(t,n){var i=this;e.call(this),this.lastClickTimeStamp=0,this.isRefreshing=!1,this.refreshingPreviousChildrenIds={},this.context={dataSource:t.dataSource,renderer:t.renderer,controller:t.controller,dnd:t.dnd,filter:t.filter,sorter:t.sorter,tree:t.tree,options:t.options,cache:new _(t)},this.modelListeners=[],this.viewListeners=[],this.dragAndDropListeners=[],this.model=null,this.items={},this.domNode=document.createElement("div"),this.domNode.className="monaco-tree",this.domNode.tabIndex=0,this.context.options.alwaysFocused&&r.addClass(this.domNode,"focused"),this.context.options.bare&&r.addClass(this.domNode,"bare"),this.context.options.paddingOnRow||r.addClass(this.domNode,"no-row-padding"),this.wrapper=document.createElement("div"),this.wrapper.className="monaco-tree-wrapper",this.scrollableElement=new h.ScrollableElement(this.wrapper,{forbidTranslate3dUse:!0,scrollable:this,horizontal:"hidden",vertical:t.options.verticalScrollMode||"auto",useShadows:t.options.useShadows,saveLastScrollTimeOnClassName:"monaco-tree-row"}),o.isIE11orEarlier?(this.wrapper.style.msTouchAction="none",this.wrapper.style.msContentZooming="none"):this.wrapperGesture=new a.Gesture(this.wrapper),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-tree-rows",this.fakeRow=document.createElement("div"),this.fakeRow.className="monaco-tree-row fake",this.fakeContent=document.createElement("div"),this.fakeContent.className="content",this.fakeRow.appendChild(this.fakeContent),this.rowsContainer.appendChild(this.fakeRow);var s=r.trackFocus(this.domNode);s.addFocusListener(function(e){return i.onFocus(e)}),s.addBlurListener(function(e){return i.onBlur(e)}),this.viewListeners.push(function(){s.dispose()}),this.viewListeners.push(r.addListener(this.domNode,"keydown",function(e){return i.onKeyDown(e)})),this.viewListeners.push(r.addListener(this.domNode,"keyup",function(e){return i.onKeyUp(e)})),this.viewListeners.push(r.addListener(this.domNode,"mousedown",function(e){return i.onMouseDown(e)})),this.viewListeners.push(r.addListener(this.domNode,"mouseup",function(e){return i.onMouseUp(e)})),this.viewListeners.push(r.addListener(this.wrapper,"click",function(e){return i.onClick(e)})),this.viewListeners.push(r.addListener(this.domNode,"contextmenu",function(e){return i.onContextMenu(e)})),this.viewListeners.push(r.addListener(this.wrapper,a.EventType.Tap,function(e){return i.onTap(e)})),this.viewListeners.push(r.addListener(this.wrapper,a.EventType.Change,function(e){return i.onTouchChange(e)})),o.isIE11orEarlier&&(this.viewListeners.push(r.addListener(this.wrapper,"MSPointerDown",function(e){return i.onMsPointerDown(e)})),this.viewListeners.push(r.addListener(this.wrapper,"MSGestureTap",function(e){return i.onMsGestureTap(e)})),this.viewListeners.push(r.addThrottledListener(this.wrapper,"MSGestureChange",function(e){return i.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}))),this.viewListeners.push(r.addListener(window,"dragover",function(e){return i.onDragOver(e)})),this.viewListeners.push(r.addListener(window,"drop",function(e){return i.onDrop(e)})),this.viewListeners.push(r.addListener(window,"dragend",function(e){return i.onDragEnd(e)})),this.viewListeners.push(r.addListener(window,"dragleave",function(e){return i.onDragOver(e)})),this.wrapper.appendChild(this.rowsContainer),this.domNode.appendChild(this.scrollableElement.getDomNode()),n.appendChild(this.domNode),this._scrollTop=0,this._viewHeight=0,this.renderTop=0,this.renderHeight=0,this.didJustPressContextMenuKey=!1,this.currentDropTarget=null,this.currentDropTargets=[],this.shouldInvalidateDropReaction=!1,this.dragAndDropScrollInterval=null,this.dragAndDropScrollTimeout=null,this.onHiddenScrollTop=null,this.onRowsChanged(),this.layout(),this.setupMSGesture()}return __extends(t,e),t.prototype.createViewItem=function(e){return new b(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.onVisible=function(){this.scrollTop=this.onHiddenScrollTop,this.onHiddenScrollTop=null,this.scrollableElement.onElementDimensions(),this.scrollableElement.onElementInternalDimensions(),this.setupMSGesture()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout(function(){return e.msGesture.target=e.wrapper},100))},t.prototype.onHidden=function(){this.onHiddenScrollTop=this.scrollTop},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e){this.isTreeVisible()&&(this.viewHeight=e||r.getContentHeight(this.wrapper),this.scrollTop=this.scrollTop,this.scrollableElement.onElementDimensions(),this.scrollableElement.onElementInternalDimensions())},t.prototype.render=function(e,t){var n,o,i=e+t,r=this.scrollTop+this.viewHeight,s=e;s=Math.max(s,0);var a=i,u=0===r?0:r;for(n=this.indexAfter(a)-1,o=this.indexAt(Math.max(u,s));n>=o;n--)this.insertItemInDOM(this.itemAtIndex(n));for(n=Math.min(this.indexAt(this.renderTop),this.indexAfter(a))-1,o=this.indexAt(s);n>=o;n--)this.insertItemInDOM(this.itemAtIndex(n));for(n=this.indexAt(this.renderTop),o=Math.min(this.indexAt(s),this.indexAfter(u));o>n;n++)this.removeItemFromDOM(this.itemAtIndex(n));for(n=Math.max(this.indexAfter(a),this.indexAt(this.renderTop)),o=this.indexAfter(u);o>n;n++)this.removeItemFromDOM(this.itemAtIndex(n));var l=this.itemAtIndex(this.indexAt(s));l&&(this.rowsContainer.style.top=l.top-s+"px"),this.renderTop=s,this.renderHeight=a-s},t.prototype.setModel=function(e){var t=this;this.releaseModel(),this.model=e,this.modelListeners.push(this.model.addBulkListener(function(e){return t.onModelEvents(e)}))},t.prototype.onModelEvents=function(e){for(var t=[],n=0,o=e.length;o>n;n++){var i=e[n],r=i.getData();switch(i.getType()){case"refreshing":this.onRefreshing();break;case"refreshed":this.onRefreshed();break;case"clearingInput":this.onClearingInput(r);break;case"setInput":this.onSetInput(r);break;case"item:childrenRefreshing":this.onItemChildrenRefreshing(r);break;case"item:childrenRefreshed":this.onItemChildrenRefreshed(r);break;case"item:refresh":t.push(r.item);break;case"item:expanding":this.onItemExpanding(r);break;case"item:expanded":this.onItemExpanded(r);break;case"item:collapsing":this.onItemCollapsing(r);break;case"item:reveal":this.onItemReveal(r);break;case"item:addTrait":this.onItemAddTrait(r);break;case"item:removeTrait":this.onItemRemoveTrait(r)}}t.length>0&&this.onItemsRefresh(t)},t.prototype.onRefreshing=function(){this.isRefreshing=!0},t.prototype.onRefreshed=function(){this.isRefreshing=!1,this.onRowsChanged()},t.prototype.onRowsChanged=function(e){void 0===e&&(e=this.scrollTop),this.isRefreshing||(this.scrollTop=e,this.scrollableElement.onElementInternalDimensions())},t.prototype.withFakeRow=function(e){return e(this.fakeContent)},t.prototype.focusNextPage=function(e){var t=this,n=this.indexAt(this.scrollTop+this.viewHeight); +n=0===n?0:n-1;var o=this.itemAtIndex(n).model.getElement(),i=this.model.getFocus();if(i!==o)this.model.setFocus(o,e);else{var r=this.scrollTop;this.scrollTop+=this.viewHeight,this.scrollTop!==r&&setTimeout(function(){t.focusNextPage(e)},0)}},t.prototype.focusPreviousPage=function(e){var t,n=this;t=0===this.scrollTop?this.indexAt(this.scrollTop):this.indexAfter(this.scrollTop-1);var o=this.itemAtIndex(t).model.getElement(),i=this.model.getFocus();if(i!==o)this.model.setFocus(o,e);else{var r=this.scrollTop;this.scrollTop-=this.viewHeight,this.scrollTop!==r&&setTimeout(function(){n.focusPreviousPage(e)},0)}},Object.defineProperty(t.prototype,"viewHeight",{get:function(){return this._viewHeight},set:function(e){this.render(this.scrollTop,e),this._viewHeight=e},enumerable:!0,configurable:!0}),t.prototype.getScrollHeight=function(){return this.getTotalHeight()},t.prototype.getScrollWidth=function(){return 0},t.prototype.getScrollLeft=function(){return 0},t.prototype.setScrollLeft=function(e){},Object.defineProperty(t.prototype,"scrollTop",{get:function(){return this._scrollTop},set:function(e){this.setScrollTop(e)},enumerable:!0,configurable:!0}),t.prototype.getScrollTop=function(){return this._scrollTop},t.prototype.setScrollTop=function(e){e=Math.min(e,this.getTotalHeight()-this.viewHeight),e=Math.max(e,0),this.render(e,this.viewHeight),this._scrollTop=e,this.emit("scroll",{vertical:!0,horizontal:!1})},t.prototype.addScrollListener=function(e){return this.addListener2("scroll",e)},t.prototype.getScrollPosition=function(){var e=this.getTotalHeight()-this.viewHeight;return 0>=e?0:this.scrollTop/e},t.prototype.setScrollPosition=function(e){var t=this.getTotalHeight()-this.viewHeight;this.scrollTop=t*e},t.prototype.onClearingInput=function(e){var t=e.item;t&&(this.onRemoveItems(new d.MappedIterator(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onSetInput=function(e){this.context.cache.garbageCollect(),this.inputItem=new C(this.context,e.item,this.wrapper),this.emit("viewItem:create",{item:this.inputItem.model})},t.prototype.onItemChildrenRefreshing=function(e){var n=e.item,o=this.items[n.id];if(o&&(o.loadingPromise=i.Promise.timeout(t.LOADING_DECORATION_DELAY).then(function(){o.loadingPromise=null,o.loading=!0})),!e.isNested){for(var r,s=[],a=n.getNavigator();r=a.next();)s.push(r.id);this.refreshingPreviousChildrenIds[n.id]=s}},t.prototype.onItemChildrenRefreshed=function(e){var t=this,n=e.item,o=this.items[n.id];if(o&&(o.loadingPromise&&(o.loadingPromise.cancel(),o.loadingPromise=null),o.loading=!1),!e.isNested){for(var i,r=this.refreshingPreviousChildrenIds[n.id],a=[],u=n.getNavigator();i=u.next();)a.push(i);var l=new s.LcsDiff({getLength:function(){return r.length},getElementHash:function(e){return r[e]}},{getLength:function(){return a.length},getElementHash:function(e){return a[e].id}},null),c=l.ComputeDiff(),h=c.some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,o=e.modifiedStart+e.modifiedLength;o>n;n++)if(t.items.hasOwnProperty(a[n].id))return!0;return!1});if(h)c.length&&(this.onRemoveItems(new d.ArrayIterator(r)),this.onInsertItems(new d.ArrayIterator(a)));else for(var p=0,f=c.length;f>p;p++){var m=c[p];if(m.originalLength>0&&this.onRemoveItems(new d.ArrayIterator(r,m.originalStart,m.originalStart+m.originalLength)),m.modifiedLength>0){var g=a[m.modifiedStart-1]||n;g=g.getDepth()>0?g:null,this.onInsertItems(new d.ArrayIterator(a,m.modifiedStart,m.modifiedStart+m.modifiedLength),g?g.id:null)}}c.length&&this.onRowsChanged()}},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 o=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;n.top+n.height<=this.scrollTop&&(i+=o),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new d.MappedIterator(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,o=this.items[t.id];if(o)if(null!==n){n=0>n?0:n,n=n>1?1:n;var i=o.height-this.viewHeight;this.scrollTop=i*n+o.top}else{var r=o.top+o.height,s=this.scrollTop+this.viewHeight;o.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,o=this.items[t.id];o&&o.addClass(n),"highlighted"===n&&(r.addClass(this.domNode,n),o&&(this.highlightedItemWasDraggable=!!o.draggable,o.draggable&&(o.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,o=this.items[t.id];o&&o.removeClass(n),"highlighted"===n&&(r.removeClass(this.domNode,n),this.highlightedItemWasDraggable&&(o.draggable=!0),delete this.highlightedItemWasDraggable)},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(),this.emit("viewItem:dispose",{item:this.inputItem.model}),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 u.StandardMouseEvent(e),n=this.getItemAround(t.target);n&&(o.isIE10orLater&&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.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new u.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseDown(this.context.tree,o.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new u.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseUp(this.context.tree,o.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 o=new l.StandardKeyboardEvent(e);if(n=this.model.getFocus(),!n)return;var i=this.context.dataSource.getId(this.context.tree,n),s=this.items[i],a=r.getDomNodePosition(s.element);t=new f.KeyboardContextMenuEvent(a.left+a.width,a.top,o)}else{var c=new u.StandardMouseEvent(e),d=this.getItemAround(c.target);if(!d)return;n=d.model.getElement(),t=new f.MouseContextMenuEvent(c)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new l.StandardKeyboardEvent(e);this.didJustPressContextMenuKey=t.keyCode===m.KeyCode.ContextMenu||t.shiftKey&&t.keyCode===m.KeyCode.F10,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||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 l.StandardKeyboardEvent(e))},t.prototype.onDragStart=function(e,n){if(!this.model.getHighlight()){var o,i=e.model.getElement(),r=this.model.getSelection();if(o=r.indexOf(i)>-1?r:[i],n.dataTransfer.effectAllowed="copyMove",n.dataTransfer.setData("URL",e.uri),n.dataTransfer.setDragImage)if(1===o.length&&e.element)n.dataTransfer.setDragImage(e.element,n.offsetX||6,n.offsetY||6);else if(o.length>1){var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=""+o.length,document.body.appendChild(s),n.dataTransfer.setDragImage(s,-10,-10),setTimeout(function(){return document.body.removeChild(s)},0)}this.currentDragAndDropData=new c.ElementsDragAndDropData(o),t.currentExternalDragAndDropData=new c.ExternalElementsDragAndDropData(o),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new u.DragMouseEvent(n))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=r.getTopLeftOffset(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(void 0!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,o=0,i=e.viewHeight-35;35>n?o=Math.max(-14,.2*(n-35)):n>i&&(o=Math.min(14,.2*(n-i))),e.scrollTop+=o}},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 n=this,o=new u.DragMouseEvent(e),r=this.getItemAround(o.target);if(!r)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),delete this.currentDropTarget,delete this.currentDropElement,delete this.dragAndDropMouseY,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=o.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!o.dataTransfer.types)return!1;this.currentDragAndDropData=new c.DesktopDragAndDropData}this.currentDragAndDropData.update(o);var s,a,l=r.model;do{if(s=l?l.getElement():this.model.getInput(),a=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,s,o),!a||a.bubble!==f.DragOverBubble.BUBBLE_UP)break;l=l&&l.parent}while(l);if(!l)return delete this.currentDropElement,!1;var d=a&&a.accept;d?(this.currentDropElement=l.getElement(),o.preventDefault(),o.dataTransfer.dropEffect=a.effect===f.DragOverEffect.COPY?"copy":"move"):delete this.currentDropElement;var h=l.id===this.inputItem.id?this.inputItem:this.items[l.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==h||!y(this.currentDropElementReaction,a))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=h,this.currentDropElementReaction=a,d)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),a.bubble===f.DragOverBubble.BUBBLE_DOWN)for(var p,m=l.getNavigator();p=m.next();)r=this.items[p.id],r&&(r.dropTarget=!0,this.currentDropTargets.push(r));this.currentDropPromise=i.Promise.timeout(500).then(function(){return n.context.tree.expand(n.currentDropElement).then(function(){n.shouldInvalidateDropReaction=!0})})}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new u.DragMouseEvent(e);t.preventDefault(),this.currentDragAndDropData.update(t),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.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),delete this.currentDragAndDropData,t.currentExternalDragAndDropData=null,delete this.currentDropElement,delete this.currentDropTarget,delete this.dragAndDropMouseY},t.prototype.onFocus=function(e){this.context.options.alwaysFocused||r.addClass(this.domNode,"focused")},t.prototype.onBlur=function(e){this.context.options.alwaysFocused||r.removeClass(this.domNode,"focused")},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;return t===(e.MSPOINTER_TYPE_MOUSE||"mouse")?void(this.lastPointerType="mouse"):void(t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)))}},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.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.renderTop},t.prototype.getItemAround=function(e){var n=this.inputItem;do{if(e[t.BINDING]&&(n=e[t.BINDING]),e===this.wrapper||e===this.domNode)return n;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){if(this.model){for(;this.modelListeners.length;)this.modelListeners.pop()();this.model=null}},t.prototype.dispose=function(){for(this.scrollableElement.destroy(),this.releaseModel(),this.modelListeners=null;this.viewListeners.length;)this.viewListeners.pop()();this.viewListeners=null,this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.wrapperGesture&&(this.wrapperGesture.dispose(),this.wrapperGesture=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.currentExternalDragAndDropData=null,t}(p.HeightMap);t.TreeView=w});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/base/parts/tree/browser/treeImpl",["require","exports","vs/base/parts/tree/browser/treeDefaults","vs/base/common/eventEmitter","vs/base/parts/tree/common/treeModel","./treeView","vs/css!./tree"],function(e,t,n,o,i,r){var s=function(){function e(e,t,o){if(void 0===o&&(o={}),this.tree=e,this.configuration=t,this.options=o,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer||new n.LegacyRenderer,this.controller=t.controller||new n.DefaultController,this.dnd=t.dnd||new n.DefaultDragAndDrop,this.filter=t.filter||new n.DefaultFilter,this.sorter=t.sorter||null}return e}();t.TreeContext=s;var a=function(e){function t(t,n,o){void 0===o&&(o={}),e.call(this),this.container=t,this.configuration=n,this.options=o,this.options.twistiePixels="number"==typeof this.options.twistiePixels?this.options.twistiePixels:32,this.options.indentPixels="number"==typeof this.options.indentPixels?this.options.indentPixels:12,this.options.alwaysFocused=this.options.alwaysFocused===!0?!0:!1,this.options.bare=this.options.bare===!0?!0:!1,this.options.useShadows=this.options.useShadows===!1?!1:!0,this.options.paddingOnRow=this.options.paddingOnRow===!1?!1:!0,this.context=new s(this,n,o),this.model=new i.TreeModel(this.context),this.view=new r.TreeView(this.context,this.container),this.view.setModel(this.model),this.addEmitter(this.model),this.addEmitter(this.view)}return __extends(t,e),t.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},t.prototype.layout=function(e){this.view.layout(e)},t.prototype.DOMFocus=function(){this.view.focus()},t.prototype.isDOMFocused=function(){return this.view.isFocused()},t.prototype.DOMBlur=function(){this.view.blur()},t.prototype.onVisible=function(){this.view.onVisible()},t.prototype.onHidden=function(){this.view.onHidden()},t.prototype.setInput=function(e){return this.model.setInput(e)},t.prototype.getInput=function(){return this.model.getInput()},t.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},t.prototype.refreshAll=function(e,t){return void 0===t&&(t=!0),this.model.refreshAll(e,t)},t.prototype.expand=function(e){return this.model.expand(e)},t.prototype.expandAll=function(e){return this.model.expandAll(e)},t.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e)},t.prototype.collapseAll=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.model.collapseAll(e,t)},t.prototype.toggleExpansion=function(e){return this.model.toggleExpansion(e)},t.prototype.toggleExpansionAll=function(e){return this.model.toggleExpansionAll(e)},t.prototype.isExpanded=function(e){return this.model.isExpanded(e)},t.prototype.getExpandedElements=function(){return this.model.getExpandedElements()},t.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},t.prototype.getScrollPosition=function(){return this.view.getScrollPosition()},t.prototype.setScrollPosition=function(e){this.view.setScrollPosition(e)},t.prototype.setHighlight=function(e,t){this.model.setHighlight(e,t)},t.prototype.getHighlight=function(){return this.model.getHighlight()},t.prototype.isHighlighted=function(e){return this.model.isFocused(e)},t.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},t.prototype.select=function(e,t){this.model.select(e,t)},t.prototype.selectRange=function(e,t,n){this.model.selectRange(e,t,n)},t.prototype.deselectRange=function(e,t,n){this.model.deselectRange(e,t,n)},t.prototype.selectAll=function(e,t){this.model.selectAll(e,t)},t.prototype.deselect=function(e,t){this.model.deselect(e,t)},t.prototype.deselectAll=function(e,t){this.model.deselectAll(e,t)},t.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},t.prototype.toggleSelection=function(e,t){this.model.toggleSelection(e,t)},t.prototype.isSelected=function(e){return this.model.isSelected(e)},t.prototype.getSelection=function(){return this.model.getSelection()},t.prototype.clearSelection=function(e){this.model.setSelection([],e)},t.prototype.selectNext=function(e,t,n){this.model.selectNext(e,t,n)},t.prototype.selectPrevious=function(e,t,n){this.model.selectPrevious(e,t,n)},t.prototype.selectParent=function(e,t){this.model.selectParent(e,t)},t.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},t.prototype.isFocused=function(e){return this.model.isFocused(e)},t.prototype.getFocus=function(){return this.model.getFocus()},t.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},t.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},t.prototype.focusParent=function(e){this.model.focusParent(e)},t.prototype.focusFirst=function(e){this.model.focusFirst(e)},t.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},t.prototype.focusLast=function(e){this.model.focusLast(e)},t.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},t.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},t.prototype.clearFocus=function(e){this.model.setFocus(null,e)},t.prototype.addTraits=function(e,t){this.model.addTraits(e,t)},t.prototype.removeTraits=function(e,t){this.model.removeTraits(e,t)},t.prototype.toggleTrait=function(e,t){this.model.hasTrait(e,t)?this.model.removeTraits(e,[t]):this.model.addTraits(e,[t])},t.prototype.hasTrait=function(e,t){return this.model.hasTrait(e,t)},t.prototype.withFakeRow=function(e){return this.view.withFakeRow(e)},t.prototype.dispose=function(){null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),e.prototype.dispose.call(this)},t}(o.EventEmitter);t.Tree=a}),define("vs/base/parts/quickopen/browser/quickOpenWidget",["require","exports","vs/base/common/winjs.base","vs/base/common/platform","vs/base/browser/browser","vs/base/common/events","vs/base/common/types","vs/base/common/errors","vs/base/common/uuid","vs/base/parts/quickopen/browser/quickOpen","vs/base/parts/quickopen/browser/quickOpenViewer","vs/base/browser/builder","vs/base/browser/ui/inputbox/inputBox","vs/base/parts/tree/browser/treeImpl","vs/base/browser/ui/progressbar/progressbar","vs/base/browser/keyboardEvent","vs/base/parts/tree/browser/treeDefaults","vs/base/browser/dom","vs/base/common/keyCodes","vs/css!./quickopen"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y){var _=function(){function e(e,t,n,o){this.toUnbind=[],this.container=e,this.callbacks=t,this.options=n,this.usageLogger=o,this.model=null}return e.prototype.getModel=function(){return this.model},e.prototype.setCallbacks=function(e){this.callbacks=e},e.prototype.create=function(){var e=this;this.builder=d.$().div(function(t){t.on(v.EventType.KEY_DOWN,function(t){var n=new m.StandardKeyboardEvent(t);n.keyCode===y.KeyCode.Escape&&(v.EventHelper.stop(t,!0),e.hide(!0))}).on(v.EventType.CONTEXT_MENU,function(e){return v.EventHelper.stop(e,!0)}).on(v.EventType.FOCUS,function(t){return e.gainingFocus()},null,!0).on(v.EventType.BLUR,function(t){return e.loosingFocus(t)},null,!0),e.progressBar=new f.ProgressBar(t.clone()),e.progressBar.getContainer().hide(),t.div({"class":"quick-open-input"},function(t){e.inputContainer=t,e.inputBox=new h.InputBox(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:e.options.inputAriaLabel}),v.addDisposableListener(e.inputBox.inputElement,v.EventType.KEY_DOWN,function(t){var n=new m.StandardKeyboardEvent(t);if(n.keyCode===y.KeyCode.Tab||n.keyCode===y.KeyCode.DownArrow||n.keyCode===y.KeyCode.UpArrow||n.keyCode===y.KeyCode.PageDown||n.keyCode===y.KeyCode.PageUp)v.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey);else if(n.keyCode===y.KeyCode.Enter){v.EventHelper.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t)}else!i.isIE9||n.keyCode!==y.KeyCode.Backspace&&n.keyCode!==y.KeyCode.Delete||e.onType()}),v.addDisposableListener(e.inputBox.inputElement,v.EventType.INPUT,function(t){e.onType()})}),e.treeContainer=t.div({"class":"quick-open-tree"},function(t){e.tree=new p.Tree(t.getHTMLElement(),{dataSource:new c.DataSource(e),controller:new g.DefaultController({clickBehavior:g.ClickBehavior.ON_MOUSE_UP}),renderer:new c.Renderer(e),filter:new c.Filter(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:"visible"}),e.toUnbind.push(e.tree.addListener(r.EventType.FOCUS,function(t){e.elementFocused(t.focus,t)})),e.toUnbind.push(e.tree.addListener(r.EventType.SELECTION,function(t){t.selection&&t.selection.length>0&&e.elementSelected(t.selection[0],t)}))}).on(v.EventType.KEY_DOWN,function(t){var n=new m.StandardKeyboardEvent(t);e.quickNavigateConfiguration&&(n.keyCode===y.KeyCode.DownArrow||n.keyCode===y.KeyCode.UpArrow||n.keyCode===y.KeyCode.PageDown||n.keyCode===y.KeyCode.PageUp)&&(v.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode))}).on(v.EventType.KEY_UP,function(t){var n=new m.StandardKeyboardEvent(t),i=n.keyCode;if(e.quickNavigateConfiguration){var r=e.quickNavigateConfiguration.keybindings,s=i===y.KeyCode.Enter||r.some(function(e){if(e.hasShift()&&i===y.KeyCode.Shift)return!0;if(e.hasAlt()&&i===y.KeyCode.Alt)return!0;if(o.isMacintosh){if(e.hasCtrlCmd()&&i===y.KeyCode.Meta)return!0;if(e.hasWinCtrl()&&i===y.KeyCode.Ctrl)return!0}else{if(e.hasCtrlCmd()&&i===y.KeyCode.Ctrl)return!0;if(e.hasWinCtrl()&&i===y.KeyCode.Meta)return!0}return!1});if(s){var a=e.tree.getFocus();a&&e.elementSelected(a,t)}}}).clone()}).addClass("quick-open-widget").addClass(i.isIE10orEarlier?" no-shadow":"").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions)},e.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},e.prototype.quickNavigate=function(e,t){this.isVisible&&(this.quickNavigateConfiguration||(this.quickNavigateConfiguration=e,this.tree.DOMFocus()),this.navigateInTree(t?y.KeyCode.DownArrow:y.KeyCode.UpArrow))},e.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),o=n?n.entries:[],i=this.tree.getFocus(),r=!1,s=!1;if(o.length>1&&(!(e===y.KeyCode.UpArrow||e===y.KeyCode.Tab&&t)||i!==o[0]&&i?e!==y.KeyCode.DownArrow&&(e!==y.KeyCode.Tab||t)||i!==o[o.length-1]||(this.tree.focusFirst(),r=!0):(this.tree.focusLast(),r=!0)),!r)switch(e){case y.KeyCode.DownArrow:this.tree.focusNext();break;case y.KeyCode.UpArrow:this.tree.focusPrevious();break;case y.KeyCode.PageDown:this.tree.focusNextPage();break;case y.KeyCode.PageUp:this.tree.focusPreviousPage();break;case y.KeyCode.Tab:t?this.tree.focusPrevious():this.tree.focusNext()}i=this.tree.getFocus(),i&&(s?this.tree.reveal(i,0):this.tree.reveal(i))},e.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n={event:t,quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,l.Mode.PREVIEW,n)}},e.prototype.elementSelected=function(e,t){var n=!0;if(this.isVisible()){var o={event:t,quickNavigateConfiguration:this.quickNavigateConfiguration};n=this.model.runner.run(e,l.Mode.OPEN,o)}if(this.usageLogger){var i=this.model.entries.indexOf(e),r=this.model.entries.length;this.usageLogger.publicLog("quickOpenWidgetItemAccepted",{index:i,count:r,isQuickNavigate:this.quickNavigateConfiguration?!0:!1})}n&&this.hide()},e.prototype.show=function(e,t,n){s.isUndefined(t)&&(t={}),this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=n,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.options.enableAnimations&&this.treeContainer.removeClass("transition"),this.builder.show(),this.tree.DOMFocus()):(this.inputContainer.show(),this.options.enableAnimations&&this.treeContainer.addClass("transition"),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||s.isString(e)?this.helpText.hide():this.helpText.show()),s.isString(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t),this.callbacks.onShow&&this.callbacks.onShow()},e.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},e.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},e.prototype.setInputAndLayout=function(e,t){var n=this,o=u.generateUuid();this.currentInputToken=o,this.setTreeHeightForInput(e).then(function(){n.currentInputToken===o&&n.tree.setInput(null).then(function(){return n.model=e,n.tree.setInput(e)}).done(function(){n.tree.layout(),e&&e.entries.some(function(t){return n.isElementVisible(e,t)})&&n.autoFocus(e,t)},a.onUnexpectedError)})},e.prototype.isElementVisible=function(e,t){return e.filter?e.filter.isVisible(t):!0},e.prototype.autoFocus=function(e,t){var n=this;void 0===t&&(t={});var o=e.entries.filter(function(t){return n.isElementVisible(e,t)});if(t.autoFocusPrefixMatch){for(var i,r,s=t.autoFocusPrefixMatch,a=s.toLowerCase(),u=0;ut.autoFocusIndex&&(this.tree.focusNth(t.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):t.autoFocusSecondEntry&&o.length>1&&this.tree.focusNth(1)},e.prototype.refresh=function(e,t){var n=this;this.isVisible()&&this.setTreeHeightForInput(e).then(function(){n.tree.refresh().done(function(){n.tree.layout(),!n.tree.getFocus()&&e&&e.entries.some(function(t){return n.isElementVisible(e,t)})&&n.autoFocus(e,t)},a.onUnexpectedError)})},e.prototype.setTreeHeightForInput=function(e){var t=this,o=this.getHeight(e)+"px",i=this.treeContainer.style("height");return this.treeContainer.style({height:o}),this.treeContainer.hasClass("transition")&&i!==o?new n.Promise(function(e,n){var o=[],i=!1,r=function(){if(!i){for(i=!0;o.length;)o.pop()();e(null)}};t.treeContainer.once("webkitTransitionEnd",r,o),t.treeContainer.once("transitionend",r,o)}):n.Promise.as(null)},e.prototype.getHeight=function(t){var n=this,o=t.renderer;if(!t){var i=o.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*i:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>e.MAX_ITEMS_HEIGHT)&&(r=e.MAX_ITEMS_HEIGHT);for(var a=t.entries.filter(function(e){return n.isElementVisible(t,e)}),u=this.options.maxItemsToShow||a.length,l=0;u>l&&l=s+c))break;s+=c}return s},e.prototype.hide=function(e){var t=this;if(void 0===e&&(e=!1),this.isVisible()){if(this.visible=!1,this.builder.hide(),this.builder.domBlur(),e&&this.model){var n=this.model.entries.filter(function(e){return t.isElementVisible(t.model,e)}).length;this.usageLogger&&this.usageLogger.publicLog("quickOpenWidgetCancelled",{count:n,isQuickNavigate:this.quickNavigateConfiguration?!0:!1})}this.inputBox.value="",this.tree.setInput(null),this.treeContainer.style({height:(this.options.minItemsToShow?24*this.options.minItemsToShow:0)+"px"}),this.progressBar.stop().getContainer().hide(),this.tree.isDOMFocused()?this.tree.DOMBlur():this.inputBox.hasFocus()&&this.inputBox.blur(),e?this.callbacks.onCancel():this.callbacks.onOk(),this.callbacks.onHide&&this.callbacks.onHide()}},e.prototype.setPlaceHolder=function(e){this.inputBox&&this.inputBox.setPlaceHolder(e)},e.prototype.setValue=function(e){this.inputBox&&(this.inputBox.value=e,this.inputBox.select())},e.prototype.setPassword=function(e){this.inputBox&&(this.inputBox.inputElement.type=e?"password":"text")},e.prototype.setInput=function(e,t){this.isVisible()&&this.setInputAndLayout(e,t)},e.prototype.getInput=function(){return this.tree.getInput()},e.prototype.runFocus=function(){var e=this.tree.getFocus();return e?(this.elementSelected(e),!0):!1},e.prototype.getProgressBar=function(){return this.progressBar},e.prototype.setExtraClass=function(e){var t=this.builder.getProperty("extra-class");t&&this.builder.removeClass(t),e?(this.builder.addClass(e),this.builder.setProperty("extra-class",e)):t&&this.builder.removeProperty("extra-class")},e.prototype.isVisible=function(){return this.visible},e.prototype.layout=function(t){this.layoutDimensions=t;var n=Math.min(.62*this.layoutDimensions.width,e.MAX_WIDTH);this.builder&&(this.builder.style({width:n+"px",marginLeft:"-"+n/2+"px"}),this.inputContainer.style({width:n-12+"px"}))},e.prototype.gainingFocus=function(){this.isLoosingFocus=!1},e.prototype.loosingFocus=function(e){var t=this;if(this.isVisible()){var o=e.relatedTarget;if(!this.quickNavigateConfiguration&&v.isAncestor(o,this.builder.getHTMLElement()))return void this.inputBox.focus();this.isLoosingFocus=!0,n.Promise.timeout(0).then(function(){if(t.isLoosingFocus){var e=t.callbacks.onFocusLost&&t.callbacks.onFocusLost();e||t.hide(!1)}})}},e.prototype.dispose=function(){for(;this.toUnbind.length;)this.toUnbind.pop()();this.progressBar.dispose(),this.inputBox.dispose(),this.tree.dispose()},e.MAX_WIDTH=600,e.MAX_ITEMS_HEIGHT=480,e}();t.QuickOpenWidget=_}),define("vs/base/worker/defaultWorkerFactory",["require","exports","vs/base/browser/dom","vs/base/common/flags"],function(e,t,n,o){function i(t,n){return e.toUrl("./"+t+"?"+encodeURIComponent(n)); +}var r=o.getCrossOriginWorkerScriptUrl||i,s=function(){function e(e,t,n){this.id=e,this.worker=new Worker(r("workerMain.js",t)),this.worker.onmessage=function(e){n(e.data)}}return e.prototype.getId=function(){return this.id},e.prototype.postMessage=function(e){this.worker.postMessage(e)},e.prototype.terminate=function(){this.worker.terminate()},e}(),a=function(){function t(t,o){var i=this;this.id=t,this.loaded=!1,this.beforeLoadMessages=[],this.iframe=document.createElement("iframe"),this.iframe.id=this.iframeId(),this.iframe.src=e.toUrl("./workerMainCompatibility.html"),this.iframe.frameborder=this.iframe.height=this.iframe.width="0",this.iframe.style.display="none",n.addListener(this.iframe,"load",function(){return i.onLoaded()}),this.onMessage=function(e){o(e.data)},n.addListener(window,"message",this.onMessage),document.body.appendChild(this.iframe)}return t.prototype.iframeId=function(){return"worker_iframe_"+this.id},t.prototype.onLoaded=function(){for(this.loaded=!0;this.beforeLoadMessages.length>0;)this.postMessage(this.beforeLoadMessages.shift())},t.prototype.getId=function(){return this.id},t.prototype.postMessage=function(e){if(this.loaded===!0){var t=window.frames[this.iframeId()];t.postMessage?t.postMessage(e,"*"):t.contentWindow.postMessage(e,"*")}else this.beforeLoadMessages.push(e)},t.prototype.terminate=function(){window.removeEventListener("message",this.onMessage),window.frames[this.iframeId()].close()},t}(),u=function(){function e(){}return e.prototype.create=function(e,t,n){void 0===n&&(n=null);var o=null;try{o=new s(e,"service"+e,t)}catch(i){o=new a(e,t)}return o},e}();t.DefaultWorkerFactory=u}),define("vs/editor/browser/view/viewEventDispatcher",["require","exports","vs/base/common/eventEmitter"],function(e,t,n){var o=function(){function e(e){this.eventHandlerGateKeeper=e,this.eventHandlers=[],this.eventQueue=[],this.isConsumingQueue=!1}return e.prototype.addEventHandler=function(e){for(var t=0,n=this.eventHandlers.length;n>t;t++)this.eventHandlers[t]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this.eventHandlers.push(e)},e.prototype.removeEventHandler=function(e){for(var t=0;t0;)for(i=e.eventQueue,e.eventQueue=[],o=e.eventHandlers.slice(0),t=0,n=o.length;n>t;t++)o[t].handleEvents(i)}finally{e.isConsumingQueue=!1}})},e}();t.ViewEventDispatcher=o}),define("vs/editor/browser/viewParts/viewCursors/viewCursor",["require","exports","vs/base/browser/dom"],function(e,t,n){var o=function(){function e(e,t){this._context=e,this._isInEditableRange=!0,this._domNode=this._createCursorDomNode(t),this._isVisible=!0,n.StyleMutator.setDisplay(this._domNode,"none"),this.updatePosition({lineNumber:1,column:1})}return e.prototype._createCursorDomNode=function(e){var t=document.createElement("div");return t.className="cursor",e&&(t.className+=" secondary"),n.StyleMutator.setHeight(t,this._context.configuration.editor.lineHeight),n.StyleMutator.setTop(t,0),n.StyleMutator.setLeft(t,0),t.setAttribute("role","presentation"),t.setAttribute("aria-hidden","true"),t},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getIsInEditableRange=function(){return this._isInEditableRange},e.prototype.getPositionTop=function(){return this._positionTop},e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(n.StyleMutator.setVisibility(this._domNode,"inherit"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(n.StyleMutator.setVisibility(this._domNode,"hidden"),this._isVisible=!1)},e.prototype.onModelFlushed=function(){return this.updatePosition({lineNumber:1,column:1}),this._isInEditableRange=!0,!0},e.prototype.onCursorPositionChanged=function(e,t){return this.updatePosition(e),this._isInEditableRange=t,!0},e.prototype.onConfigurationChanged=function(e){return e.lineHeight&&n.StyleMutator.setHeight(this._domNode,this._context.configuration.editor.lineHeight),!0},e.prototype.prepareRender=function(e){var t=e.visibleRangeForPosition(this._position);t?(this._positionTop=t.top,this._positionLeft=t.left,this._isInViewport=!0):this._isInViewport=!1},e.prototype.render=function(e){this._isInViewport?(n.StyleMutator.setDisplay(this._domNode,"block"),n.StyleMutator.setLeft(this._domNode,this._positionLeft),n.StyleMutator.setTop(this._domNode,this._positionTop+e.viewportTop-e.bigNumbersDelta)):n.StyleMutator.setDisplay(this._domNode,"none")},e.prototype.updatePosition=function(e){this._position=e,this._domNode.setAttribute("lineNumber",this._position.lineNumber.toString()),this._domNode.setAttribute("column",this._position.column.toString()),this._isInViewport=!1},e}();t.ViewCursor=o}),define("vs/editor/common/commands/trimTrailingWhitespaceCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/editOperation","vs/base/common/strings"],function(e,t,n,o,i){function r(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var r=t.length-2;r>=0;r--)t[r].lineNumber===t[r+1].lineNumber&&t.splice(r,1);var s,a,u,l,c,d,h,p=[],f=0,m=t.length;for(s=1,a=e.getLineCount();a>=s;s++)if(u=e.getLineContent(s),c=u.length+1,l=0,!(m>f&&t[f].lineNumber===s&&(l=t[f].column,f++,l===c))&&0!==u.length){if(h=i.lastNonWhitespaceIndex(u),d=0,-1===h)d=1;else{if(h===u.length-1)continue;d=h+2}d=Math.max(l,d),p.push(o.EditOperation["delete"](new n.Range(s,d,s,c)))}return p}var s=function(){function e(e){this.selection=e}return e.prototype.getEditOperations=function(e,t){for(var n=r(e,[]),o=0,i=n.length;i>o;o++){var s=n[o];t.addEditOperation(s.range,s.text)}this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e}();t.TrimTrailingWhitespaceCommand=s,t.trimTrailingWhitespace=r}),define("vs/editor/common/model/editStack",["require","exports","vs/base/common/errors"],function(e,t,n){var o=function(){function e(e){this.model=e,this.currentOpenStackElement=null,this.past=[],this.future=[]}return e.prototype.pushStackElement=function(){null!==this.currentOpenStackElement&&(this.past.push(this.currentOpenStackElement),this.currentOpenStackElement=null)},e.prototype.clear=function(){this.currentOpenStackElement=null,this.past=[],this.future=[]},e.prototype.pushEditOperation=function(e,t,o){this.future=[],this.currentOpenStackElement||(this.currentOpenStackElement={beforeVersionId:this.model.getAlternativeVersionId(),beforeCursorState:e,editOperations:[],afterCursorState:null,afterVersionId:-1});var i={operations:this.model.applyEdits(t)};this.currentOpenStackElement.editOperations.push(i);try{this.currentOpenStackElement.afterCursorState=o?o(i.operations):null}catch(r){n.onUnexpectedError(r),this.currentOpenStackElement.afterCursorState=null}return this.currentOpenStackElement.afterVersionId=this.model.getVersionId(),this.currentOpenStackElement.afterCursorState},e.prototype.undo=function(){if(this.pushStackElement(),this.past.length>0){var e=this.past.pop();try{for(var t=e.editOperations.length-1;t>=0;t--)e.editOperations[t]={operations:this.model.applyEdits(e.editOperations[t].operations)}}catch(n){return this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.redo=function(){if(this.future.length>0){if(this.currentOpenStackElement)throw new Error("How is this possible?");var e=this.future.pop();try{for(var t=0;ti;i++)l=n[i],l.startIndex<=h&&(l.startIndex=h+1,o.onUnexpectedError({message:"Invalid tokens detected",tokens:n})),d.hasOwnProperty(l.type)?s=d[l.type]:(s=c.length,d[l.type]=s,c.push(l.type)),a=l.bracket,0>a&&(a=2),u=a*t.BRACKET_OFFSET+s*t.TYPE_OFFSET+l.startIndex*t.START_INDEX_OFFSET,p[i]=u,h=l.startIndex;return p}function r(e,n){if(0===n)return f;var o=n/t.START_INDEX_OFFSET&t.START_INDEX_MASK,i=n/t.TYPE_OFFSET&t.TYPE_MASK,r=n/t.BRACKET_OFFSET&t.BRACKET_MASK;return 2===r&&(r=-1),new p(o,e._inflate[i],r)}function s(e){return e/t.START_INDEX_OFFSET&t.START_INDEX_MASK}function a(e,o){var i=o/t.TYPE_OFFSET&t.TYPE_MASK;return 0===i?n.empty:e._inflate[i]}function u(e){var n=e/t.BRACKET_OFFSET&t.BRACKET_MASK;return 2===n&&(n=-1),n}function l(e,n){if(0===n.length)return m;if(1===n.length&&0===n[0])return v;var o,i,r,s,a,u,l=new Array(n.length),c=e._inflate;for(o=0,i=n.length;i>o;o++)r=n[o],s=r/t.START_INDEX_OFFSET&t.START_INDEX_MASK,u=r/t.TYPE_OFFSET&t.TYPE_MASK,a=r/t.BRACKET_OFFSET&t.BRACKET_MASK,2===a&&(a=-1),l[o]=new p(s,c[u],a);return l}function c(e,t){return h(e,t)}function d(e,n,o,i,r){if(0===n.length)return m;if(1===n.length&&0===n[0])return v;var s,a,u,l,c,d,f,g=h(n,o),y=[],_=e._inflate;for(u=n[g],d=u/t.TYPE_OFFSET&t.TYPE_MASK,f=u/t.BRACKET_OFFSET&t.BRACKET_MASK,c=0,y.push(new p(c,_[d],f)),s=g+1,a=n.length;a>s&&(u=n[s],l=u/t.START_INDEX_OFFSET&t.START_INDEX_MASK,!(l>=i));s++)d=u/t.TYPE_OFFSET&t.TYPE_MASK,f=u/t.BRACKET_OFFSET&t.BRACKET_MASK,c=l-o+r,y.push(new p(c,_[d],f));return y}function h(e,t){for(var n,o,i=0,r=e.length-1;r>i;)n=i+Math.ceil((r-i)/2),o=4294967295&e[n],o>t?r=n-1:i=n;return i}var p=function(){function e(e,t,n){this.startIndex=e,this.type=t,this.bracket=n}return e.prototype.toString=function(){return"{ "+this.startIndex+", '"+this.type+"', "+this.bracket+"}"},e}();t.START_INDEX_MASK=4294967295,t.TYPE_MASK=65535,t.BRACKET_MASK=255,t.START_INDEX_OFFSET=1,t.TYPE_OFFSET=Math.pow(2,32),t.BRACKET_OFFSET=Math.pow(2,48);var f={startIndex:0,type:"",bracket:0},m=[],g=[],v=[f],y=[0];t.deflateArr=i,t.inflate=r,t.getStartIndex=s,t.getType=a,t.getBracket=u,t.inflateArr=l,t.findIndexOfOffset=c,t.sliceAndInflate=d,t.findIndexInSegmentsArray=h}),define("vs/editor/common/editorCommon",["require","exports","vs/editor/common/model/tokensBinaryEncoding"],function(e,t,n){function o(e){return"indent"===e?i.Indent:"same"===e?i.Same:i.None}!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(t.SelectionDirection||(t.SelectionDirection={}));t.SelectionDirection;!function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent"}(t.WrappingIndent||(t.WrappingIndent={}));var i=t.WrappingIndent;t.wrappingIndentFromString=o,function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(t.OverviewRulerLane||(t.OverviewRulerLane={}));t.OverviewRulerLane;!function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(t.EndOfLinePreference||(t.EndOfLinePreference={}));t.EndOfLinePreference;!function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(t.EndOfLineSequence||(t.EndOfLineSequence={}));t.EndOfLineSequence;t.LineTokensBinaryEncoding=n,function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(t.TrackedRangeStickiness||(t.TrackedRangeStickiness={}));t.TrackedRangeStickiness;!function(e){e[e.Simple=0]="Simple",e[e.Center=1]="Center",e[e.CenterIfOutsideViewport=2]="CenterIfOutsideViewport"}(t.VerticalRevealType||(t.VerticalRevealType={}));t.VerticalRevealType;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET"}(t.MouseTargetType||(t.MouseTargetType={}));t.MouseTargetType;t.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS="editorTextFocus",t.KEYBINDING_CONTEXT_EDITOR_FOCUS="editorFocus",t.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS="editorTabMovesFocus",t.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS="editorHasMultipleSelections",t.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION="editorHasSelection",t.KEYBINDING_CONTEXT_EDITOR_LANGUAGE_ID="editorLangId",t.ViewEventNames={ModelFlushedEvent:"modelFlushedEvent",LinesDeletedEvent:"linesDeletedEvent",LinesInsertedEvent:"linesInsertedEvent",LineChangedEvent:"lineChangedEvent",TokensChangedEvent:"tokensChangedEvent",DecorationsChangedEvent:"decorationsChangedEvent",CursorPositionChangedEvent:"cursorPositionChangedEvent",CursorSelectionChangedEvent:"cursorSelectionChangedEvent",RevealRangeEvent:"revealRangeEvent",LineMappingChangedEvent:"lineMappingChangedEvent"},function(e){e[e.Value=0]="Value",e[e.Selection=1]="Selection",e[e.Position=2]="Position",e[e.Scroll=3]="Scroll"}(t.CodeEditorStateFlag||(t.CodeEditorStateFlag={}));t.CodeEditorStateFlag;t.EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},t.ClassName={EditorWarningDecoration:"greensquiggly",EditorErrorDecoration:"redsquiggly"},t.EventType={Disposed:"disposed",ConfigurationChanged:"configurationChanged",ModelDispose:"modelDispose",ModelChanged:"modelChanged",ModelTokensChanged:"modelTokensChanged",ModelModeChanged:"modelsModeChanged",ModelModeSupportChanged:"modelsModeSupportChanged",ModelContentChanged:"contentChanged",ModelContentChanged2:"contentChanged2",ModelContentChangedFlush:"flush",ModelContentChangedLinesDeleted:"linesDeleted",ModelContentChangedLinesInserted:"linesInserted",ModelContentChangedLineChanged:"lineChanged",EditorTextBlur:"blur",EditorTextFocus:"focus",EditorFocus:"widgetFocus",EditorBlur:"widgetBlur",ModelPropertiesChanged:"propertiesChanged",ModelDecorationsChanged:"decorationsChanged",CursorPositionChanged:"positionChanged",CursorSelectionChanged:"selectionChanged",CursorRevealRange:"revealRange",ViewFocusGained:"focusGained",ViewFocusLost:"focusLost",ViewFocusChanged:"focusChanged",ViewScrollWidthChanged:"scrollWidthChanged",ViewScrollHeightChanged:"scrollHeightChanged",ViewScrollChanged:"scrollChanged",ViewZonesChanged:"zonesChanged",ViewLayoutChanged:"viewLayoutChanged",ContextMenu:"contextMenu",MouseDown:"mousedown",MouseUp:"mouseup",MouseMove:"mousemove",MouseLeave:"mouseleave",KeyDown:"keydown",KeyUp:"keyup",EditorLayout:"editorLayout",DiffUpdated:"diffUpdated"},t.Handler={ExecuteCommand:"executeCommand",ExecuteCommands:"executeCommands",CursorLeft:"cursorLeft",CursorLeftSelect:"cursorLeftSelect",CursorWordLeft:"cursorWordLeft",CursorWordLeftSelect:"cursorWordLeftSelect",CursorRight:"cursorRight",CursorRightSelect:"cursorRightSelect",CursorWordRight:"cursorWordRight",CursorWordRightSelect:"cursorWordRightSelect",CursorUp:"cursorUp",CursorUpSelect:"cursorUpSelect",CursorDown:"cursorDown",CursorDownSelect:"cursorDownSelect",CursorPageUp:"cursorPageUp",CursorPageUpSelect:"cursorPageUpSelect",CursorPageDown:"cursorPageDown",CursorPageDownSelect:"cursorPageDownSelect",CursorHome:"cursorHome",CursorHomeSelect:"cursorHomeSelect",CursorEnd:"cursorEnd",CursorEndSelect:"cursorEndSelect",CursorTop:"cursorTop",CursorTopSelect:"cursorTopSelect",CursorBottom:"cursorBottom",CursorBottomSelect:"cursorBottomSelect",AddCursorDown:"addCursorDown",AddCursorUp:"addCursorUp",CursorUndo:"cursorUndo",MoveTo:"moveTo",MoveToSelect:"moveToSelect",CreateCursor:"createCursor",LastCursorMoveToSelect:"lastCursorMoveToSelect",JumpToBracket:"jumpToBracket",Type:"type",ReplacePreviousChar:"replacePreviousChar",Paste:"paste",Tab:"tab",Indent:"indent",Outdent:"outdent",DeleteLeft:"deleteLeft",DeleteRight:"deleteRight",DeleteWordLeft:"deleteWordLeft",DeleteWordRight:"deleteWordRight",DeleteAllLeft:"deleteAllLeft",DeleteAllRight:"deleteAllRight",Enter:"enter",RemoveSecondaryCursors:"removeSecondaryCursors",CancelSelection:"cancelSelection",Cut:"cut",Undo:"undo",Redo:"redo",WordSelect:"wordSelect",WordSelectDrag:"wordSelectDrag",LastCursorWordSelect:"lastCursorWordSelect",LineSelect:"lineSelect",LineSelectDrag:"lineSelectDrag",LastCursorLineSelect:"lastCursorLineSelect",LastCursorLineSelectDrag:"lastCursorLineSelectDrag",LineInsertBefore:"lineInsertBefore",LineInsertAfter:"lineInsertAfter",LineBreakInsert:"lineBreakInsert",SelectAll:"selectAll"}}),define("vs/editor/browser/controller/mouseTarget",["require","exports","vs/editor/common/editorCommon","vs/editor/browser/editorBrowser","vs/editor/common/core/range","vs/editor/common/core/position"],function(e,t,n,o,i,r){var s=function(){function e(e,t,n,o,r){void 0===n&&(n=null),void 0===o&&(o=null),void 0===r&&(r=null),this.element=e,this.type=t,this.position=n,!o&&n&&(o=new i.Range(n.lineNumber,n.column,n.lineNumber,n.column)),this.range=o,this.detail=r}return e.prototype._typeToString=function(){return this.type===n.MouseTargetType.TEXTAREA?"TEXTAREA":this.type===n.MouseTargetType.GUTTER_GLYPH_MARGIN?"GUTTER_GLYPH_MARGIN":this.type===n.MouseTargetType.GUTTER_LINE_NUMBERS?"GUTTER_LINE_NUMBERS":this.type===n.MouseTargetType.GUTTER_LINE_DECORATIONS?"GUTTER_LINE_DECORATIONS":this.type===n.MouseTargetType.GUTTER_VIEW_ZONE?"GUTTER_VIEW_ZONE":this.type===n.MouseTargetType.CONTENT_TEXT?"CONTENT_TEXT":this.type===n.MouseTargetType.CONTENT_EMPTY?"CONTENT_EMPTY":this.type===n.MouseTargetType.CONTENT_VIEW_ZONE?"CONTENT_VIEW_ZONE":this.type===n.MouseTargetType.CONTENT_WIDGET?"CONTENT_WIDGET":this.type===n.MouseTargetType.OVERVIEW_RULER?"OVERVIEW_RULER":this.type===n.MouseTargetType.SCROLLBAR?"SCROLLBAR":this.type===n.MouseTargetType.OVERLAY_WIDGET?"OVERLAY_WIDGET":"UNKNOWN"},e.prototype.toString=function(){return this._typeToString()+": "+this.position+" - "+this.range+" - "+this.detail},e}(),a=function(){function e(e){return"[^/]*"+e+"[^/]*"}function t(){return"[^/]+"}function n(){for(var e=[],t=0;t=e.top+this.context.configuration.editor.observedOuterHeight&&(s=e.top+this.context.configuration.editor.observedOuterHeight-1);var a=t.posx-document.body.scrollLeft,u=this._actualDoHitTestWithCaretRangeFromPoint(a,s-document.body.scrollTop);return u.position?u:this._actualDoHitTestWithCaretRangeFromPoint(a,t.posy-document.body.scrollTop)},e.prototype._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=null,i=null,r=document.caretRangeFromPoint(e,t),s=r?r.startContainer:null,a=s?s.parentNode:null,u=a?a.parentNode:null,l=u?u.parentNode:null,c=u&&u.nodeType===u.ELEMENT_NODE?u.className:"",d=l&&l.nodeType===l.ELEMENT_NODE?l.className:"";return d===o.ClassNames.VIEW_LINE?n=this.viewHelper.getPositionFromDOMInfo(r.startContainer.parentNode,r.startOffset):c===o.ClassNames.VIEW_LINE?n=this.viewHelper.getPositionFromDOMInfo(r.startContainer,r.startOffset):i=a,{position:n,hitTarget:i}},e.prototype._doHitTestWithCaretPositionFromPoint=function(e){var t=null,n=null,o=e.posx-document.body.scrollLeft-document.documentElement.scrollLeft,i=e.posy-document.body.scrollTop-document.documentElement.scrollTop,r=document.caretPositionFromPoint(o,i),s=document.createRange();return s.setStart(r.offsetNode,r.offset),s.collapse(!0),t=this.viewHelper.getPositionFromDOMInfo(s.startContainer.parentNode,s.startOffset),s.detach(),{position:t,hitTarget:n}},e.prototype._doHitTestWithMoveToPoint=function(e){var t=null,n=null,i=document.body.createTextRange();try{var r=e.posx-document.body.scrollLeft-document.documentElement.scrollLeft,s=e.posy-document.body.scrollTop-document.documentElement.scrollTop;i.moveToPoint(r,s)}catch(a){return{position:null,hitTarget:null}}i.collapse(!0);var u=i?i.parentElement():null,l=u?u.parentNode:null,c=l?l.parentNode:null,d=c&&c.nodeType===c.ELEMENT_NODE?c.className:"";if(d===o.ClassNames.VIEW_LINE){var h=i.duplicate();h.moveToElementText(u),h.setEndPoint("EndToStart",i),t=this.viewHelper.getPositionFromDOMInfo(u,h.text.length),h.moveToElementText(this.viewHelper.viewDomNode)}else n=u;return i.moveToElementText(this.viewHelper.viewDomNode),{position:t,hitTarget:n}},e.prototype._doHitTest=function(e,t,n){return document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t,n):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(t):document.body.createTextRange?this._doHitTestWithMoveToPoint(t):{position:null,hitTarget:null}},e.prototype._getZoneAtCoord=function(e){var t=this.viewHelper.getWhitespaceAtVerticalOffset(e);if(t){var n,o=t.verticalOffset+t.height/2,i=this.context.model.getLineCount(),s=null,a=null;return t.afterLineNumber!==i&&(a=new r.Position(t.afterLineNumber+1,1)),t.afterLineNumber>0&&(s=new r.Position(t.afterLineNumber,this.context.model.getLineMaxColumn(t.afterLineNumber))),n=null===a?s:null===s?a:o>e?s:a,{viewZoneId:t.id,afterLineNumber:t.afterLineNumber,positionBefore:s,positionAfter:a,position:n}}return null},e.prototype._getFullLineRangeAtCoord=function(e){if(this.viewHelper.isAfterLines(e)){var t=this.context.model.getLineCount(),n=this.context.model.getLineMaxColumn(t);return{range:new i.Range(t,n,t,n),isAfterLines:!0}}var t=this.viewHelper.getLineNumberAtVerticalOffset(e),n=this.context.model.getLineMaxColumn(t);return{range:new i.Range(t,1,t,n),isAfterLines:!1}},e.prototype.createMouseTargetFromViewCursor=function(e,t,o){return new s(e,n.MouseTargetType.CONTENT_TEXT,new r.Position(t,o))},e.prototype.createMouseTargetFromViewLines=function(e,t){var o=this.context.model.getLineCount(),i=this.context.model.getLineMaxColumn(o);return new s(e,n.MouseTargetType.CONTENT_EMPTY,new r.Position(o,i))},e.prototype.createMouseTargetFromHitTestPosition=function(e,t,o,a){var u=new r.Position(t,o),l=this.viewHelper.getLineWidth(t);if(a>l)return new s(e,n.MouseTargetType.CONTENT_EMPTY,u);var c=this.viewHelper.visibleRangeForPosition2(t,o);if(!c)return new s(e,n.MouseTargetType.UNKNOWN,u);var d=c.left;if(a===d)return new s(e,n.MouseTargetType.CONTENT_TEXT,u);var h;if(o>1){var p=c.left;if(h=!1,h=h||a>p&&d>a,h=h||a>d&&p>a){var f=new i.Range(t,o,t,o-1);return new s(e,n.MouseTargetType.CONTENT_TEXT,u,f)}}var m=this.context.model.getLineMaxColumn(t);if(m>o){var g=this.viewHelper.visibleRangeForPosition2(t,o+1);if(g){var v=g.left;if(h=!1,h=h||a>d&&v>a,h=h||a>v&&d>a){var f=new i.Range(t,o,t,o+1);return new s(e,n.MouseTargetType.CONTENT_TEXT,u,f)}}}return new s(e,n.MouseTargetType.CONTENT_TEXT,u)},e.prototype.createMouseTargetFromContentWidgetsChild=function(e){var t=this._findAttribute(e,"widgetId",this.viewHelper.viewDomNode);return t?new s(e,n.MouseTargetType.CONTENT_WIDGET,null,null,t):new s(e,n.MouseTargetType.UNKNOWN)},e.prototype.createMouseTargetFromOverlayWidgetsChild=function(e){var t=this._findAttribute(e,"widgetId",this.viewHelper.viewDomNode);return t?new s(e,n.MouseTargetType.OVERLAY_WIDGET,null,null,t):new s(e,n.MouseTargetType.UNKNOWN)},e.prototype.createMouseTargetFromLinesDecorationsChild=function(e,t){var o=this._getZoneAtCoord(t);if(o)return new s(e,n.MouseTargetType.GUTTER_VIEW_ZONE,o.position,null,o);var i=this._getFullLineRangeAtCoord(t);return new s(e,n.MouseTargetType.GUTTER_LINE_DECORATIONS,new r.Position(i.range.startLineNumber,i.range.startColumn),i.range,i.isAfterLines)},e.prototype.createMouseTargetFromLineNumbers=function(e,t){var o=this._getZoneAtCoord(t);if(o)return new s(e,n.MouseTargetType.GUTTER_VIEW_ZONE,o.position,null,o);var i=this._getFullLineRangeAtCoord(t);return new s(e,n.MouseTargetType.GUTTER_LINE_NUMBERS,new r.Position(i.range.startLineNumber,i.range.startColumn),i.range,i.isAfterLines)},e.prototype.createMouseTargetFromGlyphMargin=function(e,t){var o=this._getZoneAtCoord(t);if(o)return new s(e,n.MouseTargetType.GUTTER_VIEW_ZONE,o.position,null,o);var i=this._getFullLineRangeAtCoord(t);return new s(e,n.MouseTargetType.GUTTER_GLYPH_MARGIN,new r.Position(i.range.startLineNumber,i.range.startColumn),i.range,i.isAfterLines)},e.prototype.createMouseTargetFromScrollbar=function(e,t){var o=this.viewHelper.getLineNumberAtVerticalOffset(t),i=this.context.model.getLineMaxColumn(o);return new s(e,n.MouseTargetType.SCROLLBAR,new r.Position(o,i))},e.prototype.createMouseTargetFromUnknownTarget=function(e){var t=this._isChild(e,this.viewHelper.viewDomNode,this.viewHelper.viewDomNode),o=null;return t&&(o=this._findAttribute(e,"widgetId",this.viewHelper.viewDomNode)),o?new s(e,n.MouseTargetType.OVERLAY_WIDGET,null,null,o):new s(e,n.MouseTargetType.UNKNOWN)},e}();t.MouseTargetFactory=u}),define("vs/editor/browser/view/viewController",["require","exports","vs/editor/common/core/position","vs/editor/common/editorCommon"],function(e,t,n,o){var i=function(){function e(e,t,n){this.viewModel=e,this.configuration=t,this.outgoingEventBus=n}return e.prototype.paste=function(e,t,n){this.configuration.handlerDispatcher.trigger(e,o.Handler.Paste,{text:t,pasteOnNewLine:n})},e.prototype.type=function(e,t){this.configuration.handlerDispatcher.trigger(e,o.Handler.Type,{text:t})},e.prototype.replacePreviousChar=function(e,t){this.configuration.handlerDispatcher.trigger(e,o.Handler.ReplacePreviousChar,{text:t})},e.prototype.cut=function(e){this.configuration.handlerDispatcher.trigger(e,o.Handler.Cut,null)},e.prototype._validateViewColumn=function(e,t){var n=this.viewModel.getLineMinColumn(e);return n>t?n:t},e.prototype.moveTo=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.MoveTo,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.moveToSelect=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.MoveToSelect,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.createCursor=function(e,t,i,r){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.CreateCursor,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i),wholeLine:r})},e.prototype.lastCursorMoveToSelect=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.LastCursorMoveToSelect,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.wordSelect=function(e,t,n,i){n=this._validateViewColumn(t,n),this.configuration.handlerDispatcher.trigger(e,o.Handler.WordSelect,{position:this.convertViewToModelPosition(t,n),preference:i})},e.prototype.wordSelectDrag=function(e,t,n,i){n=this._validateViewColumn(t,n),this.configuration.handlerDispatcher.trigger(e,o.Handler.WordSelectDrag,{position:this.convertViewToModelPosition(t,n),preference:i})},e.prototype.lastCursorWordSelect=function(e,t,n,i){n=this._validateViewColumn(t,n),this.configuration.handlerDispatcher.trigger(e,o.Handler.LastCursorWordSelect,{position:this.convertViewToModelPosition(t,n),preference:i})},e.prototype.lineSelect=function(e,t,i){ +i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.LineSelect,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.lineSelectDrag=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.LineSelectDrag,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.lastCursorLineSelect=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.LastCursorLineSelect,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.lastCursorLineSelectDrag=function(e,t,i){i=this._validateViewColumn(t,i),this.configuration.handlerDispatcher.trigger(e,o.Handler.LastCursorLineSelectDrag,{position:this.convertViewToModelPosition(t,i),viewPosition:new n.Position(t,i)})},e.prototype.selectAll=function(e){this.configuration.handlerDispatcher.trigger(e,o.Handler.SelectAll,null)},e.prototype.convertViewToModelPosition=function(e,t){return this.viewModel.convertViewPositionToModelPosition(e,t)},e.prototype.convertViewToModelRange=function(e){return this.viewModel.convertViewRangeToModelRange(e)},e.prototype.convertViewToModelMouseEvent=function(e){e.target&&(e.target.position&&(e.target.position=this.convertViewToModelPosition(e.target.position.lineNumber,e.target.position.column)),e.target.range&&(e.target.range=this.convertViewToModelRange(e.target.range)))},e.prototype.emitKeyDown=function(e){this.outgoingEventBus.emit(o.EventType.KeyDown,e)},e.prototype.emitKeyUp=function(e){this.outgoingEventBus.emit(o.EventType.KeyUp,e)},e.prototype.emitContextMenu=function(e){this.convertViewToModelMouseEvent(e),this.outgoingEventBus.emit(o.EventType.ContextMenu,e)},e.prototype.emitMouseMove=function(e){this.convertViewToModelMouseEvent(e),this.outgoingEventBus.emit(o.EventType.MouseMove,e)},e.prototype.emitMouseLeave=function(e){this.convertViewToModelMouseEvent(e),this.outgoingEventBus.emit(o.EventType.MouseLeave,e)},e.prototype.emitMouseUp=function(e){this.convertViewToModelMouseEvent(e),this.outgoingEventBus.emit(o.EventType.MouseUp,e)},e.prototype.emitMouseDown=function(e){this.convertViewToModelMouseEvent(e),this.outgoingEventBus.emit(o.EventType.MouseDown,e)},e}();t.ViewController=i}),define("vs/editor/browser/viewLayout/scrollManager",["require","exports","vs/base/browser/ui/scrollbar/impl/scrollableElement","vs/base/browser/dom","vs/base/common/lifecycle","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon"],function(e,t,n,o,i,r,s){function a(e,t,n){e.hasOwnProperty(n)&&(t[n]=e[n])}var u=function(){function e(e,t,i,u,l,c){var d=this;this.toDispose=[],this.scrollable=e,this.configuration=t,this.privateViewEventBus=i,this.linesContent=u,this.toDispose.push(this.scrollable.addScrollListener(function(e){d.privateViewEventBus.emit(s.EventType.ViewScrollChanged,e)}));var h=this.configuration.editor.scrollbar,p={scrollable:this.scrollable,listenOnDomNode:l,vertical:h.vertical,horizontal:h.horizontal,className:r.ClassNames.SCROLLABLE_ELEMENT+" "+this.configuration.editor.theme,useShadows:!1,saveLastScrollTimeOnClassName:r.ClassNames.VIEW_LINE};a(h,p,"verticalHasArrows"),a(h,p,"horizontalHasArrows"),a(h,p,"verticalScrollbarSize"),a(h,p,"verticalSliderSize"),a(h,p,"horizontalScrollbarSize"),a(h,p,"horizontalSliderSize"),a(h,p,"handleMouseWheel"),a(h,p,"arrowSize"),a(h,p,"mouseWheelScrollSensitivity"),this.scrollbar=new n.ScrollableElement(u,p,{width:this.configuration.editor.layoutInfo.contentWidth,height:this.configuration.editor.layoutInfo.contentHeight}),this.toDispose.push(this.scrollbar),this.toDispose.push(this.scrollable.addInternalSizeChangeListener(function(){d.scrollbar.onElementInternalDimensions()})),this.toDispose.push(this.configuration.addListener2(s.EventType.ConfigurationChanged,function(e){d.scrollbar.updateClassName(d.configuration.editor.theme),e.scrollbar&&d.scrollbar.updateOptions(d.configuration.editor.scrollbar)}));var f=function(e,t,n){if(t){var o=e.scrollTop;o&&(d.scrollable.setScrollTop(d.scrollable.getScrollTop()+o),e.scrollTop=0)}if(n){var i=e.scrollLeft;i&&(d.scrollable.setScrollLeft(d.scrollable.getScrollLeft()+i),e.scrollLeft=0)}};this.toDispose.push(o.addDisposableListener(l,"scroll",function(e){return f(l,!0,!0)})),this.toDispose.push(o.addDisposableListener(u,"scroll",function(e){return f(u,!0,!1)})),this.toDispose.push(o.addDisposableListener(c,"scroll",function(e){return f(c,!0,!1)}))}return e.prototype.dispose=function(){this.toDispose=i.disposeAll(this.toDispose)},e.prototype.onSizeProviderLayoutChanged=function(){this.scrollbar&&this.scrollbar.onElementDimensions({width:this.configuration.editor.layoutInfo.contentWidth,height:this.configuration.editor.layoutInfo.contentHeight})},e.prototype.getOverviewRulerLayoutInfo=function(){return this.scrollbar?this.scrollbar.getOverviewRulerLayoutInfo():null},e.prototype.getScrollbarContainerDomNode=function(){return this.scrollbar?this.scrollbar.getDomNode():this.linesContent},e.prototype.delegateVerticalScrollbarMouseDown=function(e){this.scrollbar&&this.scrollbar.delegateVerticalScrollbarMouseDown(e)},e}();t.ScrollManager=u}),define("vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl",["require","exports","vs/base/browser/browser","vs/base/browser/dom","vs/editor/common/editorCommon"],function(e,t,n,o,i){function r(e,t){return e.startLineNumber===t.startLineNumber&&e.endLineNumber===t.endLineNumber&&e.forceHeight===t.forceHeight&&e.color===t.color&&e.position===t.position}function s(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0,o=e.length;o>n;n++)if(!r(e[n],t[n]))return!1;return!0}var a=function(){function e(e,t,o,i,r,s,a){this._canvasLeftOffset=e,this._minimumHeight=r,this._maximumHeight=s,this._getVerticalOffsetForLine=a,this._zones=[],this._renderedZones=[],this._useDarkColor=!1,this._domNode=document.createElement("canvas"),this._domNode.className=t,this._domNode.style.position="absolute",n.canUseTranslate3d&&(this._domNode.style.transform="translate3d(0px, 0px, 0px)"),this._width=0,this._height=0,this._outerHeight=o,this._lineHeight=i,this._lanesCount=3}return e.prototype.dispose=function(){this._zones=[]},e.prototype.setLayout=function(e,t){o.StyleMutator.setTop(this._domNode,e.top),o.StyleMutator.setRight(this._domNode,e.right),(this._width!==e.width||this._height!==e.height)&&(this._width=e.width,this._height=e.height,this._domNode.width=this._width,this._domNode.height=this._height,t&&this.render(!0))},e.prototype.getLanesCount=function(){return this._lanesCount},e.prototype.setLanesCount=function(e,t){this._lanesCount=e,t&&this.render(!0)},e.prototype.setUseDarkColor=function(e,t){this._useDarkColor=e,t&&this.render(!0)},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getWidth=function(){return this._width},e.prototype.getHeight=function(){return this._height},e.prototype.setScrollHeight=function(e,t){this._outerHeight=e,t&&this.render(!0)},e.prototype.setLineHeight=function(e,t){this._lineHeight=e,t&&this.render(!0)},e.prototype.setZones=function(e,t){this._zones=e,t&&this.render(!1)},e.prototype._insertZone=function(e,t,n,o,i,r){var s=Math.floor((t+n)/2),a=n-s;a>i/2&&(a=i/2),o/2>a&&(a=o/2),0>s-a&&(s=a),s+a>this._height&&(s=this._height-a),e[r]=e[r]||[],e[r].push({from:s-a,to:s+a})},e.prototype._getColorForZone=function(e){return this._useDarkColor?e.darkColor:e.color},e.prototype._renderVerticalPatch=function(e,t,n,o,i){var r,s,a,u,l,c,d,h={};for(r=0,s=this._zones.length;s>r;r++)if(a=this._zones[r],a.position&n)if(u=this._getVerticalOffsetForLine(a.startLineNumber),l=this._getVerticalOffsetForLine(a.endLineNumber)+this._lineHeight,u*=t,l*=t,a.forceHeight)l=u+a.forceHeight,this._insertZone(h,u,l,a.forceHeight,a.forceHeight,this._getColorForZone(a));else if(c=a.endLineNumber-a.startLineNumber+1,d=c*this._maximumHeight,l-u>d)for(var p=a.startLineNumber;p<=a.endLineNumber;p++)u=this._getVerticalOffsetForLine(p),l=u+this._lineHeight,u*=t,l*=t,this._insertZone(h,u,l,this._minimumHeight,this._maximumHeight,this._getColorForZone(a));else this._insertZone(h,u,l,this._minimumHeight,d,this._getColorForZone(a));var f,m,g,v,y=function(e,t){return e.from-t.from};for(f in h)if(h.hasOwnProperty(f)){for(m=h[f],m.sort(y),g=m[0].from,v=m[0].to,e.fillStyle=f,r=1,s=m.length;s>r;r++)v>=m[r].from?v=Math.max(v,m[r].to):(e.fillRect(o,g,i,v-g),g=m[r].from,v=m[r].to);e.fillRect(o,g,i,v-g)}},e.prototype.render=function(t){if(0===this._outerHeight)return!1;if(!e.hasCanvas)return!1;var n=t||!s(this._renderedZones,this._zones);if(n){var o=this._height/this._outerHeight,i=this._domNode.getContext("2d");i.clearRect(0,0,this._width,this._height);var r=this._width-this._canvasLeftOffset;this._lanesCount>=3?this._renderThreeLanes(i,o,r):2===this._lanesCount?this._renderTwoLanes(i,o,r):1===this._lanesCount&&this._renderOneLane(i,o,r)}return this._renderedZones=this._zones,n},e.prototype._renderOneLane=function(e,t,n){this._renderVerticalPatch(e,t,i.OverviewRulerLane.Left|i.OverviewRulerLane.Center|i.OverviewRulerLane.Right,this._canvasLeftOffset,n)},e.prototype._renderTwoLanes=function(e,t,n){var o=Math.floor(n/2),r=n-o,s=this._canvasLeftOffset,a=this._canvasLeftOffset+o;this._renderVerticalPatch(e,t,i.OverviewRulerLane.Left|i.OverviewRulerLane.Center,s,o),this._renderVerticalPatch(e,t,i.OverviewRulerLane.Right,a,r)},e.prototype._renderThreeLanes=function(e,t,n){var o=Math.floor(n/3),r=Math.floor(n/3),s=n-o-r,a=this._canvasLeftOffset,u=this._canvasLeftOffset+o,l=this._canvasLeftOffset+o+s;this._renderVerticalPatch(e,t,i.OverviewRulerLane.Left,a,o),this._renderVerticalPatch(e,t,i.OverviewRulerLane.Center,u,s),this._renderVerticalPatch(e,t,i.OverviewRulerLane.Right,l,r)},e.hasCanvas=-1===window.navigator.userAgent.indexOf("MSIE 8"),e}();t.OverviewRulerImpl=a}),define("vs/editor/common/core/editorState",["require","exports","vs/base/common/strings","vs/editor/common/editorCommon"],function(e,t,n,o){var i=function(){function e(e,t){var i=this;this.flags=t,t.forEach(function(t){switch(t){case o.CodeEditorStateFlag.Value:var r=e.getModel();i.modelVersionId=r?n.format("{0}#{1}",r.getAssociatedResource().toString(),r.getVersionId()):null;break;case o.CodeEditorStateFlag.Position:i.position=e.getPosition();break;case o.CodeEditorStateFlag.Selection:i.selection=e.getSelection();break;case o.CodeEditorStateFlag.Scroll:i.scrollLeft=e.getScrollLeft(),i.scrollTop=e.getScrollTop()}})}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId!==n.modelVersionId?!1:this.scrollLeft!==n.scrollLeft||this.scrollTop!==n.scrollTop?!1:!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position)?!1:!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection)?!1:!0},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}();t.EditorState=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/core/selection",["require","exports","vs/editor/common/core/range","vs/editor/common/editorCommon"],function(e,t,n,o){var i=function(e){function t(t,n,o,i){this.selectionStartLineNumber=t,this.selectionStartColumn=n,this.positionLineNumber=o,this.positionColumn=i,e.call(this,t,n,o,i)}return __extends(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?o.SelectionDirection.LTR:o.SelectionDirection.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===o.SelectionDirection.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===o.SelectionDirection.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.createSelection=function(e,n,o,i){return new t(e,n,o,i)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,o=e.length;o>n;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0},t.isISelection=function(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn},t.createWithDirection=function(e,n,i,r,s){return s===o.SelectionDirection.LTR?new t(e,n,i,r):new t(i,r,e,n)},t}(n.Range);t.Selection=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/commands/replaceCommand",["require","exports","vs/editor/common/core/selection"],function(e,t,n){var o=function(){function e(e,t){this._range=e,this._text=t}return e.prototype.getText=function(){return this._text},e.prototype.getRange=function(){return this._range},e.prototype.setRange=function(e){this._range=e},e.prototype.getEditOperations=function(e,t){t.addEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),i=o[0].range;return new n.Selection(i.endLineNumber,i.endColumn,i.endLineNumber,i.endColumn)},e}();t.ReplaceCommand=o;var i=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),t.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),i=o[0].range;return new n.Selection(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn)},t}(o);t.ReplaceCommandWithoutChangingPosition=i;var r=function(e){function t(t,n,o,i){e.call(this,t,n),this._columnDeltaOffset=i,this._lineNumberDeltaOffset=o}return __extends(t,e),t.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),i=o[0].range;return new n.Selection(i.endLineNumber+this._lineNumberDeltaOffset,i.endColumn+this._columnDeltaOffset,i.endLineNumber+this._lineNumberDeltaOffset,i.endColumn+this._columnDeltaOffset)},t}(o);t.ReplaceCommandWithOffsetCursorState=r;var s=function(e){function t(t,n,o){e.call(this,t,n),this._initialSelection=o}return __extends(t,e),t.prototype.getEditOperations=function(t,n){e.prototype.getEditOperations.call(this,t,n),this._selectionId=n.trackSelection(this._initialSelection)},t.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._selectionId)},t}(o);t.ReplaceCommandThatPreservesSelection=s}),define("vs/editor/common/commands/shiftCommand",["require","exports","vs/base/common/strings","vs/editor/common/core/range","vs/editor/common/core/selection","vs/editor/common/controller/cursorMoveHelper"],function(e,t,n,o,i,r){var s=function(){function e(e,t){this._opts=t,this._selection=e,this._useLastEditRangeForCursorEndPosition=!1}return e.unshiftIndentCount=function(e,t,n){var o=r.CursorMoveHelper.visibleColumnFromColumn2(e,t,n),i=r.CursorMoveHelper.prevTabColumn(o,n);return i/n},e.shiftIndentCount=function(e,t,n){var o=r.CursorMoveHelper.visibleColumnFromColumn2(e,t,n),i=r.CursorMoveHelper.nextTabColumn(o,n);return i/n},e.prototype.getEditOperations=function(t,i){var r=this._selection.startLineNumber,s=this._selection.endLineNumber;1===this._selection.endColumn&&r!==s&&(s-=1);var a,u=this._opts.tabSize,l=this._opts.oneIndent,c=["",l];for(this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(r))&&(this._useLastEditRangeForCursorEndPosition=!0),a=r;s>=a;a++){var d=t.getLineContent(a),h=n.firstNonWhitespaceIndex(d);if(!this._opts.isUnshift||0!==d.length&&0!==h){-1===h&&(h=d.length);var p;p=this._opts.isUnshift?e.unshiftIndentCount(d,h+1,u):e.shiftIndentCount(d,h+1,u);for(var f=c.length;p>=f;f++)c[f]=c[f-1]+l;i.addEditOperation(new o.Range(a,1,a,h+1),c[p])}}this._selectionId=i.trackSelection(this._selection)},e.prototype.computeCursorState=function(e,t){if(this._useLastEditRangeForCursorEndPosition){var n=t.getInverseEditOperations()[0];return new i.Selection(n.range.endLineNumber,n.range.endColumn,n.range.endLineNumber,n.range.endColumn)}return t.getTrackedSelection(this._selectionId)},e}();t.ShiftCommand=s}),define("vs/editor/common/commands/surroundSelectionCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/selection"],function(e,t,n,o){var i=function(){function e(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}return e.prototype.getEditOperations=function(e,t){t.addEditOperation(new n.Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addEditOperation(new n.Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),i=n[0].range,r=n[1].range;return new o.Selection(i.endLineNumber,i.endColumn,r.endLineNumber,r.endColumn-this._charAfterSelection.length)},e}();t.SurroundSelectionCommand=i}),define("vs/editor/common/controller/oneCursor",["require","exports","vs/base/common/strings","vs/editor/common/core/position","vs/editor/common/core/range","vs/editor/common/commands/shiftCommand","vs/editor/common/commands/replaceCommand","vs/editor/common/commands/surroundSelectionCommand","vs/editor/common/core/selection","vs/editor/common/modes","vs/editor/common/controller/cursorMoveHelper","vs/editor/common/editorCommon","vs/base/common/errors"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p=function(){function e(e,t,n,r,s){this.editorId=e,this.model=t,this.configuration=n,this.modeConfiguration=r,this.viewModelHelper=s,this.helper=new m(this.model,this.configuration),this.bracketDecorations=[],this._set(new i.Range(1,1,1,1),0,new o.Position(1,1),0,new i.Range(1,1,1,1),new o.Position(1,1))}return e.prototype._set=function(t,n,o,i,r,s){this.selectionStart=t,this.selectionStartLeftoverVisibleColumns=n,this.position=o,this.leftoverVisibleColumns=i,this.viewSelectionStart=r,this.viewPosition=s,this._cachedSelection=e.computeSelection(this.selectionStart,this.position),this._cachedViewSelection=e.computeSelection(this.viewSelectionStart,this.viewPosition),this._selStartMarker=this._ensureMarker(this._selStartMarker,this._cachedSelection.startLineNumber,this._cachedSelection.startColumn,!0),this._selEndMarker=this._ensureMarker(this._selEndMarker,this._cachedSelection.endLineNumber,this._cachedSelection.endColumn,!1),this._selDirection=this._cachedSelection.getDirection()},e.prototype._ensureMarker=function(e,t,n,o){return e?(this.model._changeMarker(e,t,n),this.model._changeMarkerStickiness(e,o),e):this.model._addMarker(t,n,o)},e.prototype.saveState=function(){return{selectionStart:this.selectionStart,viewSelectionStart:this.viewSelectionStart,position:this.position,viewPosition:this.viewPosition,leftoverVisibleColumns:this.leftoverVisibleColumns,selectionStartLeftoverVisibleColumns:this.selectionStartLeftoverVisibleColumns}},e.prototype.restoreState=function(e){var t,n=this.model.validatePosition(e.position);t=e.selectionStart?this.model.validateRange(e.selectionStart):new i.Range(n.lineNumber,n.column,n.lineNumber,n.column);var o,r=this.viewModelHelper.validateViewPosition(e.viewPosition.lineNumber,e.viewPosition.column,n);o=e.viewSelectionStart?this.viewModelHelper.validateViewRange(e.viewSelectionStart.startLineNumber,e.viewSelectionStart.startColumn,e.viewSelectionStart.endLineNumber,e.viewSelectionStart.endColumn,t):this.viewModelHelper.convertModelRangeToViewRange(t),this._set(t,e.selectionStartLeftoverVisibleColumns,n,e.leftoverVisibleColumns,o,r)},e.prototype.updateModeConfiguration=function(e){this.modeConfiguration=e},e.prototype.duplicate=function(){var t=new e(this.editorId,this.model,this.configuration,this.modeConfiguration,this.viewModelHelper);return t._set(this.selectionStart,this.selectionStartLeftoverVisibleColumns,this.position,this.leftoverVisibleColumns,this.viewSelectionStart,this.viewPosition),t},e.prototype.dispose=function(){this.model._removeMarker(this._selStartMarker),this.model._removeMarker(this._selEndMarker),this.bracketDecorations=this.model.deltaDecorations(this.bracketDecorations,[],this.editorId)},e.prototype.adjustBracketDecorations=function(){var e=null,t=this.getSelection();t.isEmpty()&&(e=this.model.matchBracket(this.position,!0));var n=[];if(e&&e.brackets){var o={stickiness:d.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:"bracket-match"};n.push({range:e.brackets[0],options:o}),n.push({range:e.brackets[1],options:o})}this.bracketDecorations=this.model.deltaDecorations(this.bracketDecorations,n,this.editorId)},e.computeSelection=function(e,t){var n,o,i,r;return e.isEmpty()?(n=e.startLineNumber,o=e.startColumn,i=t.lineNumber,r=t.column):t.isBeforeOrEqual(e.getStartPosition())?(n=e.endLineNumber,o=e.endColumn,i=t.lineNumber,r=t.column):(n=e.startLineNumber,o=e.startColumn,i=t.lineNumber,r=t.column),new u.Selection(n,o,i,r)},e.prototype.setSelection=function(e){var t=this.model.validatePosition({lineNumber:e.positionLineNumber,column:e.positionColumn}),n=this.model.validatePosition({lineNumber:e.selectionStartLineNumber,column:e.selectionStartColumn}),o=new i.Range(n.lineNumber,n.column,n.lineNumber,n.column),r=this.viewModelHelper.convertModelPositionToViewPosition(t.lineNumber,t.column),s=this.viewModelHelper.convertModelRangeToViewRange(o);this._set(o,0,t,0,s,r)},e.prototype.setSelectionStart=function(e,t){this._set(e,this.selectionStartLeftoverVisibleColumns,this.position,this.leftoverVisibleColumns,t,this.viewPosition)},e.prototype.collapseSelection=function(){var e=new i.Range(this.position.lineNumber,this.position.column,this.position.lineNumber,this.position.column),t=new i.Range(this.viewPosition.lineNumber,this.viewPosition.column,this.viewPosition.lineNumber,this.viewPosition.column);this._set(e,0,this.position,this.leftoverVisibleColumns,t,this.viewPosition)},e.prototype.moveModelPosition=function(e,t,n,o,i){var r=this.viewModelHelper.convertModelPositionToViewPosition(t,n);this._move(e,t,n,r.lineNumber,r.column,o,i)},e.prototype.moveViewPosition=function(e,t,n,o,i){var r=this.viewModelHelper.convertViewToModelPosition(t,n);this._move(e,r.lineNumber,r.column,t,n,o,i)},e.prototype._move=function(e,t,n,i,r,s,a){if(a){var u=this.model.getEditableRange();if(tu.endLineNumber||t===u.endLineNumber&&n>u.endColumn){t=u.endLineNumber,n=u.endColumn;var l=this.viewModelHelper.convertModelPositionToViewPosition(t,n);i=l.lineNumber,r=l.column}}this._actualMove(e,new o.Position(t,n),new o.Position(i,r),s)},e.prototype._actualMove=function(e,t,n,o){if(e)this._set(this.selectionStart,this.selectionStartLeftoverVisibleColumns,t,o,this.viewSelectionStart,n);else{var r=new i.Range(t.lineNumber,t.column,t.lineNumber,t.column),s=new i.Range(n.lineNumber,n.column,n.lineNumber,n.column);this._set(r,o,t,o,s,n)}},e.prototype._recoverSelectionFromMarkers=function(){var e=this.model._getMarker(this._selStartMarker),t=this.model._getMarker(this._selEndMarker);return this._selDirection===d.SelectionDirection.LTR?new u.Selection(e.lineNumber,e.column,t.lineNumber,t.column):new u.Selection(t.lineNumber,t.column,e.lineNumber,e.column)},e.prototype.recoverSelectionFromMarkers=function(e){e.cursorPositionChangeReason="recoverFromMarkers",e.shouldPushStackElementBefore=!0,e.shouldPushStackElementAfter=!0,e.shouldReveal=!1,e.shouldRevealHorizontal=!1;var t=this._recoverSelectionFromMarkers(),n=new i.Range(t.selectionStartLineNumber,t.selectionStartColumn,t.selectionStartLineNumber,t.selectionStartColumn),r=new o.Position(t.positionLineNumber,t.positionColumn),s=this.viewModelHelper.convertModelRangeToViewRange(n),a=this.viewModelHelper.convertViewToModelPosition(r.lineNumber,r.column);return this._set(n,0,r,0,s,a),!0},e.prototype.getSelectionStart=function(){return this.selectionStart},e.prototype.getPosition=function(){return this.position},e.prototype.getSelection=function(){return this._cachedSelection},e.prototype.getViewPosition=function(){return this.viewPosition},e.prototype.getViewSelection=function(){return this._cachedViewSelection},e.prototype.getValidViewPosition=function(){return this.viewModelHelper.validateViewPosition(this.viewPosition.lineNumber,this.viewPosition.column,this.position)},e.prototype.hasSelection=function(){return!this.getSelection().isEmpty()||!this.selectionStart.isEmpty()},e.prototype.getBracketsDecorations=function(){return this.bracketDecorations},e.prototype.getLeftoverVisibleColumns=function(){return this.leftoverVisibleColumns},e.prototype.getSelectionStartLeftoverVisibleColumns=function(){return this.selectionStartLeftoverVisibleColumns},e.prototype.setSelectionStartLeftoverVisibleColumns=function(e){this.selectionStartLeftoverVisibleColumns=e},e.prototype.validatePosition=function(e){return this.model.validatePosition(e)},e.prototype.validateViewPosition=function(e,t,n){return this.viewModelHelper.validateViewPosition(e,t,n)},e.prototype.convertViewToModelPosition=function(e,t){return this.viewModelHelper.convertViewToModelPosition(e,t)},e.prototype.convertModelPositionToViewPosition=function(e,t){return this.viewModelHelper.convertModelPositionToViewPosition(e,t)},e.prototype.findWord=function(e,t,n){return this.helper.findWord(e,t,n)},e.prototype.getLeftOfPosition=function(e,t){return this.helper.getLeftOfPosition(this.model,e,t)},e.prototype.getRightOfPosition=function(e,t){return this.helper.getRightOfPosition(this.model,e,t)},e.prototype.getPositionUp=function(e,t,n,o){return this.helper.getPositionUp(this.model,e,t,n,o)},e.prototype.getPositionDown=function(e,t,n,o){return this.helper.getPositionDown(this.model,e,t,n,o)},e.prototype.getColumnAtBeginningOfLine=function(e,t){return this.helper.getColumnAtBeginningOfLine(this.model,e,t)},e.prototype.getColumnAtEndOfLine=function(e,t){return this.helper.getColumnAtEndOfLine(this.model,e,t)},e.prototype.getViewLineMaxColumn=function(e){return this.viewModelHelper.viewModel.getLineMaxColumn(e)},e.prototype.getLeftOfViewPosition=function(e,t){return this.helper.getLeftOfPosition(this.viewModelHelper.viewModel,e,t)},e.prototype.getRightOfViewPosition=function(e,t){return this.helper.getRightOfPosition(this.viewModelHelper.viewModel,e,t)},e.prototype.getViewPositionUp=function(e,t,n,o){return this.helper.getPositionUp(this.viewModelHelper.viewModel,e,t,n,o)},e.prototype.getViewPositionDown=function(e,t,n,o){return this.helper.getPositionDown(this.viewModelHelper.viewModel,e,t,n,o)},e.prototype.getColumnAtBeginningOfViewLine=function(e,t){return this.helper.getColumnAtBeginningOfLine(this.viewModelHelper.viewModel,e,t)},e.prototype.getColumnAtEndOfViewLine=function(e,t){return this.helper.getColumnAtEndOfLine(this.viewModelHelper.viewModel,e,t)},e}();t.OneCursor=p;var f=function(){function e(){}return e.jumpToBracket=function(e,t){var n=e.getBracketsDecorations(),o=n.length;if(2!==o)return!1;for(var i=e.getPosition(),r=0;2>r;r++){var s=e.model.getDecorationRange(n[r]),a=e.model.getDecorationRange(n[1-r]);if(g.isPositionAtRangeEdges(i,s)||g.isPositionInsideRange(i,s))return e.moveModelPosition(!1,a.startLineNumber,a.startColumn,0,!1),!0}return!1},e.moveTo=function(e,t,n,o,i,r){var s,a=e.model.validatePosition(n);s=o?e.validateViewPosition(o.lineNumber,o.column,a):e.convertModelPositionToViewPosition(a.lineNumber,a.column);var u="mouse"===i?"explicit":null;return"api"===i&&(r.shouldRevealVerticalInCenter=!0),u&&(r.cursorPositionChangeReason=u),e.moveViewPosition(t,s.lineNumber,s.column,0,!1),!0},e.moveLeft=function(e,t,n){var o,i;if(e.hasSelection()&&!t){var r=e.getViewSelection(),s=e.validateViewPosition(r.startLineNumber,r.startColumn,e.getSelection().getStartPosition());o=s.lineNumber,i=s.column}else{var a=e.getValidViewPosition(),u=e.getLeftOfViewPosition(a.lineNumber,a.column);o=u.lineNumber,i=u.column}return n.cursorPositionChangeReason="explicit",e.moveViewPosition(t,o,i,0,!0),!0},e.moveWordLeft=function(e,t,n){var i=e.getPosition(),r=i.lineNumber,s=i.column,a=!1;1===s&&r>1&&(a=!0,r-=1,s=e.model.getLineMaxColumn(r));var u=e.findWord(new o.Position(r,s),"left",!0);return s=u?u.start+1:1,n.cursorPositionChangeReason="explicit",e.moveModelPosition(t,r,s,0,!0),!0},e.moveRight=function(e,t,n){var o,i;if(e.hasSelection()&&!t){var r=e.getViewSelection(),s=e.validateViewPosition(r.endLineNumber,r.endColumn,e.getSelection().getEndPosition());o=s.lineNumber,i=s.column}else{var a=e.getValidViewPosition(),u=e.getRightOfViewPosition(a.lineNumber,a.column);o=u.lineNumber,i=u.column}return n.cursorPositionChangeReason="explicit",e.moveViewPosition(t,o,i,0,!0),!0},e.moveWordRight=function(e,t,n){var i=e.getPosition(),r=i.lineNumber,s=i.column,a=!1;s===e.model.getLineMaxColumn(r)&&r=s&&(s=1),a>=h&&(a=h)}var p=new i.Range(c.lineNumber,s,c.lineNumber,a),f=e.convertModelPositionToViewPosition(c.lineNumber,s),m=e.convertModelPositionToViewPosition(c.lineNumber,a);e.setSelectionStart(p,new i.Range(f.lineNumber,f.column,m.lineNumber,m.column)),u=p.endLineNumber,l=p.endColumn}return r.cursorPositionChangeReason="explicit",e.moveModelPosition(e.hasSelection(),u,l,0,!1),!0},e.cancelSelection=function(e,t){return e.hasSelection()?(e.collapseSelection(),!0):!1},e._typeInterceptorEnter=function(e,t,n){return"\n"!==t?!1:this._enter(e,!1,n)},e.lineInsertBefore=function(e,t){var n=e.getPosition().lineNumber;if(1===n)return t.executeCommand=new s.ReplaceCommandWithoutChangingPosition(new i.Range(1,1,1,1),"\n"),!0;n--;var r=e.model.getLineMaxColumn(n);return this._enter(e,!1,t,new o.Position(n,r),new i.Range(n,r,n,r))},e.lineInsertAfter=function(e,t){var n=e.getPosition(),r=e.model.getLineMaxColumn(n.lineNumber);return this._enter(e,!1,t,new o.Position(n.lineNumber,r),new i.Range(n.lineNumber,r,n.lineNumber,r))},e.lineBreakInsert=function(e,t){return this._enter(e,!0,t)},e._getEnterActionAtPosition=function(e,t,i){var r,s=e.getLineContent(t),a=e.getLineContext(t);if(e.getMode().onEnterSupport)try{r=e.getMode().onEnterSupport.onEnter(e,new o.Position(t,i))}catch(u){h.onUnexpectedError(u)}if(!r&&e.getMode().electricCharacterSupport)try{r=e.getMode().electricCharacterSupport.onEnter(a,i-1)}catch(u){h.onUnexpectedError(u)}var c=n.getLeadingWhitespace(s);return c.length>i-1&&(c=c.substring(0,i-1)),r?r.appendText||(r.indentAction===l.IndentAction.Indent||r.indentAction===l.IndentAction.IndentOutdent?r.appendText=" ":r.appendText=""):r={indentAction:l.IndentAction.None,appendText:""},r.removeText&&(c=c.substring(0,c.length-1)),{enterAction:r,indentation:c}},e._enter=function(e,t,n,o,i){"undefined"==typeof o&&(o=e.getPosition()),"undefined"==typeof i&&(i=e.getSelection()),n.shouldPushStackElementBefore=!0;var a=this._getEnterActionAtPosition(e.model,o.lineNumber,o.column),u=a.enterAction,c=a.indentation;if(u.indentAction===l.IndentAction.None)this.actualType(e,"\n"+e.configuration.normalizeIndentation(c+u.appendText),t,n,i);else if(u.indentAction===l.IndentAction.Indent)this.actualType(e,"\n"+e.configuration.normalizeIndentation(c+u.appendText),t,n,i);else if(u.indentAction===l.IndentAction.IndentOutdent){var d=e.configuration.normalizeIndentation(c),h=e.configuration.normalizeIndentation(c+u.appendText),p="\n"+h+"\n"+d;t?n.executeCommand=new s.ReplaceCommandWithoutChangingPosition(i,p):n.executeCommand=new s.ReplaceCommandWithOffsetCursorState(i,p,-1,h.length-d.length)}else if(u.indentAction===l.IndentAction.Outdent){for(var f=r.ShiftCommand.unshiftIndentCount(c,c.length+1,e.configuration.getIndentationOptions().tabSize),m="",g=0;f>g;g++)m+=" ";this.actualType(e,"\n"+e.configuration.normalizeIndentation(m+u.appendText),t,n,i)}return!0},e._typeInterceptorAutoClosingCloseChar=function(e,t,n){if(!e.configuration.editor.autoClosingBrackets)return!1;var o=e.getSelection();if(!o.isEmpty()||!e.modeConfiguration.autoClosingPairsClose.hasOwnProperty(t))return!1;var r=e.getPosition(),a=e.model.getLineContent(r.lineNumber),u=a[r.column-1];if(u!==t)return!1;var l=new i.Range(r.lineNumber,r.column,r.lineNumber,r.column+1);return n.executeCommand=new s.ReplaceCommand(l,t),!0},e._typeInterceptorAutoClosingOpenChar=function(e,t,n){if(!e.configuration.editor.autoClosingBrackets)return!1;var o=e.getSelection();if(!o.isEmpty()||!e.modeConfiguration.autoClosingPairsOpen.hasOwnProperty(t))return!1;if(!e.model.getMode().characterPairSupport)return!1;var i=e.getPosition(),r=e.model.getLineContent(i.lineNumber),a=r[i.column-1];if(a){var u=!1;for(var l in e.modeConfiguration.autoClosingPairsClose)if(a===l){u=!0;break}if(!u&&!/\s/.test(a))return!1}var c=e.model.getLineContext(i.lineNumber),d=!1;try{d=e.model.getMode().characterPairSupport.shouldAutoClosePair(t,c,i.column-1)}catch(p){h.onUnexpectedError(p)}if(!d)return!1;n.shouldPushStackElementBefore=!0;var f=e.modeConfiguration.autoClosingPairsOpen[t];return n.executeCommand=new s.ReplaceCommandWithOffsetCursorState(o,t+f,0,-f.length),!0},e._typeInterceptorSurroundSelection=function(e,t,n){if(!e.configuration.editor.autoClosingBrackets)return!1;var o=e.getSelection();if(o.isEmpty()||!e.modeConfiguration.surroundingPairs.hasOwnProperty(t))return!1;var i,r,s,u,l,c,d=!0,h=" ".charCodeAt(0),p=" ".charCodeAt(0);for(i=o.startLineNumber;i<=o.endLineNumber;i++)for(c=e.model.getLineContent(i),r=i===o.startLineNumber?o.startColumn-1:0,s=i===o.endLineNumber?o.endColumn-1:c.length,u=r;s>u;u++)l=c.charCodeAt(u),l!==h&&l!==p&&(d=!1,i=o.endLineNumber+1,u=s);if(d)return!1;var f=e.modeConfiguration.surroundingPairs[t];return n.shouldPushStackElementBefore=!0,n.shouldPushStackElementAfter=!0,n.executeCommand=new a.SurroundSelectionCommand(o,t,f),!0},e._typeInterceptorElectricChar=function(e,t,n){var o=this;return e.modeConfiguration.electricChars.hasOwnProperty(t)?(n.postOperationRunnable=function(t){return o._typeInterceptorElectricCharRunnable(e,t)},this.actualType(e,t,!1,n)):!1},e._typeInterceptorElectricCharRunnable=function(e,t){var o,r=e.getPosition(),a=e.model.getLineContent(r.lineNumber),u=e.model.getLineContext(r.lineNumber);if(e.model.getMode().electricCharacterSupport)try{o=e.model.getMode().electricCharacterSupport.onElectricCharacter(u,r.column-2)}catch(l){h.onUnexpectedError(l)}if(o){var c=o.matchBracketType,d=o.appendText;if(c){var p=null;if(c&&(p=e.model.findMatchingBracketUp(c,r)),p){var f=p.startLineNumber,m=e.model.getLineContent(f),g=n.getLeadingWhitespace(m),v=e.configuration.normalizeIndentation(g),y=e.model.getLineFirstNonWhitespaceColumn(r.lineNumber)||r.column,_=a.substring(0,y-1);if(_!==v){var b=a.substring(y-1,r.column-1),C=v+b,w=new i.Range(r.lineNumber,1,r.lineNumber,r.column);t.shouldPushStackElementAfter=!0,t.executeCommand=new s.ReplaceCommand(w,C)}}}else if(d){var E=-d.length;o.advanceCount&&(E+=o.advanceCount),t.shouldPushStackElementAfter=!0,t.executeCommand=new s.ReplaceCommandWithOffsetCursorState(e.getSelection(),d,0,E)}}},e.actualType=function(e,t,n,o,i){return"undefined"==typeof i&&(i=e.getSelection()),n?o.executeCommand=new s.ReplaceCommandWithoutChangingPosition(i,t):o.executeCommand=new s.ReplaceCommand(i,t),!0},e.type=function(e,t,n){return this._typeInterceptorEnter(e,t,n)?!0:this._typeInterceptorAutoClosingCloseChar(e,t,n)?!0:this._typeInterceptorAutoClosingOpenChar(e,t,n)?!0:this._typeInterceptorSurroundSelection(e,t,n)?!0:this._typeInterceptorElectricChar(e,t,n)?!0:this.actualType(e,t,!1,n)},e.replacePreviousChar=function(e,t,n){var o,r=e.getPosition();return o=r.column>1?new i.Range(r.lineNumber,r.column-1,r.lineNumber,r.column):new i.Range(r.lineNumber,r.column,r.lineNumber,r.column),n.executeCommand=new s.ReplaceCommand(o,t),!0},e._goodIndentForLine=function(e,t){var o=t-1;for(o=t-1;o>=1;o--){var i=e.model.getLineContent(o),s=n.lastNonWhitespaceIndex(i);if(s>=0)break}if(1>o)return" ";var a,u=this._getEnterActionAtPosition(e.model,o,e.model.getLineMaxColumn(o));if(u.enterAction.indentAction===l.IndentAction.Outdent){var c=r.ShiftCommand.unshiftIndentCount(u.indentation,u.indentation.length,e.configuration.getIndentationOptions().tabSize);a="";for(var d=0;c>d;d++)a+=" ";a=e.configuration.normalizeIndentation(a)}else a=u.indentation;var h=a+u.enterAction.appendText;return 0===h.length?" ":h},e.tab=function(e,t){var n=e.getSelection();if(n.isEmpty()){var o="";if(1===e.model.getLineMaxColumn(n.startLineNumber))o=e.configuration.normalizeIndentation(this._goodIndentForLine(e,n.startLineNumber));else{var i=e.getPosition();if(e.configuration.getIndentationOptions().insertSpaces)for(var r=c.CursorMoveHelper.nextTabColumn(i.column-1,e.configuration.getIndentationOptions().tabSize),a=i.column;r>=a;a++)o+=" ";else o=" "}return t.executeCommand=new s.ReplaceCommand(n,o),!0}return this.indent(e,t)},e.indent=function(e,t){var n=e.getSelection();return t.shouldPushStackElementBefore=!0,t.shouldPushStackElementAfter=!0,t.executeCommand=new r.ShiftCommand(n,{isUnshift:!1,tabSize:e.configuration.getIndentationOptions().tabSize,oneIndent:e.configuration.getOneIndent()}),t.shouldRevealHorizontal=!1,!0},e.outdent=function(e,t){var n=e.getSelection();return t.shouldPushStackElementBefore=!0,t.shouldPushStackElementAfter=!0,t.executeCommand=new r.ShiftCommand(n,{isUnshift:!0,tabSize:e.configuration.getIndentationOptions().tabSize,oneIndent:e.configuration.getOneIndent()}),t.shouldRevealHorizontal=!1,!0},e.paste=function(e,t,n,o){var r=e.getPosition();if(o.cursorPositionChangeReason="paste",n&&"\n"===t.charAt(t.length-1)&&t.indexOf("\n")===t.length-1){var a=new i.Range(r.lineNumber,1,r.lineNumber,1);return o.executeCommand=new s.ReplaceCommand(a,t),!0}return o.executeCommand=new s.ReplaceCommand(e.getSelection(),t),!0},e._autoClosingPairDelete=function(e,t){if(!e.configuration.editor.autoClosingBrackets)return!1;var n=e.getPosition(),o=e.model.getLineContent(n.lineNumber),r=o[n.column-2];if(!e.modeConfiguration.autoClosingPairsOpen.hasOwnProperty(r))return!1;var a=o[n.column-1],u=e.modeConfiguration.autoClosingPairsOpen[r];if(a!==u)return!1;var l=new i.Range(n.lineNumber,n.column-1,n.lineNumber,n.column+1);return t.executeCommand=new s.ReplaceCommand(l,""),!0},e.deleteLeft=function(e,t){if(this._autoClosingPairDelete(e,t))return!0;var n=e.getSelection();if(n.isEmpty()){var o=e.getPosition(),r=e.getLeftOfPosition(o.lineNumber,o.column);n=new i.Range(r.lineNumber,r.column,o.lineNumber,o.column)}return n.isEmpty()?!0:(n.startLineNumber!==n.endLineNumber&&(t.shouldPushStackElementBefore=!0),t.executeCommand=new s.ReplaceCommand(n,""),!0)},e.deleteWordLeft=function(e,t){if(this._autoClosingPairDelete(e,t))return!0;var n=e.getSelection();if(n.isEmpty()){var o=e.getPosition(),r=o.lineNumber,a=o.column;if(1===r&&1===a)return!0;var u=e.findWord(o,"left",!0);a=u?u.end+1u?d.start+1:d.end+1:c;var h=new i.Range(a,u,a,r.column);if(!h.isEmpty())return t.executeCommand=new s.ReplaceCommand(h,""),!0}return this.deleteRight(e,t)},e.deleteAllLeft=function(e,t){if(this._autoClosingPairDelete(e,t))return!0;var n=e.getSelection();if(n.isEmpty()){var o=e.getPosition(),r=o.lineNumber,a=o.column;if(1===a)return!0;var u=new i.Range(r,1,r,a);if(!u.isEmpty())return t.executeCommand=new s.ReplaceCommand(u,""),!0}return this.deleteLeft(e,t)},e.deleteAllRight=function(e,t){var n=e.getSelection();if(n.isEmpty()){var o=e.getPosition(),r=o.lineNumber,a=o.column,u=e.model.getLineMaxColumn(r);if(a===u)return!0;var l=new i.Range(r,a,r,u);if(!l.isEmpty())return t.executeCommand=new s.ReplaceCommand(l,""),!0}return this.deleteRight(e,t)},e.cut=function(e,t,n){var o=e.getSelection();if(o.isEmpty()){if(!t)return!1;var r,a,u,l,c=e.getPosition();c.lineNumber1?(r=c.lineNumber-1,a=e.model.getLineMaxColumn(c.lineNumber-1),u=c.lineNumber,l=e.model.getLineMaxColumn(c.lineNumber)):(r=c.lineNumber,a=1,u=c.lineNumber,l=e.model.getLineMaxColumn(c.lineNumber));var d=new i.Range(r,a,u,l);d.isEmpty()||(n.executeCommand=new s.ReplaceCommand(d,""))}else this.deleteRight(e,n);return!0},e}();t.OneCursorOp=f;var m=function(){function e(e,t){this.model=e,this.configuration=t,this.moveHelper=new c.CursorMoveHelper(this.configuration)}return e.prototype.getLeftOfPosition=function(e,t,n){return this.moveHelper.getLeftOfPosition(e,t,n)},e.prototype.getRightOfPosition=function(e,t,n){return this.moveHelper.getRightOfPosition(e,t,n)},e.prototype.getPositionUp=function(e,t,n,o,i){return this.moveHelper.getPositionUp(e,t,n,o,i)},e.prototype.getPositionDown=function(e,t,n,o,i){return this.moveHelper.getPositionDown(e,t,n,o,i)},e.prototype.getColumnAtBeginningOfLine=function(e,t,n){return this.moveHelper.getColumnAtBeginningOfLine(e,t,n)},e.prototype.getColumnAtEndOfLine=function(e,t,n){return this.moveHelper.getColumnAtEndOfLine(e,t,n)},e.prototype.nextTabColumn=function(e){return c.CursorMoveHelper.nextTabColumn(e,this.configuration.getIndentationOptions().tabSize)},e.prototype.prevTabColumn=function(e){return c.CursorMoveHelper.prevTabColumn(e,this.configuration.getIndentationOptions().tabSize)},e.prototype.findWord=function(e,t,n){void 0===n&&(n=!1);var o,i,r,s=this.model.getWords(e.lineNumber);if(n){if(o=e.column-1,"left"===t){for(i=s.length-1;i>=0;i--)if(!(s[i].start>=o))return s[i]}else for(i=0,r=s.length;r>i;i++)if(!(s[i].end<=o))return s[i]}else for(o=e.column,"left"===t?1!==o&&(o-=.1):o!==this.model.getLineMaxColumn(e.lineNumber)&&(o+=.1),o-=1,i=0,r=s.length;r>i;i++)if(s[i].start<=o&&o<=s[i].end)return s[i];return null},e}(),g=function(){function e(){}return e.rangeContainsPosition=function(e,t){return t.lineNumbere.endLineNumber?!1:t.lineNumber===e.startLineNumber&&t.columne.endColumn?!1:!0},e.isPositionInsideRange=function(e,t){return e.lineNumbert.endLineNumber?!1:e.lineNumber===t.startLineNumber&&e.columnt.endColumn?!1:!0},e.isPositionAtRangeEdges=function(e,t){return e.lineNumber===t.startLineNumber&&e.column===t.startColumn?!0:e.lineNumber===t.endLineNumber&&e.column===t.endColumn?!0:!1},e}()}),define("vs/editor/common/controller/cursorCollection",["require","exports","vs/editor/common/core/selection","vs/editor/common/controller/oneCursor","vs/base/common/errors"],function(e,t,n,o,i){var r=function(){function e(e,t,n,i){this.editorId=e,this.model=t,this.configuration=n,this.viewModelHelper=i,this.modeConfiguration=this.getModeConfiguration(),this.primaryCursor=new o.OneCursor(this.editorId,this.model,this.configuration,this.modeConfiguration,this.viewModelHelper),this.secondaryCursors=[],this.lastAddedCursorIndex=0}return e.prototype.dispose=function(){this.primaryCursor.dispose(),this.killSecondaryCursors()},e.prototype.saveState=function(){return{primary:this.primaryCursor.saveState(),secondary:this.secondaryCursors.map(function(e){return e.saveState()})}},e.prototype.restoreState=function(e){this.primaryCursor.restoreState(e.primary),this.killSecondaryCursors();for(var t=0;tt;t++)e.push(this.secondaryCursors[t].getPosition());return e},e.prototype.getViewPositions=function(){var e=[];e.push(this.primaryCursor.getViewPosition());for(var t=0,n=this.secondaryCursors.length;n>t;t++)e.push(this.secondaryCursors[t].getViewPosition());return e},e.prototype.getSelection=function(e){return 0===e?this.primaryCursor.getSelection():this.secondaryCursors[e-1].getSelection()},e.prototype.getSelections=function(){var e=[];e.push(this.primaryCursor.getSelection());for(var t=0,n=this.secondaryCursors.length;n>t;t++)e.push(this.secondaryCursors[t].getSelection());return e},e.prototype.getViewSelections=function(){var e=[];e.push(this.primaryCursor.getViewSelection());for(var t=0,n=this.secondaryCursors.length;n>t;t++)e.push(this.secondaryCursors[t].getViewSelection());return e},e.prototype.setSelections=function(e){this.primaryCursor.setSelection(e[0]),this._setSecondarySelections(e.slice(1))},e.prototype.killSecondaryCursors=function(){return this._setSecondarySelections([])>0},e.prototype.normalize=function(){this._mergeCursorsIfNecessary(),this.primaryCursor.adjustBracketDecorations();for(var e=0,t=this.secondaryCursors.length;t>e;e++)this.secondaryCursors[e].adjustBracketDecorations()},e.prototype.addSecondaryCursor=function(e){var t=new o.OneCursor(this.editorId,this.model,this.configuration,this.modeConfiguration,this.viewModelHelper);e&&t.setSelection(e),this.secondaryCursors.push(t),this.lastAddedCursorIndex=this.secondaryCursors.length},e.prototype.duplicateCursors=function(){var e=[];e.push(this.primaryCursor.duplicate());for(var t=0,n=this.secondaryCursors.length;n>t;t++)e.push(this.secondaryCursors[t].duplicate());this.secondaryCursors=this.secondaryCursors.concat(e),this.lastAddedCursorIndex=this.secondaryCursors.length},e.prototype.getLastAddedCursor=function(){return 0===this.secondaryCursors.length||0===this.lastAddedCursorIndex?this.primaryCursor:this.secondaryCursors[this.lastAddedCursorIndex-1]},e.prototype._setSecondarySelections=function(e){var t=this.secondaryCursors.length,n=e.length,o=n-t;if(n>t)for(var i=n-t,r=0;i>r;r++)this.addSecondaryCursor(null);else if(t>n)for(var s=t-n,r=0;s>r;r++)this._removeSecondaryCursor(this.secondaryCursors.length-1);for(var r=0;n>r;r++)e[r]&&this.secondaryCursors[r].setSelection(e[r]);return o},e.prototype._removeSecondaryCursor=function(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(),this.secondaryCursors.splice(e,1)},e.prototype._mergeCursorsIfNecessary=function(){if(0!==this.secondaryCursors.length){for(var e=this.getAll(),t=[],o=0;od&&t[b].index--;e.splice(d,1),t.splice(c,1),this._removeSecondaryCursor(d-1),i--}}}},e.prototype.getModeConfiguration=function(){var e,t,n={electricChars:{},autoClosingPairsOpen:{},autoClosingPairsClose:{},surroundingPairs:{}};if(this.model.getMode().electricCharacterSupport)try{t=this.model.getMode().electricCharacterSupport.getElectricCharacters()}catch(o){i.onUnexpectedError(o),t=null}if(t)for(e=0;es&&i>r;){if(s>0&&0!==o){var l=n[r]/t.TYPE_OFFSET&t.TYPE_MASK,c=n[r]/t.BRACKET_OFFSET&t.BRACKET_MASK,d=Math.max(u,s+o),h=c*t.BRACKET_OFFSET+l*t.TYPE_OFFSET+d*t.START_INDEX_OFFSET;if(0>o)for(;r>0;){var p=n[r-1]/t.START_INDEX_OFFSET&t.START_INDEX_MASK;if(!(p>=d))break;n.splice(r-1,1),i--,r--}n[r]=h}r++,i>r&&(s=n[r]/t.START_INDEX_OFFSET&t.START_INDEX_MASK)}},l=function(e,t){u(Number.MAX_VALUE,e,1)};return{adjust:u,finish:l}},e.prototype._setText=function(e){if(this.text=e,this._lineTokens){for(var t=o.LineTokensBinaryEncoding,n=this._lineTokens.getBinaryEncodedTokensMap(),i=this._lineTokens.getBinaryEncodedTokens(),r=this.text.length;i.length>0;){var s=i[i.length-1]/t.START_INDEX_OFFSET&t.START_INDEX_MASK;if(r>s)break;i.pop()}this._setLineTokens(n,i)}},e.prototype._createMarkersAdjuster=function(e){var t=this;if(!this._markers)return u;if(0===this._markers.length)return u;var n=this._markers,o=n.length,i=0,r=n[i],s=function(s,a,u,l,c){for(;o>i&&(r.columni&&(r=n[i])}},a=function(e,t){s(Number.MAX_VALUE,e,1,!1,!1)};return{adjust:s,finish:a}},e.prototype.applyEdits=function(e,t){for(var n=0,o=this.text,i=this._createTokensAdjuster(),r=this._createMarkersAdjuster(e),s=0,a=t.length;a>s;s++){var u=t[s].startColumn,l=t[s].endColumn,c=n+t[s].startColumn,d=n+t[s].endColumn,h=t[s].text;i.adjust(u-1,n,1),r.adjust(u-1+1,n,1,c!==d,t[s].forceMoveMarkers);var p=Math.min(d-c,h.length);p>0&&(i.adjust(u-1+p,n,c),r.adjust(u-1+1+p,n,c,!0,t[s].forceMoveMarkers)),o=o.substring(0,c-1)+h+o.substring(d-1),n+=h.length-(d-c),i.adjust(l,n,c),r.adjust(l+1,n,c,!1,t[s].forceMoveMarkers)}return i.finish(n,o.length),r.finish(n,o.length),this._setText(o),n},e.prototype.split=function(t,n,o){var i=this.text.substring(0,n-1),r=this.text.substring(n-1),s=null;if(this._markers){for(var a=0,u=this._markers.length;u>a;a++){var l=this._markers[a];if(l.column>n||l.column===n&&(o||!l.stickToPreviousCharacter)){var c=this._markers.slice(0,a);s=this._markers.slice(a),this._markers=c;break}}if(s)for(var a=0,u=s.length;u>a;a++){var l=s[a];t[l.id]=!0,l.oldLineNumber=l.oldLineNumber||this.lineNumber,l.oldColumn=l.oldColumn||l.column,l.column-=n-1}}this._setText(i);var d=new e(this.lineNumber+1,r);return s&&d.addMarkers(s),d},e.prototype.append=function(e,t){var n=this.text.length;this._setText(this.text+t.text);var i=t._lineTokens;if(i){var r=i.getBinaryEncodedTokens();if(n>0)for(var s=o.LineTokensBinaryEncoding,a=0,u=r.length;u>a;a++){var l=r[a],c=l/s.START_INDEX_OFFSET&s.START_INDEX_MASK,d=l/s.TYPE_OFFSET&s.TYPE_MASK,h=l/s.BRACKET_OFFSET&s.BRACKET_MASK,p=c+n,f=h*s.BRACKET_OFFSET+d*s.TYPE_OFFSET+p*s.START_INDEX_OFFSET;r[a]=f}var m=this._lineTokens;m?this._setLineTokens(m.getBinaryEncodedTokensMap(),m.getBinaryEncodedTokens().concat(r)):this._setLineTokens(i.getBinaryEncodedTokensMap(),r)}if(t._markers){for(var g=t._markers,a=0,u=g.length;u>a;a++){var v=g[a];e[v.id]=!0,v.oldLineNumber=v.oldLineNumber||t.lineNumber,v.oldColumn=v.oldColumn||v.column,v.column+=n}this.addMarkers(g)}},e.prototype.addMarker=function(t){t.line=this,this._markers?this._markers.push(t):this._markers=[t],this._markers.sort(e._compareMarkers)},e.prototype.addMarkers=function(t){if(0!==t.length){var n,o;for(n=0,o=t.length;o>n;n++)t[n].line=this;this._markers?this._markers=this._markers.concat(t):this._markers=t.slice(0),this._markers.sort(e._compareMarkers)}},e._compareMarkers=function(e,t){return e.column===t.column?(e.stickToPreviousCharacter?0:1)-(t.stickToPreviousCharacter?0:1):e.column-t.column},e.prototype.removeMarker=function(e){var t=this._indexOfMarkerId(e.id);t>=0&&this._markers.splice(t,1), +e.line=null},e.prototype.removeMarkers=function(e){if(this._markers)for(var t=0,n=this._markers.length;n>t;t++){var o=this._markers[t];e[o.id]&&(o.line=null,this._markers.splice(t,1),n--,t--)}},e.prototype.getMarkers=function(){return this._markers?this._markers.slice(0):[]},e.prototype.updateLineNumber=function(e,t){if(this._markers){var n,o,i,r=this._markers;for(n=0,o=r.length;o>n;n++)i=r[n],e[i.id]=!0,i.oldLineNumber=i.oldLineNumber||this.lineNumber}this.lineNumber=t},e.prototype.deleteLine=function(e,t,n){if(this._markers){var o,i,r,s=this._markers;for(o=0,i=s.length;i>o;o++)r=s[o],e[r.id]=!0,r.oldColumn=r.oldColumn||r.column,r.oldLineNumber=r.oldLineNumber||n,r.column=t;return s}return[]},e.prototype._indexOfMarkerId=function(e){if(this._markers){var t,n,o=this._markers;for(t=0,n=o.length;n>t;t++)if(o[t].id===e)return t}return-1},e}();t.ModelLine=l;var c=o.LineTokensBinaryEncoding.getStartIndex,d=o.LineTokensBinaryEncoding.getType,h=o.LineTokensBinaryEncoding.getBracket,p=o.LineTokensBinaryEncoding.findIndexOfOffset,f=function(){function e(e,t){this.map=e,i(t)?this._tokens=t:this._tokens=o.LineTokensBinaryEncoding.deflateArr(e,t)}return e.prototype.toString=function(){return o.LineTokensBinaryEncoding.inflateArr(this.map,this._tokens).toString()},e.prototype.getBinaryEncodedTokensMap=function(){return this.map},e.prototype.getBinaryEncodedTokens=function(){return this._tokens},e.prototype.getTokenCount=function(){return this._tokens.length},e.prototype.getTokenStartIndex=function(e){return c(this._tokens[e])},e.prototype.getTokenType=function(e){return d(this.map,this._tokens[e])},e.prototype.getTokenBracket=function(e){return h(this._tokens[e])},e.prototype.getTokenEndIndex=function(e,t){return e+1l;l++)u.push(this._repeatCharacter(t,this._lines[l].text.length));return u.push(this._repeatCharacter(t,o.endColumn-1)),u.join(i)},t.prototype._repeatCharacter=function(e,t){for(var n="",o=0;t>o;o++)n+=e;return n},t.prototype.getValueInRange=function(e,t){if(void 0===t&&(t=a.EndOfLinePreference.TextDefined),this._isDisposed)throw new Error("TextModel.getValueInRange: Model is disposed");var n=this.validateRange(e);if(n.isEmpty())return"";if(n.startLineNumber===n.endLineNumber)return this._lines[n.startLineNumber-1].text.substring(n.startColumn-1,n.endColumn-1);var o=this._getEndOfLine(t),i=n.startLineNumber-1,r=n.endLineNumber-1,s=[];s.push(this._lines[i].text.substring(n.startColumn-1));for(var u=i+1;r>u;u++)s.push(this._lines[u].text);return s.push(this._lines[r].text.substring(0,n.endColumn-1)),s.join(o)},t.prototype.getValueLengthInRange=function(e,t){if(void 0===t&&(t=a.EndOfLinePreference.TextDefined),this._isDisposed)throw new Error("TextModel.getValueInRange: Model is disposed");var n=this.validateRange(e);if(n.isEmpty())return 0;if(n.startLineNumber===n.endLineNumber)return n.endColumn-n.startColumn;var o=this._getEndOfLine(t).length,i=n.startLineNumber-1,r=n.endLineNumber-1,s=0;s+=this._lines[i].text.length-n.startColumn+1;for(var u=i+1;r>u;u++)s+=o+this._lines[u].text.length;return s+=o+(n.endColumn-1)},t.prototype.isDominatedByLongLines=function(e){if(this._isDisposed)throw new Error("TextModel.isDominatedByLongLines: Model is disposed");var t,n,o,i=0,r=0,s=this._lines;for(t=0,n=this._lines.length;n>t;t++)o=s[t].text.length,o>=e?r+=o:i+=o;return r>i},t.prototype._extractIndentationFactors=function(){var e,t,n,o,i,r,s,a,u,d,h,p=this._lines,f=0,m="",g=0,v=[],y=0,_=[];for(e=0,t=p.length;t>e;e++){for(s=p[e].text,a=!1,u=0,h=0,d=0,n=0,o=s.length;o>n;n++)if(i=s.charCodeAt(n),i===c)d++;else{if(i!==l){a=!0,u=n;break}h++}if(1===h&&(h=0),a&&(d>0||h>0)&&(f++,d>0&&y++,h>0&&(_[h]=(_[h]||0)+1)),a){h=0;var b=!0;for(n=0;g>n&&u>n;n++)r=m.charCodeAt(n),i=s.charCodeAt(n),b&&r!==i&&(b=!1),b||(r===l&&h++,i===l&&h++);for(;g>n;n++)r=m.charCodeAt(n),r===l&&h++;for(;u>n;n++)i=s.charCodeAt(n),i===l&&h++;1===h&&(h=0),h>0&&(v[h]=(v[h]||0)+1),g=u,m=s}}return{linesWithIndentationCount:f,linesIndentedWithTabs:y,relativeSpaceCounts:v,absoluteSpaceCounts:_}},t.prototype.guessIndentation=function(e){if(this._isDisposed)throw new Error("TextModel.guessIndentation: Model is disposed");var t,n,o=this._extractIndentationFactors(),i=o.linesWithIndentationCount,r=o.linesIndentedWithTabs,s=o.absoluteSpaceCounts,a=o.relativeSpaceCounts,u=0;for(t=1,n=s.length;n>t;t++)u+=s[t]||0;if(r>=u)return{insertSpaces:!1,tabSize:e};if(6>i&&r>0)return{insertSpaces:!1,tabSize:e};var l,c,d,h,p=[];for(l=2,n=s.length;n>l;l++)if(s[l]){for(c=0,d=0,h=l;n>h;h+=l)s[h]?c+=s[h]:d+=l/h;p[l]=c/(1+d)}var f=e,m=0,g=[2,4,6,8];for(t=0;tm&&(f=l,m=c);return{insertSpaces:!0,tabSize:f}},t.prototype.getLineCount=function(){if(this._isDisposed)throw new Error("TextModel.getLineCount: Model is disposed");return this._lines.length},t.prototype.getLineContent=function(e){if(this._isDisposed)throw new Error("TextModel.getLineContent: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text},t.prototype.getLinesContent=function(){if(this._isDisposed)throw new Error("TextModel.getLineContent: Model is disposed");for(var e=[],t=0,n=this._lines.length;n>t;t++)e[t]=this._lines[t].text;return e},t.prototype.getEOL=function(){if(this._isDisposed)throw new Error("TextModel.getEOL: Model is disposed");return this._EOL},t.prototype.setEOL=function(e){var t=e===a.EndOfLineSequence.CRLF?"\r\n":"\n";if(this._EOL!==t){var n=this.getFullModelRange(),o=this.getValueLengthInRange(n),i=this.getLineCount(),r=this.getLineMaxColumn(i);this._EOL=t,this._increaseVersionId();var s=this._createContentChangedFlushEvent();s.detail=this.toRawText(),s.versionId=this._versionId,this._emitModelContentChangedFlushEvent(s),this._emitContentChanged2(1,1,i,r,o,this.getValue(),!1,!1)}},t.prototype.getLineMinColumn=function(e){return 1},t.prototype.getLineMaxColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineMaxColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text.length+1},t.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineFirstNonWhitespaceColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=o.firstNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._isDisposed)throw new Error("TextModel.getLineLastNonWhitespaceColumn: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=o.lastNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+2},t.prototype.validateLineNumber=function(e){if(this._isDisposed)throw new Error("TextModel.validateLineNumber: Model is disposed");return 1>e&&(e=1),e>this._lines.length&&(e=this._lines.length),e},t.prototype.validatePosition=function(e){if(this._isDisposed)throw new Error("TextModel.validatePosition: Model is disposed");var t=e.lineNumber?e.lineNumber:1,n=e.column?e.column:1;1>t&&(t=1),t>this._lines.length&&(t=this._lines.length),1>n&&(n=1);var o=this.getLineMaxColumn(t);return n>o&&(n=o),new i.Position(t,n)},t.prototype.validateRange=function(e){if(this._isDisposed)throw new Error("TextModel.validateRange: Model is disposed");var t=this.validatePosition(new i.Position(e.startLineNumber,e.startColumn)),n=this.validatePosition(new i.Position(e.endLineNumber,e.endColumn));return new r.Range(t.lineNumber,t.column,n.lineNumber,n.column)},t.prototype.modifyPosition=function(e,t){if(this._isDisposed)throw new Error("TextModel.modifyPosition: Model is disposed");for(var n=this.validatePosition(e);t>0;){var o=this.getLineMaxColumn(n.lineNumber);if(n.columnt)throw new Error("TextModel.modifyPosition: Breaking line terminators");if(++n.lineNumber,n.lineNumber>this._lines.length)throw new Error("TextModel.modifyPosition: Offset goes beyond the end of the model");n.column=1}for(;0>t;){if(n.column>1){var r=Math.min(-t,n.column-1);t+=r,n.column-=r}if(0===t)break;if(t+=this._EOL.length,t>0)throw new Error("TextModel.modifyPosition: Breaking line terminators");if(--n.lineNumber,n.lineNumber<1)throw new Error("TextModel.modifyPosition: Offset goes beyond the beginning of the model");n.column=this.getLineMaxColumn(n.lineNumber)}return n},t.prototype.getFullModelRange=function(){if(this._isDisposed)throw new Error("TextModel.getFullModelRange: Model is disposed");var e=this.getLineCount();return new r.Range(1,1,e,this.getLineMaxColumn(e))},t.prototype._emitModelContentChangedFlushEvent=function(e){this._isDisposing||this.emit(a.EventType.ModelContentChanged,e)},t.toRawText=function(e){for(var t=0,n=-1;-1!==(n=e.indexOf("\r",n+1));)t++;var i=e.split(/\r\n|\r|\n/),r="";o.startsWithUTF8BOM(i[0])&&(r=o.UTF8_BOM_CHARACTER,i[0]=i[0].substr(1));var s=i.length-1,a="";return a=0===s?h:t>s/2?"\r\n":"\n",{BOM:r,EOL:a,lines:i,length:e.length}},t.prototype._constructLines=function(e){var t,n,o=e.lines,i=[];for(t=0,n=o.length;n>t;t++)i.push(new s.ModelLine(t+1,o[t]));this._BOM=e.BOM,this._EOL=e.EOL,this._lines=i},t.prototype._getEndOfLine=function(e){switch(e){case a.EndOfLinePreference.LF:return"\n";case a.EndOfLinePreference.CRLF:return"\r\n";case a.EndOfLinePreference.TextDefined:return this.getEOL()}throw new Error("Unknown EOL preference")},t.prototype._toRegExp=function(e,t,n,i){if(""===e)return null;var r=null;try{r=o.createRegExp(e,t,n,i)}catch(s){return null}try{if(o.regExpLeadsToEndlessLoop(r))return null}catch(s){return null}return r},t.prototype.findMatches=function(e,t,n,o,i,s){if(void 0===s&&(s=d),this._isDisposed)throw new Error("Model.findMatches: Model is disposed");var a=this._toRegExp(e,n,o,i);if(!a)return[];var u;return u=r.Range.isIRange(t)?t:this.getFullModelRange(),this._doFindMatches(u,a,s)},t.prototype.findNextMatch=function(e,t,n,o,i){if(this._isDisposed)throw new Error("Model.findNextMatch: Model is disposed");var r=this._toRegExp(e,n,o,i);if(!r)return null;var s,a,u=this.validatePosition(t),l=this.getLineCount(),c=u.lineNumber;if(s=this._lines[c-1].text.substring(u.column-1),a=this._findMatchInLine(r,s,c,u.column-1))return a;for(var d=1;l>d;d++){var h=(c+d-1)%l;if(s=this._lines[h].text,a=this._findMatchInLine(r,s,h+1,0))return a}return null},t.prototype._doFindMatches=function(e,t,n){var o,i=[],r=0;if(e.startLineNumber===e.endLineNumber)return o=this._lines[e.startLineNumber-1].text.substring(e.startColumn-1,e.endColumn-1),r=this._findMatchesInLine(t,o,e.startLineNumber,e.startColumn-1,r,i,n),i;o=this._lines[e.startLineNumber-1].text.substring(e.startColumn-1),r=this._findMatchesInLine(t,o,e.startLineNumber,e.startColumn-1,r,i,n);for(var s=e.startLineNumber+1;sr;s++)r=this._findMatchesInLine(t,this._lines[s-1].text,s,0,r,i,n);return n>r&&(o=this._lines[e.endLineNumber-1].text.substring(0,e.endColumn-1),r=this._findMatchesInLine(t,o,e.endLineNumber,0,r,i,n)),i},t.prototype._findMatchInLine=function(e,t,n,o){var i=e.exec(t);return i?new r.Range(n,i.index+1+o,n,i.index+1+i[0].length+o):null},t.prototype._findMatchesInLine=function(e,t,n,o,i,s,a){var u;do if(u=e.exec(t),u&&(s.push(new r.Range(n,u.index+1+o,n,u.index+1+u[0].length+o)),i++,i>=a))return i;while(u);return i},t}(n.OrderGuaranteeEventEmitter);t.TextModel=p}),define("vs/editor/common/model/textModelWithTokensHelpers",["require","exports","vs/editor/common/modes/nullMode","vs/editor/common/core/range","vs/editor/common/editorCommon","vs/editor/common/core/arrays","vs/base/common/errors"],function(e,t,n,o,i,r,s){var a=i.LineTokensBinaryEncoding.getType,u=i.LineTokensBinaryEncoding.getBracket,l=i.LineTokensBinaryEncoding.getStartIndex,c=function(){function e(){}return e._safeGetWordDefinition=function(e){var t=null;if(e.tokenTypeClassificationSupport)try{t=e.tokenTypeClassificationSupport.getWordDefinition()}catch(n){s.onUnexpectedError(n)}return t},e.ensureValidWordDefinition=function(e){var t=n.NullMode.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)t=e;else{var o="g";e.ignoreCase&&(o+="i"),e.multiline&&(o+="m"),t=new RegExp(e.source,o)}return t.lastIndex=0,t},e.massageWordDefinitionOf=function(t){return e.ensureValidWordDefinition(e._safeGetWordDefinition(t))},e.getWords=function(t,n){if(!t._lineIsTokenized(n))return e._getWordsInText(t.getLineContent(n),e.massageWordDefinitionOf(t.getMode()));var o=[],i=t.getLineContent(n);if(i.length>0){var r,s,a,u,l,c,d,h,p,f,m,g,v=t._getLineModeTransitions(n);for(r=0,l=0,s=v.length;s>r;r++)if(d=e.massageWordDefinitionOf(v[r].mode),l=v[r].startIndex,c=s>r+1?v[r+1].startIndex:i.length,h=i.substring(l,c),p=h.match(d))for(m=0,a=0,u=p.length;u>a;a++)g=p[a],g.length>0&&(f=h.indexOf(g,m),m=f+g.length,o.push({start:l+f,end:l+m}))}return o},e._getWordsInText=function(e,t){var n,o,i,r,s,a,u=e.match(t)||[],l=[];for(n=0;n0&&(o=e.indexOf(a,i),i=o+a.length,r=o,s=i,l.push({start:r,end:s}));return l},e._getWordAtColumn=function(t,n,o,i){var r=i[o].startIndex,s=o+10&&s[u].startIndex===a&&(o=e._getWordAtColumn(i,n.column,u-1,s)),o},e._getWordAtText=function(e,t,n,o){var i,r,s,a,u,l,c=n.match(t);if(c)for(i=0;i0&&(r=n.indexOf(l,s),s=r+l.length,a=o+r+1,u=o+s+1,e>=a&&u>=e))return{word:l,startColumn:a,endColumn:u};return null},e}();t.WordHelper=c;var d=function(){function e(){}return e._sign=function(e){return 0>e?-1:e>0?1:0},e._findMatchingBracketUp=function(t,n,i,r,s){var c,d,h,p=s;for(c=i;c>=1;c--){var f=t.getLineTokens(c,!1),m=f.getBinaryEncodedTokens(),g=f.getBinaryEncodedTokensMap(),v=t.getLineContent(c);for(h=(c===i?r:m.length)-1;h>=0;h--)if(a(g,m[h])===n&&(p+=e._sign(u(m[h])),0===p))return d=h===m.length-1?v.length:l(m[h+1]),new o.Range(c,l(m[h])+1,c,d+1)}return null},e._findMatchingBracketDown=function(t,n,i,r,s){var c,d,h,p,f,m=1;for(c=i,d=t.getLineCount();d>=c;c++){if(s&&!t._lineIsTokenized(c))return{range:null,isAccurate:!1};var g=t.getLineTokens(c,!1),v=g.getBinaryEncodedTokens(),y=g.getBinaryEncodedTokensMap(),_=t.getLineContent(c);for(p=c===i?r+1:0,f=v.length;f>p;p++)if(a(y,v[p])===n&&(m+=e._sign(u(v[p])),0===m))return h=p===v.length-1?_.length:l(v[p+1]),{range:new o.Range(c,l(v[p])+1,c,h+1),isAccurate:!0}}return{range:null,isAccurate:!0}},e.findMatchingBracketUp=function(t,n,o){var i,r,s,a=o.column-1,u=-1,c=t.getLineTokens(o.lineNumber,!1),d=c.getBinaryEncodedTokens(),h=t.getLineContent(o.lineNumber);for(i=0,r=d.length;-1===u&&r>i;i++)s=i===r-1?h.length:l(d[i+1]),l(d[i])<=a&&s>=a&&(u=i);return e._findMatchingBracketUp(t,n,o.lineNumber,u+1,0)},e.matchBracket=function(t,n,i){if(i&&!t._lineIsTokenized(n.lineNumber))return{brackets:null,isAccurate:!1};var r,s,c=t.getLineContent(n.lineNumber),d={brackets:null,isAccurate:!0};if(c.length>0){var h,p,f,m,g,v=n.column-1,y=t.getLineTokens(n.lineNumber,!1),_=y.getBinaryEncodedTokens(),b=y.getBinaryEncodedTokensMap();for(r=0,s=_.length;null===d.brackets&&s>r;r++)if(h=_[r],f=l(h),g=a(b,h),m=u(h),p=r===s-1?c.length:l(_[r+1]),v>=f&&p>=v){if(0>m){var C=e._findMatchingBracketUp(t,g,n.lineNumber,r,-1);C&&(d.brackets=[new o.Range(n.lineNumber,f+1,n.lineNumber,p+1),C])}if(null===d.brackets&&m>0){var w=e._findMatchingBracketDown(t,g,n.lineNumber,r,i);d.isAccurate=w.isAccurate,w.range&&(d.brackets=[new o.Range(n.lineNumber,f+1,n.lineNumber,p+1),w.range])}}}return d},e}();t.BracketsHelper=d}),define("vs/editor/common/model/tokenIterator",["require","exports","vs/editor/common/editorCommon"],function(e,t,n){var o=n.LineTokensBinaryEncoding.getStartIndex,i=n.LineTokensBinaryEncoding.inflate,r=function(){function e(e,t){this._model=e,this._currentLineNumber=t.lineNumber,this._currentTokenIndex=0,this._readLineTokens(this._currentLineNumber),this._next=null,this._prev=null;for(var n=t.column-1,i=Number.MAX_VALUE,r=this._currentTokens.length-1;r>=0;r--){if(o(this._currentTokens[r])<=n&&i>=n){this._currentTokenIndex=r,this._next=this._current(),this._prev=this._current();break}i=o(this._currentTokens[r])}}return e.prototype._readLineTokens=function(e){this._currentLineTokens=this._model.getLineTokens(e,!1),this._currentTokens=this._currentLineTokens.getBinaryEncodedTokens(),this._map=this._currentLineTokens.getBinaryEncodedTokensMap()},e.prototype._advanceNext=function(){if(this._prev=this._next,this._next=null,this._currentTokenIndex+10){this._currentTokenIndex=0,this._next=this._current();break}null===this._next&&(this._readLineTokens(this._currentLineNumber),this._currentTokenIndex=this._currentTokens.length,this._advancePrev(),this._next=null)}},e.prototype._advancePrev=function(){if(this._next=this._prev,this._prev=null,this._currentTokenIndex>0)this._currentTokenIndex--,this._prev=this._current();else for(;this._currentLineNumber>1;)if(this._currentLineNumber--,this._readLineTokens(this._currentLineNumber),this._currentTokens.length>0){this._currentTokenIndex=this._currentTokens.length-1,this._prev=this._current();break}},e.prototype._current=function(){return{token:i(this._map,this._currentTokens[this._currentTokenIndex]),lineNumber:this._currentLineNumber,startColumn:o(this._currentTokens[this._currentTokenIndex])+1,endColumn:this._currentTokenIndex+1o;o++)if(e=this.brackets[o],e.isElectric){var i=e.close.charAt(e.close.length-1);t.push(this.caseInsensitive?i.toLowerCase():i)}var r;n=this.regexBrackets.length;for(var o=0;n>o;o++)r=this.regexBrackets[o],r.openTrigger&&t.push(this.caseInsensitive?r.openTrigger.toLowerCase():r.openTrigger),r.closeTrigger&&t.push(this.caseInsensitive?r.closeTrigger.toLowerCase():r.closeTrigger);if(this.docComment&&t.push(this.docComment.open.charAt(this.docComment.open.length-1)),this.caseInsensitive)for(var s=t.length,o=0;s>o;++o)t.push(t[o].toUpperCase());return t=t.filter(function(e,t,n){return n.indexOf(e)==t})},e.prototype.onEnter=function(e,t){return 0===e.getTokenCount()?null:this._onEnterRegexBrackets(e,t)},e.prototype.onElectricCharacter=function(e,t){return 0===e.getTokenCount()?null:this._onElectricCharacterDocComment(e,t)||this._onElectricCharacterRegexBrackets(e,t)||this._onElectricCharacterStandardBrackets(e,t)},e.prototype.stringIsBracket=function(e){var t=e;this.caseInsensitive&&(t=e.toLowerCase());for(var n,o=0;o=0&&e.getTokenEndIndex(o)-1>t)return null;var s=n.firstNonWhitespaceIndex(e.getLineContent());return-1!==s&&s<=t-i.length?null:{matchBracketType:r}},e.prototype._onElectricCharacterRegexBrackets=function(e,t){for(var n=e.getLineContent(),o=0;o=0)return null;var i=e.findIndexOfOffset(t);return this.containsTokenTypes(e.getTokenType(i),this.docComment.scope)?n.substring(e.getTokenStartIndex(i),t+1)!==this.docComment.open?null:{appendText:this.docComment.close}:null},e.prototype._detectLetercase=function(e){return e.toLowerCase()===e?i.Lowercase:e.toUpperCase()===e?i.Uppercase:e.length>1&&e.charAt(0).toUpperCase()===e.charAt(0)&&e.charAt(1).toLowerCase()===e.charAt(1)?i.Camelcase:i.Unknown},e.prototype._changeLettercase=function(e,t){switch(t){case i.Lowercase:return e.toLowerCase();case i.Uppercase:return e.toUpperCase();case i.Camelcase:for(var n=e.toLowerCase().split(" "),o=0;o0}function i(e,t){if(Array.isArray(e)){var o=e.map(function(e){return i(e,t)});return Math.max.apply(Math,o)}if("string"==typeof e)return e===t.language?10:"*"===e?5:0;if(e){var r=e,s=0;if(r.language)if(r.language===t.language)s+=10;else{if("*"!==r.language)return 0;s+=5}if(r.scheme){if(r.scheme!==t.uri.scheme)return 0;s+=10}if(r.pattern)if(r.pattern===t.uri.fsPath)s+=10;else{if(!n.match(r.pattern,t.uri.fsPath))return 0;s+=5}return s}}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o,t.score=i}),define("vs/editor/common/modes/languageFeatureRegistry",["require","exports","vs/base/common/event","vs/base/common/arrays","vs/editor/common/modes/languageSelector"],function(e,t,n,o,i){function r(e){return"function"==typeof e.getMode}var s=function(){function e(e){this._entries=[],this._onDidChange=new n.Emitter,this._supportName=e}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,o={selector:e,provider:t,_score:-1,_time:Date.now()};return this._entries.push(o),this._candidate=void 0,this._onDidChange.fire(this._entries.length),{dispose:function(){if(o){var e=n._entries.indexOf(o);e>=0&&(n._entries.splice(e,1),n._candidate=void 0,n._onDidChange.fire(n._entries.length),o=void 0)}}}},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){var t=[];if(e){this._updateScores(e);for(var n=0,o=this._entries;n0&&t.push(i.provider)}r(e)&&e.getMode()&&e.getMode()[this._supportName]&&t.push(e.getMode()[this._supportName])}return t},e.prototype.ordered=function(e){var t=this._orderedEntries(e);return t.map(function(e){return e.provider})},e.prototype.orderedGroups=function(e){for(var t,n,o=this._orderedEntries(e),i=[],r=0;r0&&n.push(a)}if(r(t)&&t.getMode()&&t.getMode()[this._supportName]){var a={selector:void 0,provider:t.getMode()[this._supportName],_score:.5,_time:0},u=o.binarySearch(n,a,e._compareByScoreAndTime);n.splice(0>u?~u:u,0,a)}}return n},e.prototype._updateScores=function(e){var t;if(t=r(e)?{uri:e.getAssociatedResource(),language:e.getModeId()}:e,!this._candidate||this._candidate.language!==t.language||this._candidate.uri.toString()!==t.uri.toString()){this._candidate=t;for(var n=0,o=this._entries;nt._score?-1:e._timet._time?-1:0},e}();Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=s}),define("vs/editor/common/modes/modesFilters",["require","exports","vs/base/common/filters"],function(e,t,n){function o(e){return function(t,n){var o=e(t,n.filterText||n.label);return n.highlights=o||[],!!o}}function i(e,t){return function(n,o){return e(n,o)||t(n,o)}}function r(e,t){return function(n,o){return e(n,o)&&t(n,o)}}t.StrictPrefix=o(n.matchesStrictPrefix),t.Prefix=o(n.matchesPrefix),t.CamelCase=o(n.matchesCamelCase),t.ContiguousSubString=o(n.matchesContiguousSubString),t.or=i,t.and=r,t.DefaultFilter=i(i(t.Prefix,t.CamelCase),t.ContiguousSubString); +});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/modes/supports",["require","exports","vs/base/common/winjs.base","vs/base/common/strings","vs/editor/common/modes/lineStream","vs/editor/common/modes/nullMode","vs/editor/common/modes/autoIndentation","vs/editor/common/modes/modesFilters","vs/editor/common/modes","vs/editor/common/core/arrays"],function(e,t,n,o,i,r,s,a,u,l){function c(e,t,n){var o=e.modeTransitions;if(1===o.length)return n(o[0].mode,e,t);var i=l.Arrays.findIndexInSegmentsArray(o,t),r=o[i].mode,s=o[i].startIndex,a=e.findIndexOfOffset(s),u=-1,c=-1;i+1a;a++)if(i){if(s.indexOf(n[a])>=0)return!0}else if(o.endsWith(s,n[a]))return!0;return!1}function h(e){return"function"==typeof e}var p=function(){function e(e,t,n){this.startIndex=e,this.type=t,this.bracket=n}return e.prototype.toString=function(){return"("+this.startIndex+", "+this.type+", "+this.bracket+")"},e}();t.Token=p,t.handleEvent=c,t.isLineToken=d;var f=function(){function e(e,t,n,o,i,r){this.modeTransitions=[{startIndex:0,mode:t}],this._actual=e,this._firstTokenInModeIndex=n,this._nextTokenAfterMode=o,this._firstTokenCharacterOffset=i,this._nextCharacterAfterModeIndex=r}return e.prototype.getLineContent=function(){var e=this._actual.getLineContent();return e.substring(this._firstTokenCharacterOffset,this._nextCharacterAfterModeIndex)},e.prototype.getTokenCount=function(){return this._nextTokenAfterMode-this._firstTokenInModeIndex},e.prototype.findIndexOfOffset=function(e){return this._actual.findIndexOfOffset(e+this._firstTokenCharacterOffset)-this._firstTokenInModeIndex},e.prototype.getTokenStartIndex=function(e){return this._actual.getTokenStartIndex(e+this._firstTokenInModeIndex)-this._firstTokenCharacterOffset},e.prototype.getTokenEndIndex=function(e){return this._actual.getTokenEndIndex(e+this._firstTokenInModeIndex)-this._firstTokenCharacterOffset},e.prototype.getTokenType=function(e){return this._actual.getTokenType(e+this._firstTokenInModeIndex)},e.prototype.getTokenBracket=function(e){return this._actual.getTokenBracket(e+this._firstTokenInModeIndex)},e.prototype.getTokenText=function(e){return this._actual.getTokenText(e+this._firstTokenInModeIndex)},e}();t.FilteredLineContext=f;var m=function(){function e(e){this._mode=e}return Object.defineProperty(e.prototype,"mode",{get:function(){return this._mode},enumerable:!0,configurable:!0}),e}();t.AbstractSupport=m;var g=function(e){function t(t,n,o,i){if(e.call(this,t),this.customization=n,this.supportsNestedModes=o,this._embeddedModesListeners={},this.supportsNestedModes&&!this.mode.registerSupport)throw new Error("Cannot be a mode with nested modes unless I can emit a tokenizationSupport changed event!");this.shouldGenerateEmbeddedModels=i,this.defaults={enterNestedMode:!h(n.enterNestedMode),getNestedMode:!h(n.getNestedMode),getNestedModeInitialState:!h(n.getNestedModeInitialState),getLeavingNestedModeData:!h(n.getLeavingNestedModeData),onReturningFromNestedMode:!h(n.onReturningFromNestedMode)}}return __extends(t,e),t.prototype.dispose=function(){for(var e in this._embeddedModesListeners)this._embeddedModesListeners[e].dispose(),delete this._embeddedModesListeners[e]},t.prototype.getInitialState=function(){return this.customization.getInitialState()},t.prototype.tokenize=function(e,t,n,o){return void 0===n&&(n=0),void 0===o&&(o=n+e.length),t.getMode()!==this.mode?this._nestedTokenize(e,t,n,o,[],[]):this._myTokenize(e,t,n,o,[],[])},t.prototype._nestedTokenize=function(e,t,n,o,i,s){for(var a=t.getStateData(),u=this.getLeavingNestedModeData(e,a),l=t;l.getStateData()&&l.getStateData().getMode()!==this.mode;)l=l.getStateData();var c=l.getMode();if(!u){var d;return d=c.tokenizationSupport?c.tokenizationSupport.tokenize(e,t,n,o):r.nullTokenize(c,e,t,n),d.tokens=i.concat(d.tokens),d.modeTransitions=s.concat(d.modeTransitions),d}var h=u.nestedModeBuffer;if(h.length>0){var p;p=c.tokenizationSupport?c.tokenizationSupport.tokenize(h,t,n,o):r.nullTokenize(c,h,t,n),t=p.endState,i=i.concat(p.tokens),s=s.concat(p.modeTransitions)}var f=u.bufferAfterNestedMode,m=u.stateAfterNestedMode;return m.setStateData(a.getStateData()),this.onReturningFromNestedMode(m,t),this._myTokenize(f,m,n+h.length,o,i,s)},t.prototype._myTokenize=function(e,n,o,r,s,a){var l,c,d=this,h=new i.LineStream(e),f=null,m=null;n=n.clone(),(a.length<=0||a[a.length-1].mode!==this.mode)&&a.push({startIndex:o,mode:this.mode});for(var g=Math.min(r-o,e.length),v=u.Bracket.None;h.pos()0)for(var o=0;o0){var i=e.sortByType.indexOf(t.type),r=e.sortByType.indexOf(n.type);if(0>i&&(i=e.sortByType.length),0>r&&(r=e.sortByType.length),r>i)return-1;if(i>r)return 1;if(i0?t.label.split(s):[t.label],u="string"==typeof s&&s.length>0?n.label.split(s):[n.label];if(a.lengthu.length)return 1;for(var l=0;l-1)return!1;break}return!0}return t.characterPairSupport?t.characterPairSupport.shouldAutoClosePair(e,n,i):null})},t.prototype.getSurroundingPairs=function(){return this._surroundingPairs},t}(m);t.CharacterPairSupport=S;var T=function(){function e(){}return e.prototype.valueSetsReplace=function(e,t,n){for(var o=null,i=0,r=e.length;null===o&&r>i;i++)o=this.valueSetReplace(e[i],t,n);return o},e.prototype.valueSetReplace=function(e,t,n){var o=e.indexOf(t);return o>=0?(o+=n?1:-1,0>o?o=e.length-1:o%=e.length,e[o]):null},e}();t.ReplaceSupport=new T;var L=function(){function e(e){void 0===e&&(e=null),this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]],this.defaults={textReplace:!e||!h(e.textReplace),navigateValueSetFallback:!e||!h(e.navigateValueSetFallback)},this.customization=e}return e.prototype.navigateValueSet=function(e,t,o){var i=this.doNavigateValueSet(e,t,o,!0);return i&&i.value&&i.range?n.TPromise.as(i):this.defaults.navigateValueSetFallback?n.TPromise.as(null):this.customization.navigateValueSetFallback(e,t,o)},e.prototype.doNavigateValueSet=function(e,t,n,o){var i,r=this.getModel(e),s={range:null,value:null};if(o)t.startColumn===t.endColumn&&(t.endColumn+=1),i=r.getValueInRange(t),s.range=t;else{var a={lineNumber:t.startLineNumber,column:t.startColumn},u=r.getWordAtPosition(a);if(!u||-1===u.startColumn)return null;i=u.word,s.range={startLineNumber:t.startLineNumber,endLineNumber:t.endLineNumber,startColumn:u.startColumn,endColumn:u.endColumn}}var l=this.numberReplace(i,n);if(null!==l)s.value=l;else{var c=this.textReplace(i,n);if(null!==c)s.value=c;else if(o)return this.doNavigateValueSet(e,t,n,!1)}return s},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),o=Number(e),i=parseFloat(e);return isNaN(o)||isNaN(i)||o!==i?null:0!==o||t?(o=Math.floor(o*n),o+=t?n:-n,String(o/n)):null},e.prototype.textReplace=function(e,n){return this.defaults.textReplace?t.ReplaceSupport.valueSetsReplace(this._defaultValueSet,e,n):this.customization.textReplace(e,n)||t.ReplaceSupport.valueSetsReplace(this._defaultValueSet,e,n)},e.prototype.getModel=function(e){throw new Error("Not implemented")},e}();t.AbstractInplaceReplaceSupport=L;var x=function(e){function t(t,n){void 0===n&&(n=null),e.call(this,n),this.resourceService=t}return __extends(t,e),t.prototype.getModel=function(e){return this.resourceService.get(e)},t}(L);t.WorkerInplaceReplaceSupport=x;var M=function(e){function t(t,n){void 0===n&&(n=null),e.call(this,n),this.modelService=t}return __extends(t,e),t.prototype.getModel=function(e){return this.modelService.getModel(e)},t}(L);t.MainInplaceReplaceSupport=M;var I=function(){function e(e){this._contribution=e}return e.prototype.getCommentsConfiguration=function(){return this._contribution.commentsConfiguration},e}();t.CommentsSupport=I;var N=function(){function e(e){this._contribution=e}return e.prototype.getWordDefinition=function(){return"undefined"==typeof this._contribution.wordDefinition?r.NullMode.DEFAULT_WORD_REGEXP:this._contribution.wordDefinition},e}();t.TokenTypeClassificationSupport=N}),define("vs/editor/common/modes/supports/onEnter",["require","exports","vs/editor/common/modes/supports","vs/editor/common/modes","vs/base/common/errors","vs/base/common/strings"],function(e,t,n,o,i,r){var s=function(){function e(t,n){n=n||{},n.brackets=n.brackets||[{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"}],this._modeId=t,this._brackets=n.brackets.map(function(t){return{open:t.open,openRegExp:e._createOpenBracketRegExp(t.open),close:t.close,closeRegExp:e._createCloseBracketRegExp(t.close)}}),this._regExpRules=n.regExpRules||[],this._indentationRules=n.indentationRules}return e.prototype.onEnter=function(e,t){var o=this,i=e.getLineContext(t.lineNumber);return n.handleEvent(i,t.column-1,function(n,i,r){return o._modeId===n.getId()?o._onEnter(e,t):n.onEnterSupport?n.onEnterSupport.onEnter(e,t):null})},e.prototype._onEnter=function(e,t){var n=e.getLineContent(t.lineNumber),o=n.substr(0,t.column-1),i=n.substr(t.column-1),r=1===t.lineNumber?"":e.getLineContent(t.lineNumber-1);return this._actualOnEnter(r,o,i)},e.prototype._actualOnEnter=function(t,n,o){for(var i=0,r=this._regExpRules.length;r>i;i++){var s=this._regExpRules[i];if(s.beforeText.test(n)){if(!s.afterText)return s.action;if(s.afterText.test(o))return s.action}}if(n.length>0&&o.length>0)for(var i=0,r=this._brackets.length;r>i;i++){var a=this._brackets[i];if(a.openRegExp.test(n)&&a.closeRegExp.test(o))return e._INDENT_OUTDENT}if(this._indentationRules){if(this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(n))return e._INDENT;if(this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(n))return e._INDENT;if(/^\s/.test(n)){if(this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(o))return e._OUTDENT;if(this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(t))return e._OUTDENT}}if(n.length>0)for(var i=0,r=this._brackets.length;r>i;i++){var a=this._brackets[i];if(a.openRegExp.test(n))return e._INDENT}return null},e._createOpenBracketRegExp=function(t){var n=r.escapeRegExpCharacters(t);return/\B/.test(n.charAt(0))||(n="\\b"+n),n+="\\s*$",e._safeRegExp(n)},e._createCloseBracketRegExp=function(t){var n=r.escapeRegExpCharacters(t);return/\B/.test(n.charAt(n.length-1))||(n+="\\b"),n="^\\s*"+n,e._safeRegExp(n)},e._safeRegExp=function(e){try{return new RegExp(e)}catch(t){return i.onUnexpectedError(t),null}},e._INDENT={indentAction:o.IndentAction.Indent},e._INDENT_OUTDENT={indentAction:o.IndentAction.IndentOutdent},e._OUTDENT={indentAction:o.IndentAction.Outdent},e}();t.OnEnterSupport=s}),define("vs/editor/common/modes/textToHtmlTokenizer",["require","exports","vs/base/common/strings","vs/editor/common/modes/nullMode"],function(e,t,n,o){function i(e,t){return a(e,s(t))}function r(e,t,n){return u(e,s(t),n)}function s(e){return e&&e.tokenizationSupport?e.tokenizationSupport:{shouldGenerateEmbeddedModels:!1,getInitialState:function(){return new o.NullState(null,null)},tokenize:function(e,t,n,i){return void 0===n&&(n=0),o.nullTokenize(null,e,t,n,i)}}}function a(e,t){var n={tagName:"div",style:"white-space: pre",children:[]},o=function(e,t){n.children.push({tagName:"span",className:e,text:t})},i=function(){n.children.push({tagName:"br"})};return l(e,t,o,i),n}function u(e,t,o){void 0===o&&(o=""),o&&o.length>0&&(o=" "+o);var i="",r=function(e,t){i+=''+n.escape(t)+""},s=function(){i+="
"};return i='
',l(e,t,r,s),i+="
"}function l(e,t,n,o){for(var i=e.split(/\r\n|\r|\n/),r=t.getInitialState(),s=0;s0&&(d+=" "+h),n(d,i)}return s}t.tokenizeToHtmlContent=i,t.tokenizeToString=r});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/viewLayout/editorScrollable",["require","exports","vs/base/common/eventEmitter"],function(e,t,n){var o=function(e){function t(){e.call(this,[t._SCROLL_EVENT,t._INTERNAL_SIZE_CHANGED_EVENT]),this.scrollTop=0,this.scrollLeft=0,this.scrollWidth=0,this.scrollHeight=0,this.width=0,this.height=0}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getWidth=function(){return this.width},t.prototype.setWidth=function(e){e=Math.floor(e),0>e&&(e=0),this.width!==e&&(this.width=e,this.setScrollWidth(this.scrollWidth),this.setScrollLeft(this.scrollLeft))},t.prototype.getScrollWidth=function(){return this.scrollWidth},t.prototype.setScrollWidth=function(e){e=Math.floor(e),ee&&(e=0),e+this.width>this.scrollWidth&&(e=this.scrollWidth-this.width),this.scrollLeft!==e&&(this.scrollLeft=e,this._emitScrollEvent(!1,!0))},t.prototype.getHeight=function(){return this.height},t.prototype.setHeight=function(e){e=Math.floor(e),0>e&&(e=0),this.height!==e&&(this.height=e,this.setScrollHeight(this.scrollHeight),this.setScrollTop(this.scrollTop))},t.prototype.getScrollHeight=function(){return this.scrollHeight},t.prototype.setScrollHeight=function(e){e=Math.floor(e),ee&&(e=0),e+this.height>this.scrollHeight&&(e=this.scrollHeight-this.height),this.scrollTop!==e&&(this.scrollTop=e,this._emitScrollEvent(!0,!1))},t.prototype._emitScrollEvent=function(e,n){var o={vertical:e,horizontal:n,scrollTop:this.scrollTop,scrollLeft:this.scrollLeft};this.emit(t._SCROLL_EVENT,o)},t.prototype.addScrollListener=function(e){return this.addListener2(t._SCROLL_EVENT,e)},t.prototype._emitInternalSizeEvent=function(){this.emit(t._INTERNAL_SIZE_CHANGED_EVENT)},t.prototype.addInternalSizeChangeListener=function(e){return this.addListener2(t._INTERNAL_SIZE_CHANGED_EVENT,e)},t._SCROLL_EVENT="scroll",t._INTERNAL_SIZE_CHANGED_EVENT="internalSizeChanged",t}(n.EventEmitter);t.EditorScrollable=o}),define("vs/editor/common/viewLayout/viewLineParts",["require","exports","vs/base/common/strings","vs/editor/common/core/arrays"],function(e,t,n,o){function i(e,t,n,o,i){return i&&(o=s(e,t,n.getFauxIndentLength(),o)),o.length>0?new u(e,n,t,o):new a(n,t)}function r(e,t){if(e.length<=1)return e;var n=e[e.length-1].startIndex;return n=r.endColumn?r=null:r.startColumn=o+1),a){var l=n.lastNonWhitespaceIndex(t);l!==t.length-1&&(s={startLineNumber:e,endLineNumber:e,startColumn:l+2,endColumn:t.length+1})}if(r||s){var c=i.slice(0);return r&&c.unshift({options:{inlineClassName:"leading whitespace"},range:r}),s&&c.push({options:{inlineClassName:"trailing whitespace"},range:s}),c}return i}t.createLineParts=i;var a=function(){function e(e,t){this.lineTokens=e,this.parts=e.getTokens(),this.parts=r(this.parts,t)}return e.prototype.getParts=function(){return this.parts},e.prototype.equals=function(t){if(t instanceof e){var n=t;return this.lineTokens.equals(n.lineTokens)}return!1},e.prototype.findIndexOfOffset=function(e){return o.Arrays.findIndexInSegmentsArray(this.parts,e)},e}();t.FastViewLineParts=a;var u=function(){function e(e,t,n,o){for(var i,r,s,a=h.normalize(e,o),u=0,c=a.length,d=t.getTokens(),p=[],f=0,m=d.length;m>f;f++){for(i=d[f].startIndex,r=m>f+1?d[f+1].startIndex:t.getTextLength(),s=d[f].type;c>u&&a[u].startOffseti&&(p.push(new l(i,s)),i=a[u].startOffset),p.push(new l(i,s+" "+a[u].className)),a[u].endOffset>=r){i=r;break}i=a[u].endOffset+1,u++}r>i&&p.push(new l(i,s))}this.parts=p,this.lastPartIndex=p.length-1,this.lastEndOffset=r}return e.prototype.getParts=function(){return this.parts},e.prototype.equals=function(t){if(t instanceof e){var n=t;if(this.lastPartIndex!==n.lastPartIndex)return!1;if(this.lastEndOffset!==n.lastEndOffset)return!1;for(var o=0,i=this.parts.length;i>o;o++){if(this.parts[o].startIndex!==n.parts[o].startIndex)return!1;if(this.parts[o].type!==n.parts[o].type)return!1}return!0}return!1},e.prototype.findIndexOfOffset=function(e){return o.Arrays.findIndexInSegmentsArray(this.parts,e)},e}();t.ViewLineParts=u;var l=function(){function e(e,t){this.startIndex=e,this.type=t}return e}(),c=function(){function e(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}return e}();t.DecorationSegment=c;var d=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&e>t&&(n.push(new c(t,e-1,this.classNames.join(" "))),t=e),t},e.prototype.insert=function(e,t){if(0===this.count||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t);else for(var n=0;n=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),h=function(){function e(){}return e.normalize=function(t,n){var o=[];if(0===n.length)return o;var i,r,s,a,u,l=new d,c=0;for(a=0,u=n.length;u>a;a++)i=n[a],i.range.endLineNumbert||(i.range.startLineNumber!==i.range.endLineNumber||i.range.startColumn!==i.range.endColumn)&&(r=i.range.startLineNumber===t?i.range.startColumn-1:0,s=i.range.endLineNumber===t?i.range.endColumn-2:e.MAX_LINE_LENGTH-1,0>s||(c=l.consumeLowerThan(r,c,o),0===l.count&&(c=r),l.insert(s,i.options.inlineClassName)));return l.consumeLowerThan(e.MAX_LINE_LENGTH,c,o),o},e.MAX_LINE_LENGTH=1e7,e}();t.LineDecorationsNormalizer=h});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/lines/viewLine",["require","exports","vs/base/browser/browser","vs/base/browser/dom","vs/editor/common/viewLayout/viewLineParts","vs/editor/browser/editorBrowser"],function(e,t,n,o,i,r){function s(e,t){return e.top===t.top?e.left-t.left:e.top-t.top}function a(e,t,n){var o=e.findIndexOfOffset(t);return n>=o?o:n}function u(e){return new f(e)}function l(e){return new m(e)}function c(e){return new p(e)}function d(e){var t=e.lineContent,n={charOffsetInPart:[],hasOverflowed:!1,lastRenderedPartIndex:0,partsCount:0,output:[]},o=0;if(n.output.push(""),t.length>0){var i,r,s,a,u=t.length,l=-1,c=0,d=0,h=0,p="",f=e.tabSize,m=e.stopRenderingLineAfter,g=!1,L=e.parts;if(0===L.length)throw new Error("Cannot render non empty line without line parts!");for(-1!==m&&u>m-1&&(p=t.substr(m-1,1),u=m-1,n.hasOverflowed=!0),r=0;u>r;r++){switch(r===c&&(l++,c=l+10&&n.output.push(""),o++,n.output.push('=0),n.output.push(s),n.output.push('">'),h=0),n.charOffsetInPart[r]=h,i=t.charCodeAt(r)){case y:for(a=f-(r+d)%f,d+=a-1,h+=a-1,a>0&&(n.output.push(g?"→":" "),a--);a>0;)n.output.push(" "),a--;break;case v:n.output.push(g?"·":" ");break;case _:n.output.push("<");break;case b:n.output.push(">");break;case C:n.output.push("&");break;case 0:n.output.push("�");break;case S:case E:n.output.push(T);break;case w:n.output.push("​");break;default:n.output.push(t.charAt(r))}h++}n.output.push(""),n.charOffsetInPart[u]=h,n.lastRenderedPartIndex=l,p.length>0&&(n.output.push(''),n.output.push(p),n.output.push("…"))}else n.output.push(" ");return n.output.push(""),n.partsCount=o,n}var h=function(){function e(e,t,n,o){this.top=e,this.left=t,this.width=n,this.height=o}return e}(),p=function(){function e(e){this._context=e,this._domNode=null,this._isInvalid=!0,this._isMaybeInvalid=!1,this._lineParts=null,this._charOffsetInPart=[],this._hasOverflowed=!1,this._lastRenderedPartIndex=0}return e.prototype.getDomNode=function(){return this._domNode},e.prototype.setDomNode=function(e){this._domNode=e},e.prototype.onContentChanged=function(){this._isInvalid=!0},e.prototype.onLinesInsertedAbove=function(){this._isMaybeInvalid=!0},e.prototype.onLinesDeletedAbove=function(){this._isMaybeInvalid=!0},e.prototype.onLineChangedAbove=function(){this._isMaybeInvalid=!0},e.prototype.onTokensChanged=function(){this._isMaybeInvalid=!0},e.prototype.onModelDecorationsChanged=function(){this._isMaybeInvalid=!0},e.prototype.onConfigurationChanged=function(e){this._isInvalid=!0},e.prototype.shouldUpdateHTML=function(e,t){var n=null;return(this._isMaybeInvalid||this._isInvalid)&&(n=this._computeLineParts(e,t)),this._isMaybeInvalid&&(this._isInvalid||this._lineParts&&this._lineParts.equals(n)||(this._isInvalid=!0),this._isMaybeInvalid=!1),this._isInvalid&&(this._lineParts=n),this._isInvalid},e.prototype.getLineOuterHTML=function(e,t,n){e.push('
'),e.push(this.getLineInnerHTML(t)),e.push("
")},e.prototype.getLineInnerHTML=function(e){return this._isInvalid=!1,this._renderMyLine(e,this._lineParts).join("")},e.prototype.layoutLine=function(e,t){var n=this._domNode.getAttribute("lineNumber");n!==e.toString()&&this._domNode.setAttribute("lineNumber",e.toString()),o.StyleMutator.setTop(this._domNode,t),o.StyleMutator.setHeight(this._domNode,this._context.configuration.editor.lineHeight)},e.prototype._computeLineParts=function(e,t){return i.createLineParts(e,this._context.model.getLineContent(e),this._context.model.getLineTokens(e),t,this._context.configuration.editor.renderWhitespace)},e.prototype._renderMyLine=function(e,t){this._bustReadingCache();var n=d({lineContent:this._context.model.getLineContent(e),tabSize:this._context.configuration.getIndentationOptions().tabSize,stopRenderingLineAfter:this._context.configuration.editor.stopRenderingLineAfter,renderWhitespace:this._context.configuration.editor.renderWhitespace,parts:t.getParts()});return this._charOffsetInPart=n.charOffsetInPart,this._hasOverflowed=n.hasOverflowed, +this._lastRenderedPartIndex=n.lastRenderedPartIndex,n.output},e.prototype._getReadingTarget=function(){return this._domNode.firstChild},e.prototype._bustReadingCache=function(){this._cachedWidth=-1},e.prototype.getHeight=function(){return this._domNode.offsetHeight},e.prototype.getWidth=function(){return-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget().offsetWidth),this._cachedWidth},e.prototype.getVisibleRangesForRange=function(e,t,n,o,i,r,s){var a=this._context.configuration.editor.stopRenderingLineAfter;return-1!==a&&t>a&&n>a?null:(-1!==a&&t>a&&(t=a),-1!==a&&n>a&&(n=a),this._readVisibleRangesForRange(e,t,n,o,i,r,s))},e.prototype._readVisibleRangesForRange=function(e,t,n,o,i,r,a){var u;if(u=t===n?this._readRawVisibleRangesForPosition(e,t,o,i,r,a):this._readRawVisibleRangesForRange(e,t,n,o,i,r,a),!u||u.length<=1)return u;u.sort(s);for(var l,c=[],d=u[0],h=1,p=u.length;p>h;h++)l=u[h],d.left+d.width+.3>=l.left?d.width=Math.max(d.width,l.left+l.width-d.left):(c.push(d),d=l);return c.push(d),c},e.prototype._readRawVisibleRangesForPosition=function(e,t,n,o,i,r){if(0===this._charOffsetInPart.length){var s=this._readRawVisibleRangesForEntireLine(n,o,i);return s[0].width=0,s}var u=a(this._lineParts,t-1,this._lastRenderedPartIndex),l=this._charOffsetInPart[t-1];return this._readRawVisibleRangesFrom(this._getReadingTarget(),u,l,u,l,n,o,i,r)},e.prototype._readRawVisibleRangesForRange=function(e,t,n,o,i,r,s){if(1===t&&n===this._charOffsetInPart.length)return this._readRawVisibleRangesForEntireLine(o,i,r);var u=a(this._lineParts,t-1,this._lastRenderedPartIndex),l=this._charOffsetInPart[t-1],c=a(this._lineParts,n-1,this._lastRenderedPartIndex),d=this._charOffsetInPart[n-1];return this._readRawVisibleRangesFrom(this._getReadingTarget(),u,l,c,d,o,i,r,s)},e.prototype._readRawVisibleRangesForEntireLine=function(e,t,n){var o=this._domNode.getBoundingClientRect();return[new h(o.top-e,0,this._getReadingTarget().offsetWidth,o.height)]},e.prototype._readRawVisibleRangesFrom=function(e,t,n,o,i,r,s,a,u){var l=g.createRange();try{var c=0,d=e.children.length-1;if(c>d)return null;t=Math.min(d,Math.max(c,t)),o=Math.min(d,Math.max(c,o)),t!==o&&o>0&&0===i&&(o--,i=Number.MAX_VALUE);var h=e.children[t].firstChild,p=e.children[o].firstChild;if(!h||!p)return null;n=Math.min(h.textContent.length,Math.max(0,n)),i=Math.min(p.textContent.length,Math.max(0,i)),l.setStart(h,n),l.setEnd(p,i);var f=l.getClientRects(),m=null;return f.length>0&&(m=this._createRawVisibleRangesFromClientRects(f,r,s,a)),m}catch(v){return null}finally{g.detachRange(l,u)}},e.prototype._createRawVisibleRangesFromClientRects=function(e,t,n,o){var i,r,s=e.length,a=[];for(r=0;s>r;r++)i=e[r],a.push(new h(i.top-t-n,Math.max(0,i.left-o),i.width,i.height));return a},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var o=-1;t;)t=t.previousSibling,o++;var i=this._lineParts.getParts();if(o>=i.length)return this._context.configuration.editor.stopRenderingLineAfter;if(0===n)return i[o].startIndex+1;var r,s,a=i[o].startIndex;o+1l;){if(u=Math.floor((l+c)/2),d=this._charOffsetInPart[u],h=u===r?Number.MAX_VALUE:u+1===r?s:this._charOffsetInPart[u+1],p=u===a?Number.MIN_VALUE:this._charOffsetInPart[u-1],f=(p+d)/2,m=(d+h)/2,n>f&&m>=n)return u+1;f>=n?c=u-1:l=u+1}return l+1},e}(),f=function(e){function t(t){e.call(this,t)}return __extends(t,e),t.prototype._createRawVisibleRangesFromClientRects=function(e,t,n,o){var i,r,s=e.length,a=[],u=screen.logicalYDPI/screen.deviceYDPI,l=screen.logicalXDPI/screen.deviceXDPI;for(a=new Array(s),r=0;s>r;r++)i=e[r],a[r]=new h(i.top*u-t-n,Math.max(0,i.left*l-o),i.width*l,i.height*u);return a},t}(p),m=function(e){function t(t){e.call(this,t)}return __extends(t,e),t.prototype._readVisibleRangesForRange=function(t,n,o,i,r,s,a){var u=e.prototype._readVisibleRangesForRange.call(this,t,n,o,i,r,s,a);if(!u||0===u.length||n===o||1===n&&o===this._charOffsetInPart.length)return u;var l=this._readRawVisibleRangesForPosition(t,o-1,i,r,s,a),c=this._readRawVisibleRangesForPosition(t,o,i,r,s,a);if(l&&l.length>0&&c&&c.length>0){var d=l[0],h=c[0],p=!0;d.top===h.top&&(p=d.left<=h.left);var f=u[u.length-1];p&&f.top===h.top&&f.lefth.top&&u.splice(u.length-1,1)}return u},t}(p),g=function(){function e(){}return e.createRange=function(){return e._handyReadyRange||(e._handyReadyRange=document.createRange()),e._handyReadyRange},e.detachRange=function(e,t){e.selectNodeContents(t)},e}();t.createLine=function(){return window.screen&&window.screen.deviceXDPI&&(navigator.userAgent.indexOf("Trident/6.0")>=0||navigator.userAgent.indexOf("Trident/5.0")>=0)?u:n.isWebKit?l:c}();var v=" ".charCodeAt(0),y=" ".charCodeAt(0),_="<".charCodeAt(0),b=">".charCodeAt(0),C="&".charCodeAt(0),w="\r".charCodeAt(0),E="\u2028".charCodeAt(0),S=65279,T="�";t.renderLine=d}),define("vs/editor/browser/standalone/colorizer",["require","exports","vs/base/common/winjs.base","vs/base/common/async","vs/editor/browser/viewParts/lines/viewLine","vs/editor/common/editorCommon"],function(e,t,n,o,i,r){function s(e,t,n){n=n||{};var o=n.theme||"vs",i=n.mimeType||t.getAttribute("lang")||t.getAttribute("data-lang");if(!i)return void console.error("Mode not detected");var r=t.firstChild.nodeValue;t.className+="monaco-editor "+o;var s=function(e){t.innerHTML=e};return a(e,r,i,n).then(s,function(e){return console.error(e)},s)}function a(e,t,i,r){r=r||{},"undefined"==typeof r.tabSize&&(r.tabSize=4);var s,a,u,l,d=t.split("\n"),h=!1,p=new n.TPromise(function(e,t,n){s=e,a=t,u=n},function(){h=!0}),f=new o.RunOnceScheduler(function(){if(!h){var e=c(d,l,r.tabSize);e.retokenize.length>0?(e.retokenize.forEach(function(e){return e.then(m)}),u(e.result)):s(e.result)}},0),m=function(){return f.schedule()};return e.getOrCreateMode(i).then(function(e){return e?e.tokenizationSupport?(l=e,void m()):void a('Mode found ("'+e.getId()+'"), but does not support tokenization.'):void a('Mode not found: "'+i+'".')}),p}function u(e,t,n){void 0===n&&(n=4);var o=i.renderLine({lineContent:e,parts:t,stopRenderingLineAfter:-1,renderWhitespace:!1,tabSize:n});return o.output.join("")}function l(e,t,n){void 0===n&&(n=4);var o=e.getLineContent(t),i=e.getLineTokens(t,!1),s=r.LineTokensBinaryEncoding.inflateArr(i.getBinaryEncodedTokensMap(),i.getBinaryEncodedTokens());return u(o,s,n)}function c(e,t,n){var o,r,s,a,u,l=t.tokenizationSupport,c=[],d=l.getInitialState(),h=[];for(o=0,r=e.length;r>o;o++)s=e[o],a=l.tokenize(s,d),a.retokenize&&h.push(a.retokenize),u=i.renderLine({lineContent:s,parts:a.tokens,stopRenderingLineAfter:-1,renderWhitespace:!1,tabSize:n}),c=c.concat(u.output),c.push("
"),d=a.endState;return{result:c.join(""),retokenize:h}}t.colorizeElement=s,t.colorize=a,t.colorizeLine=u,t.colorizeModelLine=l}),define("vs/editor/common/viewModel/characterHardWrappingLineMapper",["require","exports","vs/base/common/strings","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/editorCommon"],function(e,t,n,o,i){function r(e,t,n){var o,i=[],r=0,s=e+t+n;for(o=0;o=o;o++)i[o]=0;for(o=0;ov;v++)p=e.nextVisibleColumn(p,r,t.charCodeAt(v)===m,1);h===i.WrappingIndent.Indent&&(f+=" ",p=e.nextVisibleColumn(p,r,!0,1)),p>.5*s&&(f="",p=0)}}var v,y,_,b,C,w,E,S,T=this.characterClasses,L=0,x=[],M=0,I=-1,N=0,R=-1,k=0;for(_=0,v=0,y=t.length;y>v;v++){b=t.charCodeAt(v),C=b===m,w=b=11904&&55215>=b||b>=63744&&64255>=b||b>=65281&&65374>=b)&&(O=c),_=e.nextVisibleColumn(_,r,C,O),_>s&&0!==v&&(-1!==I?(E=I,S=N+p):-1!==R?(E=R,S=k+p):(E=v,S=0+p),x[M++]=E-L,L=E,_=e.nextVisibleColumn(S,r,C,O),I=-1,N=0,R=-1,k=0),-1!==I&&(N=e.nextVisibleColumn(N,r,C,O)),-1!==R&&(k=e.nextVisibleColumn(k,r,C,O)),w===u&&(I=v+1,N=0),w===l&&(R=v+1,k=0)}return 0===M?null:(x[M++]=y-L,new d(new o.PrefixSumComputer(x),f))},e}();t.CharacterHardWrappingLineMapperFactory=c;var d=function(){function e(e,t){this._prefixSums=e,this._wrappedLinesIndent=t}return e.prototype.getOutputLineCount=function(){return this._prefixSums.getCount()},e.prototype.getWrappedLinesIndent=function(){return this._wrappedLinesIndent},e.prototype.getInputOffsetOfOutputPosition=function(e,t){return 0===e?t:this._prefixSums.getAccumulatedValue(e-1)+t},e.prototype.getOutputPositionOfInputOffset=function(e,t){this._prefixSums.getIndexOf(e,s),t.outputLineIndex=s.index,t.outputOffset=s.remainder},e}();t.CharacterHardWrappingLineMapping=d}),define("vs/editor/common/viewModel/filteredLineTokens",["require","exports","vs/editor/common/editorCommon","vs/editor/common/core/arrays"],function(e,t,n,o){var i=function(){function e(e,t,o,i){this._original=e,this._startOffset=t,this._endOffset=o,this._deltaStartIndex=i,this.inflatedTokens=n.LineTokensBinaryEncoding.sliceAndInflate(e.getBinaryEncodedTokensMap(),e.getBinaryEncodedTokens(),t,o,i)}return e.prototype.getTokens=function(){return this.inflatedTokens},e.prototype.getFauxIndentLength=function(){return this._deltaStartIndex},e.prototype.getTextLength=function(){return this._endOffset-this._startOffset+this._deltaStartIndex},e.prototype.equals=function(t){if(t instanceof e){var n=t;return this._startOffset!==n._startOffset?!1:this._endOffset!==n._endOffset?!1:this._deltaStartIndex!==n._deltaStartIndex?!1:this._original.equals(n._original)}return!1},e.prototype.findIndexOfOffset=function(e){return o.Arrays.findIndexInSegmentsArray(this.inflatedTokens,e)},e}();t.FilteredLineTokens=i;var r=function(){function e(e,t){this._original=e,this._textLength=t}return e.prototype.getTokens=function(){return n.LineTokensBinaryEncoding.inflateArr(this._original.getBinaryEncodedTokensMap(),this._original.getBinaryEncodedTokens())},e.prototype.getFauxIndentLength=function(){return 0},e.prototype.getTextLength=function(){return this._textLength},e.prototype.equals=function(t){if(t instanceof e){var n=t;return this._original.equals(n._original)}return!1},e.prototype.findIndexOfOffset=function(e){return this._original.findIndexOfOffset(e)},e}();t.IdentityFilteredLineTokens=r}),define("vs/editor/common/viewModel/splitLinesCollection",["require","exports","vs/editor/common/core/position","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/viewModel/filteredLineTokens","vs/editor/common/editorCommon"],function(e,t,n,o,i,r){function s(e,t,n,o,i,r){var s=e.createLineMapping(t,n,o,i,r);return null===s?u.INSTANCE:new l(s)}var a={outputLineIndex:0,outputOffset:0},u=function(){function e(){}return e.prototype.getOutputLineCount=function(){return 1},e.prototype.getOutputLineContent=function(e,t,n){return e.getLineContent(t)},e.prototype.getOutputLineMinColumn=function(e,t,n){return e.getLineMinColumn(t)},e.prototype.getOutputLineMaxColumn=function(e,t,n){return e.getLineMaxColumn(t)},e.prototype.getOutputLineTokens=function(e,t,n,o){return new i.IdentityFilteredLineTokens(e.getLineTokens(t,o),e.getLineMaxColumn(t)-1)},e.prototype.getInputColumnOfOutputPosition=function(e,t){return t},e.prototype.getOutputPositionOfInputPosition=function(e,t){return new n.Position(e,t)},e.INSTANCE=new e,e}(),l=function(){function e(e){this.positionMapper=e,this.wrappedIndent=this.positionMapper.getWrappedLinesIndent(),this.wrappedIndentLength=this.wrappedIndent.length,this.outputLineCount=this.positionMapper.getOutputLineCount()}return e.prototype.getOutputLineCount=function(){return this.outputLineCount},e.prototype.getInputStartOffsetOfOutputLineIndex=function(e){return this.positionMapper.getInputOffsetOfOutputPosition(e,0)},e.prototype.getInputEndOffsetOfOutputLineIndex=function(e,t,n){return n+1===this.outputLineCount?e.getLineMaxColumn(t)-1:this.positionMapper.getInputOffsetOfOutputPosition(n+1,0)},e.prototype.getOutputLineContent=function(e,t,n){var o=this.getInputStartOffsetOfOutputLineIndex(n),i=this.getInputEndOffsetOfOutputLineIndex(e,t,n),r=e.getLineContent(t).substring(o,i);return n>0&&(r=this.wrappedIndent+r),r},e.prototype.getOutputLineMinColumn=function(e,t,n){return n>0?this.wrappedIndentLength+1:1},e.prototype.getOutputLineMaxColumn=function(e,t,n){return this.getOutputLineContent(e,t,n).length+1},e.prototype.getOutputLineTokens=function(e,t,n,o){var r=this.getInputStartOffsetOfOutputLineIndex(n),s=this.getInputEndOffsetOfOutputLineIndex(e,t,n),a=0;return n>0&&(a=this.wrappedIndentLength),new i.FilteredLineTokens(e.getLineTokens(t,o),r,s,a)},e.prototype.getInputColumnOfOutputPosition=function(e,t){var n=t-1;return e>0&&(n0&&(i+=this.wrappedIndentLength),new n.Position(e+o,i)},e}();t.SplitLine=l;var c=function(){function e(e,t,n,o,i,r){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=o,this.columnsForFullWidthChar=i,this.wrappingIndent=r,this.linePositionMapperFactory=t,this.constructLines(),this.tmpIndexOfResult={index:0,remainder:0}}return e.prototype._ensureValidState=function(){var e=this.model.getVersionId();if(e!==this._validModelVersionId)throw new Error("SplitLinesCollection: attempt to access a 'newer' model")},e.prototype.constructLines=function(){this.lines=[];for(var e,t=[],n=this.model.getLinesContent(),i=0,r=n.length;r>i;i++)e=s(this.linePositionMapperFactory,n[i],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent),t[i]=e.getOutputLineCount(),this.lines[i]=e;this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new o.PrefixSumComputer(t)},e.prototype.setTabSize=function(e,t){return this.tabSize===e?!1:(this.tabSize=e,this.constructLines(),t(r.ViewEventNames.ModelFlushedEvent,null),!0)},e.prototype.setWrappingIndent=function(e,t){return this.wrappingIndent===e?!1:(this.wrappingIndent=e,this.constructLines(),t(r.ViewEventNames.ModelFlushedEvent,null),!0)},e.prototype.setWrappingColumn=function(e,t,n){return this.wrappingColumn===e&&this.columnsForFullWidthChar===t?!1:(this.wrappingColumn=e,this.columnsForFullWidthChar=t,this.constructLines(),n(r.ViewEventNames.ModelFlushedEvent,null),!0)},e.prototype.onModelFlushed=function(e,t){this.constructLines(),t(r.ViewEventNames.ModelFlushedEvent,null)},e.prototype.onModelLinesDeleted=function(e,t,n,o){if(!(e<=this._validModelVersionId)){this._validModelVersionId=e;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,s=this.prefixSumComputer.getAccumulatedValue(n-1);this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1);var a={fromLineNumber:i,toLineNumber:s};o(r.ViewEventNames.LinesDeletedEvent,a)}},e.prototype.onModelLinesInserted=function(e,t,n,o,i){if(!(e<=this._validModelVersionId)){this._validModelVersionId=e;for(var a,u,l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,c=0,d=[],h=[],p=0,f=o.length;f>p;p++){var a=s(this.linePositionMapperFactory,o[p],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent);d.push(a),u=a.getOutputLineCount(),c+=u,h.push(u)}this.lines=this.lines.slice(0,t-1).concat(d).concat(this.lines.slice(t-1)),this.prefixSumComputer.insertValues(t-1,h);var m={fromLineNumber:l,toLineNumber:l+c-1};i(r.ViewEventNames.LinesInsertedEvent,m)}},e.prototype.onModelLineChanged=function(e,t,n,o){if(!(e<=this._validModelVersionId)){this._validModelVersionId=e;var i=t-1,a=this.lines[i].getOutputLineCount(),u=s(this.linePositionMapperFactory,n,this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent);this.lines[i]=u;var l=this.lines[i].getOutputLineCount(),c=!1,d=0,h=-1,p=0,f=-1,m=0,g=-1;a>l?(d=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,h=d+l-1,m=h+1,g=m+(a-l)-1,c=!0):l>a?(d=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,h=d+a-1,p=h+1,f=p+(l-a)-1,c=!0):(d=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,h=d+l-1),this.prefixSumComputer.changeValue(i,l);var v,y,_,b;if(h>=d)for(var v=d;h>=v;v++)y={lineNumber:v},o(r.ViewEventNames.LineChangedEvent,y);return f>=p&&(_={fromLineNumber:p,toLineNumber:f},o(r.ViewEventNames.LinesInsertedEvent,_)),g>=m&&(b={fromLineNumber:m,toLineNumber:g},o(r.ViewEventNames.LinesDeletedEvent,b)),c}},e.prototype.getOutputLineCount=function(){return this._ensureValidState(),this.prefixSumComputer.getTotalValue()},e.prototype.getOutputLineContent=function(e){this._ensureValidState(),this.prefixSumComputer.getIndexOf(e-1,this.tmpIndexOfResult);var t=this.tmpIndexOfResult.index,n=this.tmpIndexOfResult.remainder;return this.lines[t].getOutputLineContent(this.model,t+1,n)},e.prototype.getOutputLineMinColumn=function(e){this._ensureValidState(),this.prefixSumComputer.getIndexOf(e-1,this.tmpIndexOfResult);var t=this.tmpIndexOfResult.index,n=this.tmpIndexOfResult.remainder;return this.lines[t].getOutputLineMinColumn(this.model,t+1,n)},e.prototype.getOutputLineMaxColumn=function(e){this._ensureValidState(),this.prefixSumComputer.getIndexOf(e-1,this.tmpIndexOfResult);var t=this.tmpIndexOfResult.index,n=this.tmpIndexOfResult.remainder;return this.lines[t].getOutputLineMaxColumn(this.model,t+1,n)},e.prototype.getOutputLineTokens=function(e,t){this._ensureValidState(),this.prefixSumComputer.getIndexOf(e-1,this.tmpIndexOfResult);var n=this.tmpIndexOfResult.index,o=this.tmpIndexOfResult.remainder;return this.lines[n].getOutputLineTokens(this.model,n+1,o,t)},e.prototype.convertOutputPositionToInputPosition=function(e,t){this._ensureValidState(),this.prefixSumComputer.getIndexOf(e-1,this.tmpIndexOfResult);var o=this.tmpIndexOfResult.index,i=this.tmpIndexOfResult.remainder,r=this.lines[o].getInputColumnOfOutputPosition(i,t);return new n.Position(o+1,r)},e.prototype.convertInputPositionToOutputPosition=function(e,t){this._ensureValidState(),e>this.lines.length&&(e=this.lines.length);var n=1+(1===e?0:this.prefixSumComputer.getAccumulatedValue(e-2)),o=this.lines[e-1].getOutputPositionOfInputPosition(n,t);return o},e}();t.SplitLinesCollection=c}),define("vs/editor/common/viewModel/viewEventHandler",["require","exports","vs/editor/common/editorCommon"],function(e,t,n){var o=function(){function e(){this.shouldRender=!0}return e.prototype.onLineMappingChanged=function(){return!1},e.prototype.onModelFlushed=function(){return!1},e.prototype.onModelDecorationsChanged=function(e){return!1},e.prototype.onModelLinesDeleted=function(e){return!1},e.prototype.onModelLineChanged=function(e){return!1},e.prototype.onModelLinesInserted=function(e){return!1},e.prototype.onModelTokensChanged=function(e){return!1},e.prototype.onCursorPositionChanged=function(e){return!1},e.prototype.onCursorSelectionChanged=function(e){return!1},e.prototype.onCursorRevealRange=function(e){return!1},e.prototype.onConfigurationChanged=function(e){return!1},e.prototype.onLayoutChanged=function(e){return!1},e.prototype.onScrollChanged=function(e){return!1},e.prototype.onZonesChanged=function(){return!1},e.prototype.onScrollWidthChanged=function(e){return!1},e.prototype.onScrollHeightChanged=function(e){return!1},e.prototype.onViewFocusChanged=function(e){return!1},e.prototype.handleEvents=function(e){var t,o,i,r;for(t=0,o=e.length;o>t;t++)switch(i=e[t],r=i.getData(),i.getType()){case n.ViewEventNames.LineMappingChangedEvent:this.shouldRender=this.onLineMappingChanged()||this.shouldRender;break;case n.ViewEventNames.ModelFlushedEvent:this.shouldRender=this.onModelFlushed()||this.shouldRender;break;case n.ViewEventNames.LinesDeletedEvent:this.shouldRender=this.onModelLinesDeleted(r)||this.shouldRender;break;case n.ViewEventNames.LinesInsertedEvent:this.shouldRender=this.onModelLinesInserted(r)||this.shouldRender;break;case n.ViewEventNames.LineChangedEvent:this.shouldRender=this.onModelLineChanged(r)||this.shouldRender;break;case n.ViewEventNames.TokensChangedEvent:this.shouldRender=this.onModelTokensChanged(r)||this.shouldRender;break;case n.ViewEventNames.DecorationsChangedEvent:this.shouldRender=this.onModelDecorationsChanged(r)||this.shouldRender;break;case n.ViewEventNames.CursorPositionChangedEvent:this.shouldRender=this.onCursorPositionChanged(r)||this.shouldRender;break;case n.ViewEventNames.CursorSelectionChangedEvent:this.shouldRender=this.onCursorSelectionChanged(r)||this.shouldRender;break;case n.ViewEventNames.RevealRangeEvent:this.shouldRender=this.onCursorRevealRange(r)||this.shouldRender;break;case n.EventType.ConfigurationChanged:this.shouldRender=this.onConfigurationChanged(r)||this.shouldRender;break;case n.EventType.ViewLayoutChanged:this.shouldRender=this.onLayoutChanged(r)||this.shouldRender;break;case n.EventType.ViewScrollChanged:this.shouldRender=this.onScrollChanged(r)||this.shouldRender;break;case n.EventType.ViewZonesChanged:this.shouldRender=this.onZonesChanged()||this.shouldRender;break;case n.EventType.ViewScrollWidthChanged:this.shouldRender=this.onScrollWidthChanged(r)||this.shouldRender;break;case n.EventType.ViewScrollHeightChanged:this.shouldRender=this.onScrollHeightChanged(r)||this.shouldRender;break;case n.EventType.ViewFocusChanged:this.shouldRender=this.onViewFocusChanged(r)||this.shouldRender;break;default:console.info("View received unknown event: "),console.info(i)}},e}();t.ViewEventHandler=o});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/controller/keyboardHandler",["require","exports","vs/editor/common/editorCommon","vs/base/browser/keyboardController","vs/base/browser/dom","vs/base/common/platform","vs/base/browser/browser","vs/editor/common/viewModel/viewEventHandler","vs/base/common/async","vs/base/common/strings","vs/editor/common/core/range","vs/editor/common/core/position","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p;!function(e){e[e.Type=0]="Type",e[e.Paste=1]="Paste"}(p||(p={}));var f=function(){function e(e,t,n,o){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionToken=o}return e.prototype.toString=function(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"},e.fromTextArea=function(t,n){return new e(t.value,t.selectionStart,t.selectionEnd,n)},e.fromEditorSelectionAndPreviousState=function(t,o,i){if(s.isIPad)return new e("",0,0,u);var r=100,a=0,u=o.startLineNumber,l=o.startColumn,d=o.endLineNumber,h=o.endColumn,p=t.getLineMaxColumn(d);o.isEmpty()&&i!==u&&(l=1,h=p);var f="",m=Math.max(1,u-a);u>m&&(f=t.getValueInRange(new c.Range(m,1,u,1),n.EndOfLinePreference.LF)),f+=t.getValueInRange(new c.Range(u,1,u,l),n.EndOfLinePreference.LF),f.length>r&&(f=f.substring(f.length-r,f.length));var g="",v=Math.min(d+a,t.getLineCount());g+=t.getValueInRange(new c.Range(d,h,d,p),n.EndOfLinePreference.LF),v>d&&(g="\n"+t.getValueInRange(new c.Range(d+1,1,v,t.getLineMaxColumn(v)),n.EndOfLinePreference.LF)),g.length>r&&(g=g.substring(0,r));var y=t.getValueInRange(new c.Range(u,l,d,h),n.EndOfLinePreference.LF);return y.length>2*r&&(y=y.substring(0,r)+String.fromCharCode(8230)+y.substring(y.length-r,y.length)),new e(f+y+g,f.length,f.length+y.length,u)},e.prototype.getSelectionStart=function(){return this.selectionStart},e.prototype.resetSelection=function(){this.selectionStart=this.value.length,this.selectionEnd=this.value.length},e.prototype.getValue=function(){return this.value},e.prototype.getSelectionToken=function(){return this.selectionToken},e.prototype.applyToTextArea=function(e,t){if(e.value!==this.value&&(e.value=this.value),t)try{var n=i.saveParentsScrollTop(e);e.focus(),e.setSelectionRange(this.selectionStart,this.selectionEnd),i.restoreParentsScrollTop(e,n)}catch(o){}},e.prototype.extractNewText=function(e){if(this.selectionStart!==this.selectionEnd)return"";if(!e)return this.value;var t=e.value.substring(0,e.selectionStart),n=e.value.substring(e.selectionEnd,e.value.length);s.isIE11orEarlier&&document.queryCommandValue("OverWrite")&&(n=n.substr(1));var o=this.value;return o.substring(0,t.length)===t&&(o=o.substring(t.length)),o.substring(o.length-n.length,o.length)===n&&(o=o.substring(0,o.length-n.length)),o},e}(),m=function(e){function t(t,n,a){var h=this;e.call(this),this.context=t,this.viewController=n,this.textArea=a.textArea,this.viewHelper=a,this.selection=new c.Range(1,1,1,1),this.cursorPosition=new d.Position(1,1),this.contentLeft=0,this.contentWidth=0,this.scrollLeft=0,this.asyncReadFromTextArea=new u.RunOnceScheduler(null,0),this.asyncSetSelectionToTextArea=new u.RunOnceScheduler(function(){return h._writePlaceholderAndSelectTextArea()},0),this.asyncTriggerCut=new u.RunOnceScheduler(function(){return h._triggerCut()},0),this.lastCopiedValue=null,this.lastCopiedValueIsFromEmptySelection=!1,this.previousSetTextAreaState=null,this.hasFocus=!1,this.justHadAPaste=!1,this.justHadACut=!1,this.lastKeyPressTime=0,this.lastCompositionEndTime=0,this.lastValueWrittenToTheTextArea="",this.kbController=new o.KeyboardController(this.textArea),this.listenersToRemove=[],this.listenersToRemove.push(this.kbController.addListener("keydown",function(e){return h._onKeyDown(e)})),this.listenersToRemove.push(this.kbController.addListener("keyup",function(e){return h._onKeyUp(e)})),this.listenersToRemove.push(this.kbController.addListener("keypress",function(e){return h._onKeyPress(e)})),this.textareaIsShownAtCursor=!1,this.listenersToRemove.push(i.addListener(this.textArea,"compositionstart",function(e){var t=(new Date).getTime()-h.lastCompositionEndTime;h.textareaIsShownAtCursor||(h.textareaIsShownAtCursor=!0,h.showTextAreaAtCursor(t>=100)),h.asyncReadFromTextArea.cancel()})),this.listenersToRemove.push(i.addListener(this.textArea,"compositionend",function(e){h.textareaIsShownAtCursor&&(h.textareaIsShownAtCursor=!1,h.hideTextArea()),h.lastCompositionEndTime=(new Date).getTime(),h._scheduleReadFromTextArea(p.Type)})),s.isIPad&&this.listenersToRemove.push(i.addListener(this.textArea,"input",function(e){var t=(new Date).getTime(),n=t-h.lastKeyPressTime;500>=n&&(h._scheduleReadFromTextArea(p.Type),h.lastKeyPressTime=0)})),this.listenersToRemove.push(this.kbController.addListener("input",function(e){h.textareaIsShownAtCursor||h._scheduleReadFromTextArea(p.Type)})),r.isMacintosh&&this.listenersToRemove.push(i.addListener(this.textArea,"input",function(e){if(h.justHadAPaste)return void(h.justHadAPaste=!1);if(h.justHadACut)return void(h.justHadACut=!1);var t=(new Date).getTime(),n=t-h.lastKeyPressTime;if(!(500>=n)){var o=t-h.lastCompositionEndTime;if(!(500>=o||h.textareaIsShownAtCursor||h.textArea.selectionStart!==h.textArea.selectionEnd)){var i,r=h.textArea.value;if(s.isChrome&&h.lastValueWrittenToTheTextArea.length===r.length){var a=l.commonPrefixLength(h.lastValueWrittenToTheTextArea,r),u=l.commonSuffixLength(h.lastValueWrittenToTheTextArea,r);a+u+1===r.length&&(i=r.charAt(a),h.executeReplacePreviousChar(i),h.previousSetTextAreaState=f.fromTextArea(h.textArea,0),h.asyncSetSelectionToTextArea.schedule())}}}})),this.listenersToRemove.push(i.addListener(this.textArea,"cut",function(e){return h._onCut(e)})),this.listenersToRemove.push(i.addListener(this.textArea,"copy",function(e){return h._onCopy(e)})),this.listenersToRemove.push(i.addListener(this.textArea,"paste",function(e){return h._onPaste(e)})),this._writePlaceholderAndSelectTextArea(),this.context.addEventHandler(this)}return __extends(t,e),t.prototype.dispose=function(){this.context.removeEventHandler(this),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.kbController.dispose(),this.asyncReadFromTextArea.dispose(),this.asyncSetSelectionToTextArea.dispose(),this.asyncTriggerCut.dispose()},t.prototype.showTextAreaAtCursor=function(e){var t,o,r;s.isIE11orEarlier?(t=this.selection.startLineNumber,o=this.selection.startColumn,r=this.previousSetTextAreaState.getSelectionStart()+1):(t=this.cursorPosition.lineNumber,o=this.cursorPosition.column,r=o);var a={range:new c.Range(t,o,t,o),verticalType:n.VerticalRevealType.Simple,revealHorizontal:!0};this.context.privateViewEventBus.emit(n.ViewEventNames.RevealRangeEvent,a);var u=this.viewHelper.visibleRangeForPositionRelativeToEditor(t,o),l=this.viewHelper.visibleRangeForPositionRelativeToEditor(t,r);s.isIE11orEarlier?u&&l&&(this.textArea.style.top=u.top+"px",this.textArea.style.left=this.contentLeft+u.left-l.left-this.scrollLeft+"px",this.textArea.style.width=this.contentWidth+"px"):(u&&(this.textArea.style.left=this.contentLeft+u.left-this.scrollLeft+"px",this.textArea.style.top=u.top+"px"),e&&this.setTextAreaState(new f("",0,0,0),!1)),this.textArea.style.height=this.context.configuration.editor.lineHeight+"px",i.addClass(this.viewHelper.viewDomNode,"ime-input")},t.prototype.hideTextArea=function(){this.textArea.style.height="",this.textArea.style.width="",this.textArea.style.left="0px",this.textArea.style.top="0px",i.removeClass(this.viewHelper.viewDomNode,"ime-input")},t.prototype.onScrollChanged=function(e){return this.scrollLeft=e.scrollLeft,!1},t.prototype.onViewFocusChanged=function(e){return this.hasFocus=e,this.hasFocus&&this.asyncSetSelectionToTextArea.schedule(),!1},t.prototype.onCursorSelectionChanged=function(e){return this.selection=e.selection,this.asyncSetSelectionToTextArea.schedule(),!1},t.prototype.onCursorPositionChanged=function(e){return this.cursorPosition=e.position,!1},t.prototype.onLayoutChanged=function(e){return this.contentLeft=e.contentLeft,this.contentWidth=e.contentWidth,!1},t.prototype.setTextAreaState=function(e,t){var n=t&&this.hasFocus;n||e.resetSelection(),this.lastValueWrittenToTheTextArea=e.getValue(),e.applyToTextArea(this.textArea,n),this.previousSetTextAreaState=e},t.prototype._onKeyDown=function(e){var t=this;e.equals(h.CommonKeybindings.ESCAPE)&&e.preventDefault(),this.viewController.emitKeyDown(e),setTimeout(function(){e.browserEvent&&e.browserEvent.defaultPrevented&&(t.asyncReadFromTextArea.cancel(),t.asyncSetSelectionToTextArea.schedule())},0)},t.prototype._onKeyUp=function(e){this.viewController.emitKeyUp(e)},t.prototype._onKeyPress=function(e){this.hasFocus&&(this.lastKeyPressTime=(new Date).getTime(),s.isIPad||this._scheduleReadFromTextArea(p.Type))},t.prototype._scheduleReadFromTextArea=function(e){var t=this;this.asyncSetSelectionToTextArea.cancel(),this.asyncReadFromTextArea.setRunner(function(){return t._readFromTextArea(e)}),this.asyncReadFromTextArea.schedule()},t.prototype._readFromTextArea=function(e){var t=this.previousSetTextAreaState?this.previousSetTextAreaState.getSelectionToken():0,n=f.fromTextArea(this.textArea,t),o=n.extractNewText(this.previousSetTextAreaState);""!==o&&(e===p.Type?this.executeType(o):this.executePaste(o)),this.previousSetTextAreaState=n,this.asyncSetSelectionToTextArea.schedule()},t.prototype.executePaste=function(e){if(""!==e){var t=!1;s.enableEmptySelectionClipboard&&(t=e===this.lastCopiedValue&&this.lastCopiedValueIsFromEmptySelection),this.viewController.paste("keyboard",e,t)}},t.prototype.executeType=function(e){""!==e&&this.viewController.type("keyboard",e)},t.prototype.executeReplacePreviousChar=function(e){this.viewController.replacePreviousChar("keyboard",e)},t.prototype._writePlaceholderAndSelectTextArea=function(){ +if(!this.textareaIsShownAtCursor){var e=this.previousSetTextAreaState?this.previousSetTextAreaState.getSelectionToken():0,t=f.fromEditorSelectionAndPreviousState(this.context.model,this.selection,e);this.setTextAreaState(t,!0)}},t.prototype._onPaste=function(e){e&&e.clipboardData?(e.preventDefault(),this.executePaste(e.clipboardData.getData("text/plain"))):e&&window.clipboardData?(e.preventDefault(),this.executePaste(window.clipboardData.getData("Text"))):(this.textArea.selectionStart!==this.textArea.selectionEnd&&this.setTextAreaState(new f("",0,0,0),!1),this._scheduleReadFromTextArea(p.Paste)),this.justHadAPaste=!0},t.prototype._onCopy=function(e){this._ensureClipboardGetsEditorSelection(e)},t.prototype._triggerCut=function(){this.viewController.cut("keyboard")},t.prototype._onCut=function(e){this._ensureClipboardGetsEditorSelection(e),this.asyncTriggerCut.schedule(),this.justHadACut=!0},t.prototype._ensureClipboardGetsEditorSelection=function(e){var t=this._getPlainTextToCopy();if(e&&e.clipboardData?(e.clipboardData.setData("text/plain",t),e.preventDefault()):e&&window.clipboardData?(window.clipboardData.setData("Text",t),e.preventDefault()):this.setTextAreaState(new f(t,0,t.length,0),!0),s.enableEmptySelectionClipboard){s.isFirefox?this.lastCopiedValue=t.replace(/\r\n/g,"\n"):this.lastCopiedValue=t;var n=this.context.model.getSelections();this.lastCopiedValueIsFromEmptySelection=1===n.length&&n[0].isEmpty()}},t.prototype._getPlainTextToCopy=function(){var e=r.isWindows?"\r\n":"\n",t=r.isWindows?n.EndOfLinePreference.CRLF:n.EndOfLinePreference.LF,o=this.context.model.getSelections();if(1===o.length){var i=o[0];if(i.isEmpty()){if(s.enableEmptySelectionClipboard){var a=this.context.model.convertViewPositionToModelPosition(i.startLineNumber,1).lineNumber;return this.context.model.getModelLineContent(a)+e}return""}return this.context.model.getValueInRange(i,t)}o=o.slice(0).sort(c.Range.compareRangesUsingStarts);for(var u=[],l=0;le.top+e.height?(n=this.viewHelper.getLineNumberAtVerticalOffset(this.viewHelper.getScrollTop()+(t.posy-e.top)),{lineNumber:n,column:this.context.model.getLineMaxColumn(n)}):(n=this.viewHelper.getLineNumberAtVerticalOffset(this.viewHelper.getScrollTop()+(t.posy-e.top)),t.posxe.left+e.width?{lineNumber:n,column:this.context.model.getLineMaxColumn(n)}:null)},t.prototype._updateMouse=function(e,n,o,r){void 0===r&&(r=0),n=n||this.lastMouseEvent,this.lastMouseEvent=n;var a,u,l=s.getDomNodePosition(this.viewHelper.viewDomNode),c=this._getPositionOutsideEditor(l,n);if(c)a=c.lineNumber,u=c.column;else{var h=this._createMouseTarget(n,!0),p=h.position;if(!p)return;if((h.type===i.MouseTargetType.CONTENT_VIEW_ZONE||h.type===i.MouseTargetType.GUTTER_VIEW_ZONE)&&this.lastMouseDownCount>0){var f=new d.Position(this.currentSelection.selectionStartLineNumber,this.currentSelection.selectionStartColumn),m=h.detail,g=m.positionBefore,v=m.positionAfter;g&&v&&(p=g.isBefore(f)?g:v)}a=p.lineNumber,u=p.column}if(r){var y=(new Date).getTime();y-this.lastSetMouseDownCountTime>t.CLEAR_MOUSE_DOWN_COUNT_TIME&&(r=1),this.lastSetMouseDownCountTime=y,r>this.lastMouseDownCount+1&&(r=this.lastMouseDownCount+1);var _=new d.Position(a,u);this.lastMouseDownPosition&&this.lastMouseDownPosition.equals(_)?this.lastMouseDownPositionEqualCount++:this.lastMouseDownPositionEqualCount=1,this.lastMouseDownPosition=_,this.lastMouseDownCount=Math.min(r,this.lastMouseDownPositionEqualCount),n.detail=this.lastMouseDownCount}if(e===i.MouseTargetType.GUTTER_LINE_NUMBERS)n.altKey?o?this.viewController.lastCursorLineSelect("mouse",a,u):this.viewController.createCursor("mouse",a,u,!0):o?this.viewController.lineSelectDrag("mouse",a,u):this.viewController.lineSelect("mouse",a,u);else if(this.lastMouseDownCount>=4)this.viewController.selectAll("mouse");else if(3===this.lastMouseDownCount)n.altKey?o?this.viewController.lastCursorLineSelectDrag("mouse",a,u):this.viewController.lastCursorLineSelect("mouse",a,u):o?this.viewController.lineSelectDrag("mouse",a,u):this.viewController.lineSelect("mouse",a,u);else if(2===this.lastMouseDownCount){var b="none",C=this.viewHelper.visibleRangeForPosition2(a,u);if(C){var w=l.left+C.left;n.posx>w?b="right":n.posx0){for(var e=0;e0){for(var e=0;e=n){for(t=n;o>=t;t++){var i=this._lines[t].getDomNode();i&&this.domNode.removeChild(i)}this._lines.splice(n,o-n+1)}for(t=n;t=0&&t=this._rendLineNumberStart+this._lines.length)return!1;var n=Math.min(e.fromLineNumber-this._rendLineNumberStart,this._lines.length-1),o=Math.min(e.toLineNumber-this._rendLineNumberStart,this._lines.length-1);if(o>=n){for(t=n;o>=t;t++){var i=this._createLine();this._lines.splice(t,0,i)}var r=o-n+1;for(t=0;r>t;t++){var s=this._lines.pop(),a=s.getDomNode();a&&this.domNode.removeChild(a)}}for(t=o;tn||t>=this._lines.length)return!1;for(var o=Math.min(Math.max(t,0),this._lines.length-1),i=Math.min(Math.max(n,0),this._lines.length-1),r=!1,s=o;i>=s;s++)r=!0,this._lines[s].onTokensChanged();return r},t.prototype._renderLines=function(e){var t={domNode:this.domNode,rendLineNumberStart:this._rendLineNumberStart,lines:this._lines,linesLength:this._lines.length,getInlineDecorationsForLineInViewport:function(t){return e.getInlineDecorationsForLineInViewport(t)},viewportTop:e.viewportTop,viewportHeight:e.viewportHeight,scrollDomNode:this._scrollDomNode,scrollDomNodeIsAbove:this._scrollDomNodeIsAbove},n=this._renderer.renderWithManyUpdates(t,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._rendLineNumberStart=n.rendLineNumberStart,this._lines=n.lines,this._scrollDomNode=n.scrollDomNode,this._scrollDomNodeIsAbove=n.scrollDomNodeIsAbove},t.prototype._createDomNode=function(){var e=document.createElement("div");return e.className="view-layer",e.style.position="absolute",e.setAttribute("role","presentation"),e.setAttribute("aria-hidden","true"),e},t.prototype._createLine=function(){throw new Error("Implement me!")},t}(o.ViewPart);t.ViewLayer=i;var r=function(){function e(e,t){this._createLine=e,this._extraDomNodeHTML=t}return e.prototype.renderWithManyUpdates=function(e,t,n,o){return this._render(e,t,n,o)},e.prototype._render=function(e,t,n,o){var i={domNode:e.domNode,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength,getInlineDecorationsForLineInViewport:e.getInlineDecorationsForLineInViewport,viewportTop:e.viewportTop,viewportHeight:e.viewportHeight,scrollDomNode:e.scrollDomNode,scrollDomNodeIsAbove:e.scrollDomNodeIsAbove},r=!0;if(i.scrollDomNode){var s=this._getScrollDomNodeTime(i.scrollDomNode);(new Date).getTime()-s<1e3&&(r=!1)}if(r&&(i.rendLineNumberStart+i.linesLength-1=a;a++)i.lines[a-t]=this._createLine();return this._finishRendering(i,!0,o),i.scrollDomNode=null,i}this._renderUntouchedLines(i,Math.max(t-i.rendLineNumberStart,0),Math.min(n-i.rendLineNumberStart,i.linesLength-1),o,t);var u,l,c;return i.rendLineNumberStart>t?(u=t,l=Math.min(n,i.rendLineNumberStart-1),l>=u&&(this._insertLinesBefore(i,u,l,o,t),i.linesLength+=l-u+1,i.scrollDomNode&&i.scrollDomNodeIsAbove&&(i.scrollDomNode.parentNode&&i.scrollDomNode.parentNode.removeChild(i.scrollDomNode),i.scrollDomNode=null))):i.rendLineNumberStart0&&(this._removeLinesBefore(i,c),i.linesLength-=c)),i.rendLineNumberStart=t,i.rendLineNumberStart+i.linesLength-1=u&&(this._insertLinesAfter(i,u,l,o,t),i.linesLength+=l-u+1,i.scrollDomNode&&!i.scrollDomNodeIsAbove&&(i.scrollDomNode.parentNode&&i.scrollDomNode.parentNode.removeChild(i.scrollDomNode),i.scrollDomNode=null))):i.rendLineNumberStart+i.linesLength-1>n&&(u=Math.max(0,n-i.rendLineNumberStart+1),l=i.linesLength-1,c=l-u+1,c>0&&(this._removeLinesAfter(i,c),i.linesLength-=c)),this._finishRendering(i,!1,o),i},e.prototype._renderUntouchedLines=function(e,t,n,o,i){var r,s;for(r=t;n>=r;r++){s=e.rendLineNumberStart+r;var a=e.lines[r].getDomNode();a&&e.lines[r].layoutLine(s,o[s-i])}},e.prototype._insertLinesBefore=function(e,t,n,o,i){var r,s,a=[];for(s=t;n>=s;s++)r=this._createLine(),a.push(r);e.lines=a.concat(e.lines)},e.prototype._getScrollDomNodeTime=function(e){var t=e.getAttribute("last-scroll-time");return t?parseInt(t,10):0},e.prototype._removeIfNotScrollDomNode=function(e,t,n){var o=this._getScrollDomNodeTime(t);if(!o)return void e.domNode.removeChild(t);if(e.scrollDomNode){var i=this._getScrollDomNodeTime(e.scrollDomNode);if(i>o)return void e.domNode.removeChild(t);e.scrollDomNode.parentNode&&e.scrollDomNode.parentNode.removeChild(e.scrollDomNode),e.scrollDomNode=null}e.scrollDomNode=t,e.scrollDomNodeIsAbove=n},e.prototype._removeLinesBefore=function(e,t){var n;for(n=0;t>n;n++){var o=e.lines[n].getDomNode();o&&this._removeIfNotScrollDomNode(e,o,!0)}e.lines.splice(0,t)},e.prototype._insertLinesAfter=function(e,t,n,o,i){var r,s,a=[];for(s=t;n>=s;s++)r=this._createLine(),a.push(r);e.lines=e.lines.concat(a)},e.prototype._removeLinesAfter=function(e,t){var n,o=e.linesLength-t;for(n=0;t>n;n++){var i=e.lines[o+n].getDomNode();i&&this._removeIfNotScrollDomNode(e,i,!1)}e.lines.splice(o,t)},e.prototype._finishRendering=function(e,t,n){var o,i,r,s,a=!1,u=[],l=[],c=!1,d=[],h=[];for(o=0,i=e.linesLength;i>o;o++)if(r=e.lines[o],s=o+e.rendLineNumberStart,r.shouldUpdateHTML(s,e.getInlineDecorationsForLineInViewport(s))){var p=r.getDomNode();p?(r.getLineOuterHTML(h,s,n[o]),d[o]=!0,c=!0):(r.getLineOuterHTML(l,s,n[o]),u[o]=!0,a=!0)}if(a){var f=e.domNode.lastChild;t||!f?e.domNode.innerHTML=this._extraDomNodeHTML()+l.join(""):f.insertAdjacentHTML("afterend",l.join(""));var m=e.domNode.lastChild;for(o=e.linesLength-1;o>=0;o--)r=e.lines[o],u[o]&&(r.setDomNode(m),m=m.previousSibling)}if(c){var g=document.createElement("div");g.innerHTML=h.join("");var p,v;for(o=0;ot;t++)if(this._renderPieces[t]!==e[t])return!1;return!0},e.prototype.shouldUpdateHTML=function(e,t){for(var n=[],o=0;o0&&(n=n.concat(i))}var r=this._piecesEqual(n);return r||(this._renderPieces=n),!r},e.prototype.getLineOuterHTML=function(e,t,n){e.push('
'),e.push(this.getLineInnerHTML(t)),e.push("
")},e.prototype.getLineInnerHTML=function(e){return this._renderPieces.join("")},e.prototype.layoutLine=function(e,t){var n=this._domNode.getAttribute("lineNumber");n!==e.toString()&&this._domNode.setAttribute("lineNumber",e.toString()),o.StyleMutator.setTop(this._domNode,t),o.StyleMutator.setHeight(this._domNode,this._context.configuration.editor.lineHeight)},e}(),u=function(e){function t(t,n){e.call(this,t,n),o.StyleMutator.setWidth(this.domNode,0),o.StyleMutator.setHeight(this.domNode,0)}return __extends(t,e),t.prototype.onScrollWidthChanged=function(e){return!0},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t),o.StyleMutator.setWidth(this.domNode,this._layoutProvider.getScrollWidth())},t}(s);t.ContentViewOverlays=u;var l=function(e){function t(t,n){e.call(this,t,n),this._hasVerticalScroll=!1,this._glyphMarginLeft=0,this._glyphMarginWidth=0,this._scrollHeight=n.getScrollHeight(),this.domNode.className="margin-view-overlays monaco-editor-background",o.StyleMutator.setWidth(this.domNode,1),this._updateDomNodeHeight(),this._hasVerticalScroll=!0}return __extends(t,e),t.prototype._extraDomNodeHTML=function(){return['
'].join("")},t.prototype._getGlyphMarginDomNode=function(){return this.domNode.children[0]},t.prototype.onScrollHeightChanged=function(t){var n=this;return this._scrollHeight=t,this._requestModificationFrame(function(){var e=n._getGlyphMarginDomNode();e&&o.StyleMutator.setHeight(e,n._scrollHeight)}),e.prototype.onScrollHeightChanged.call(this,t)||!0},t.prototype.onLayoutChanged=function(t){var n=this;return this._glyphMarginLeft=t.glyphMarginLeft,this._glyphMarginWidth=t.glyphMarginWidth,this._scrollHeight=this._layoutProvider.getScrollHeight(),this._requestModificationFrame(function(){o.StyleMutator.setWidth(n.domNode,t.contentLeft),n._updateDomNodeHeight();var e=n._getGlyphMarginDomNode();e&&(o.StyleMutator.setLeft(e,t.glyphMarginLeft),o.StyleMutator.setWidth(e,t.glyphMarginWidth))}),e.prototype.onLayoutChanged.call(this,t)||!0},t.prototype.onScrollChanged=function(t){return this._hasVerticalScroll=this._hasVerticalScroll||t.vertical,e.prototype.onScrollChanged.call(this,t)},t.prototype._viewOverlaysRender=function(t){if(e.prototype._viewOverlaysRender.call(this,t),this._hasVerticalScroll){if(n.canUseTranslate3d){var i="translate3d(0px, "+t.linesViewportData.visibleRangesDeltaTop+"px, 0px)";o.StyleMutator.setTransform(this.domNode,i)}else this._hasVerticalScroll&&o.StyleMutator.setTop(this.domNode,t.linesViewportData.visibleRangesDeltaTop);this._hasVerticalScroll=!1}},t.prototype._updateDomNodeHeight=function(){var e=Math.min(this._layoutProvider.getTotalHeight(),1e6);o.StyleMutator.setHeight(this.domNode,e)},t}(s);t.MarginViewOverlays=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewLayout/layoutProvider",["require","exports","vs/editor/common/viewLayout/linesLayout","vs/editor/common/viewModel/viewEventHandler","vs/editor/browser/viewLayout/scrollManager","vs/editor/common/viewLayout/editorScrollable","vs/editor/common/editorCommon"],function(e,t,n,o,i,r,s){ +var a=function(e){function t(t,o,s,a,u,l){e.call(this),this.configuration=t,this.privateViewEventBus=s,this.model=o,this.scrollable=new r.EditorScrollable,this.scrollable.setWidth(this.configuration.editor.layoutInfo.contentWidth),this.scrollable.setHeight(this.configuration.editor.layoutInfo.contentHeight),this.scrollManager=new i.ScrollManager(this.scrollable,t,s,a,u,l),this.configuration.setLineCount(this.model.getLineCount()),this.linesLayout=new n.LinesLayout(t,o),this._updateHeight()}return __extends(t,e),t.prototype.dispose=function(){this.scrollManager.dispose(),this.scrollable.dispose()},t.prototype.updateLineCount=function(){this.configuration.setLineCount(this.model.getLineCount())},t.prototype.onZonesChanged=function(){return this._updateHeight(),!1},t.prototype.onModelFlushed=function(){return this.linesLayout.onModelFlushed(),this.updateLineCount(),this._updateHeight(),!1},t.prototype.onModelLinesDeleted=function(e){return this.linesLayout.onModelLinesDeleted(e),this.updateLineCount(),this._updateHeight(),!1},t.prototype.onModelLinesInserted=function(e){return this.linesLayout.onModelLinesInserted(e),this.updateLineCount(),this._updateHeight(),!1},t.prototype.onConfigurationChanged=function(e){if(e.layoutInfo){this.configuration.editor.layoutInfo;this.scrollable.setWidth(this.configuration.editor.layoutInfo.contentWidth),this.scrollable.setHeight(this.configuration.editor.layoutInfo.contentHeight),this.scrollManager.onSizeProviderLayoutChanged(),this._emitLayoutChangedEvent()}return this._updateHeight(),!1},t.prototype._updateHeight=function(){var e=this.scrollable.getScrollHeight();this.scrollable.setScrollHeight(this.getTotalHeight());var t=this.scrollable.getScrollHeight();e!==t&&this.privateViewEventBus.emit(s.EventType.ViewScrollHeightChanged,t)},t.prototype.getCurrentViewport=function(){return{top:this.scrollable.getScrollTop(),left:this.scrollable.getScrollLeft(),width:this.configuration.editor.layoutInfo.contentWidth,height:this.configuration.editor.layoutInfo.contentHeight}},t.prototype.getCenteredViewLineNumberInViewport=function(){return this.linesLayout.getCenteredLineInViewport(this.getCurrentViewport())},t.prototype._emitLayoutChangedEvent=function(){this.privateViewEventBus.emit(s.EventType.ViewLayoutChanged,this.configuration.editor.layoutInfo)},t.prototype.emitLayoutChangedEvent=function(){this._emitLayoutChangedEvent()},t.prototype._computeScrollWidth=function(e,n){var o=this.configuration.editor.wrappingInfo.isViewportWrapping;return o?Math.max(e,n):Math.max(e+t.LINES_HORIZONTAL_EXTRA_PX,n)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width),n=this.scrollable.getScrollWidth();this.scrollable.setScrollWidth(t);var t=this.scrollable.getScrollWidth();t!==n&&(this.privateViewEventBus.emit(s.EventType.ViewScrollWidthChanged,t),this._updateHeight())},t.prototype.saveState=function(){var e=this.scrollable.getScrollTop(),t=this.linesLayout.getLineNumberAtOrAfterVerticalOffset(e),n=this.linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(t);return{scrollTop:e,scrollTopWithoutViewZones:e-n,scrollLeft:this.scrollable.getScrollLeft()}},t.prototype.restoreState=function(e){var t=e.scrollTop;"number"!=typeof e.scrollTopWithoutViewZones||this.linesLayout.hasWhitespace()||(t=e.scrollTopWithoutViewZones),this.scrollable.setScrollTop(t),this.scrollable.setScrollLeft(e.scrollLeft)},t.prototype.addWhitespace=function(e,t,n){return this.linesLayout.insertWhitespace(e,t,n)},t.prototype.changeWhitespace=function(e,t){return this.linesLayout.changeWhitespace(e,t)},t.prototype.changeAfterLineNumberForWhitespace=function(e,t){return this.linesLayout.changeAfterLineNumberForWhitespace(e,t)},t.prototype.removeWhitespace=function(e){return this.linesLayout.removeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this.linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.heightInPxForLine=function(e){return this.linesLayout.getHeightForLineNumber(e)},t.prototype.isAfterLines=function(e){return this.linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this.linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getTotalHeight=function(){var e=0;return this.scrollable.getScrollWidth()>this.scrollable.getWidth()&&(e=this.configuration.editor.scrollbar.horizontalScrollbarSize),this.linesLayout.getTotalHeight(this.getCurrentViewport(),e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this.linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){return this.linesLayout.getLinesViewportData(this.getCurrentViewport())},t.prototype.getWhitespaceViewportData=function(){return this.linesLayout.getWhitespaceViewportData(this.getCurrentViewport())},t.prototype.getWhitespaces=function(){return this.linesLayout.getWhitespaces()},t.prototype.getOverviewRulerInsertData=function(){var e=this.scrollManager.getOverviewRulerLayoutInfo();return{parent:e.parent,insertBefore:e.insertBefore}},t.prototype.getScrollbarContainerDomNode=function(){return this.scrollManager.getScrollbarContainerDomNode()},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.scrollManager.delegateVerticalScrollbarMouseDown(e)},t.prototype.getScrollHeight=function(){return this.scrollable.getScrollHeight()},t.prototype.getScrollWidth=function(){return this.scrollable.getScrollWidth()},t.prototype.getScrollLeft=function(){return this.scrollable.getScrollLeft()},t.prototype.setScrollLeft=function(e){this.scrollable.setScrollLeft(e)},t.prototype.getScrollTop=function(){return this.scrollable.getScrollTop()},t.prototype.setScrollTop=function(e){this.scrollable.setScrollTop(e)},t.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollable.getScrollTop()},t.LINES_HORIZONTAL_EXTRA_PX=30,t}(o.ViewEventHandler);t.LayoutProvider=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/contentWidgets/contentWidgets",["require","exports","vs/base/browser/dom","vs/editor/browser/view/viewPart","vs/editor/browser/editorBrowser","vs/css!./contentWidgets"],function(e,t,n,o,i){var r=function(e){function t(t,n){e.call(this,t),this._viewDomNode=n,this._widgets={},this._contentWidth=0,this._contentLeft=0,this.domNode=document.createElement("div"),this.domNode.className=i.ClassNames.CONTENT_WIDGETS}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null,this.domNode=null},t.prototype.onModelFlushed=function(){return!0},t.prototype.onModelDecorationsChanged=function(e){return e.inlineDecorationsChanged},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onCursorPositionChanged=function(e){return!1},t.prototype.onCursorSelectionChanged=function(e){return!1},t.prototype.onCursorRevealRange=function(e){return!1},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onLayoutChanged=function(e){var t=this;return this._contentWidth=e.contentWidth,this._contentLeft=e.contentLeft,this._requestModificationFrameBeforeRendering(function(){var e;for(e in t._widgets)t._widgets.hasOwnProperty(e)&&n.StyleMutator.setMaxWidth(t._widgets[e].widget.getDomNode(),t._contentWidth)}),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!1},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype.addWidget=function(e){var t={allowEditorOverflow:e.allowEditorOverflow||!1,widget:e,position:null,preference:null,isVisible:!1};this._widgets[e.getId()]=t;var o=e.getDomNode();o.style.position="absolute",n.StyleMutator.setMaxWidth(o,this._contentWidth),n.StyleMutator.setVisibility(o,"hidden"),o.setAttribute("widgetId",e.getId()),t.allowEditorOverflow?this._viewDomNode.appendChild(o):this.domNode.appendChild(o),this.shouldRender=!0},t.prototype.setWidgetPosition=function(e,t,n){var o=this._widgets[e.getId()];o.position=t,o.preference=n,this.shouldRender=!0},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t];delete this._widgets[t];var o=n.widget.getDomNode();o.parentNode.removeChild(o),o.removeAttribute("monaco-visible-content-widget"),this.shouldRender=!0}},t.prototype._layoutBoxInViewport=function(e,t,n){var o=n.visibleRangeForPosition(e);if(!o)return null;var i=t.clientWidth,r=t.clientHeight,s=o.top,a=s,u=o.top+o.height,l=n.viewportHeight-u,c=s-r,d=a>=r,h=u,p=l>=r,f=o.left;return f+i>n.viewportLeft+n.viewportWidth&&(f=n.viewportLeft+n.viewportWidth-i),fr||r>this._contentWidth)return null;var s=t.clientWidth,a=t.clientHeight,u=i.top-a,l=i.top+i.height,r=r+this._contentLeft,c=n.getDomNodePosition(this._viewDomNode),d=c.top+u-document.body.scrollTop-document.documentElement.scrollTop,h=c.top+l-document.body.scrollTop-document.documentElement.scrollTop,p=c.left+r-document.body.scrollLeft-document.documentElement.scrollLeft,f=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,m=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,g=22,v=d>=0,y=m-g>=h+a;if(p+s+20>f){var _=p-(f-s-20);p-=_,r-=_}if(0>p){var _=p;p-=_,r-=_}return{aboveTop:u,fitsAbove:v,belowTop:l,fitsBelow:y,left:r}},t.prototype._prepareRenderWidgetAtExactPosition=function(e,t){var n=t.visibleRangeForPosition(e);return n?{top:n.top,left:n.left}:null},t.prototype._prepareRenderWidget=function(e,t){var n=this;if(!e.position||!e.preference)return null;var o,r,s,a=this._context.model.validateModelPosition(e.position),u=this._context.model.convertModelPositionToViewPosition(a.lineNumber,a.column),l=null,c=function(){if(!l){var o=e.widget.getDomNode();l=e.allowEditorOverflow?n._layoutBoxInPage(u,o,t):n._layoutBoxInViewport(u,o,t)}};for(r=1;2>=r;r++)for(s=0;s
']:null},t.prototype._shouldShowCurrentLine=function(){return this._selectionIsEmpty&&this._primaryCursorIsInEditableRange&&!this._context.configuration.editor.readOnly},t}(n.ViewEventHandler);t.CurrentLineHighlightOverlay=o});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/decorations/decorations",["require","exports","vs/editor/common/viewModel/viewEventHandler","vs/css!./decorations"],function(e,t,n){var o=function(e){function t(t){e.call(this),this._context=t,this._renderResult=null,this._context.addEventHandler(this)}return __extends(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null},t.prototype.onModelFlushed=function(){return!0},t.prototype.onModelDecorationsChanged=function(e){return!0},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onCursorPositionChanged=function(e){return!1},t.prototype.onCursorSelectionChanged=function(e){return!1},t.prototype.onCursorRevealRange=function(e){return!1},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onLayoutChanged=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.vertical},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!0},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype.shouldCallRender2=function(e){if(!this.shouldRender)return!1;this.shouldRender=!1;var t,n,o,i,r,s,a,u,l,c,d,h,p={},f=e.getDecorationsInViewport(),m=this._context.configuration.editor.lineHeight.toString(),g=0;for(a=0,u=f.length;u>a;a++)if(n=f[a],o=n.range,n.options.className)if(n.options.isWholeLine)for(l=o.startLineNumber;l<=o.endLineNumber;l++)e.lineIsVisible(l)&&(p.hasOwnProperty(l.toString())?t=p[l.toString()]:(t=[],p[l.toString()]=t),g++,t.push('
'));else if(i=e.linesVisibleRangesForRange(o,!1))for(l=0,c=i.length;c>l;l++)for(r=i[l],p.hasOwnProperty(r.lineNumber.toString())?t=p[r.lineNumber.toString()]:(t=[],p[r.lineNumber.toString()]=t),d=0,h=r.ranges.length;h>d;d++)s=r.ranges[d],g++,t.push('
');return this._renderResult=p,!0},t.prototype.render2=function(e){return this._renderResult&&this._renderResult.hasOwnProperty(e.toString())?this._renderResult[e.toString()]:null},t}(n.ViewEventHandler);t.DecorationsOverlay=o});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/glyphMargin/glyphMargin",["require","exports","vs/editor/common/viewModel/viewEventHandler","vs/css!./glyphMargin"],function(e,t,n){var o=function(e){function t(t){e.call(this),this._context=t,this._glyphMarginLeft=0,this._glyphMarginWidth=0,this._renderResult=null,this._context.addEventHandler(this)}return __extends(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null},t.prototype.onModelFlushed=function(){return!0},t.prototype.onModelDecorationsChanged=function(e){return!0},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onCursorPositionChanged=function(e){return!1},t.prototype.onCursorSelectionChanged=function(e){return!1},t.prototype.onCursorRevealRange=function(e){return!1},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onLayoutChanged=function(e){return this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,!0},t.prototype.onScrollChanged=function(e){return e.vertical},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!1},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype.shouldCallRender2=function(e){if(!this.shouldRender)return!1;if(this.shouldRender=!1,!this._context.configuration.editor.glyphMargin)return this._renderResult=null,!1;var t,n,o,i,r,s,a,u,l,c={},d=0,h=e.getDecorationsInViewport(),p=this._context.configuration.editor.lineHeight.toString(),f={};for(o=0,i=h.length;i>o;o++)if(t=h[o],t.options.glyphMarginClassName)for(n=t.range,u=n.startLineNumber;u<=n.endLineNumber;u++)e.lineIsVisible(u)&&(l=u.toString(),f.hasOwnProperty(l)||(f[l]={}),f[l][t.options.glyphMarginClassName]=!0);var m=this._glyphMarginLeft.toString(),g=this._glyphMarginWidth.toString(),v='" style="left:'+m+"px;width:"+g+"px;height:"+p+'px;">';for(l in f){r=f[l],a=[],a.push('
';for(t=e.visibleRange.startLineNumber;t<=e.visibleRange.endLineNumber;t++)if(n=this._context.model.getLineRenderLineNumber(t)){var a=[s,this._context.model.getLineRenderLineNumber(t),"
"];i[t.toString()]=a}return this._renderResult=i,!0},t.prototype.render2=function(e){return this._renderResult&&this._renderResult.hasOwnProperty(e.toString())?this._renderResult[e.toString()]:null},t}(n.ViewEventHandler);t.LineNumbersOverlay=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/lines/viewLines",["require","exports","vs/base/browser/browser","vs/base/browser/dom","vs/base/common/async","vs/editor/browser/viewParts/lines/viewLine","vs/editor/browser/view/viewLayer","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","vs/editor/common/core/range"],function(e,t,n,o,i,r,s,a,u,l){var c=function(e){function t(t,n){var o=this;e.call(this,t),this._hasVerticalScroll=!1,this._hasHorizontalScroll=!1,this._layoutProvider=n,this.domNode.className=a.ClassNames.VIEW_LINES,this._maxLineWidth=0,this._asyncUpdateLineWidths=new i.RunOnceScheduler(function(){o._updateLineWidths()},200),this._currentVisibleRange=new l.Range(1,1,1,1),this._bigNumbersDelta=0,this._lastCursorRevealRangeHorizontallyEvent=null,this.textRangeRestingSpot=document.createElement("div"),this.textRangeRestingSpot.className="textRangeRestingSpot",this._hasVerticalScroll=!0,this._hasHorizontalScroll=!0}return __extends(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),this._layoutProvider=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(t){var n=e.prototype.onConfigurationChanged.call(this,t);return t.wrappingInfo&&(this._maxLineWidth=0),n},t.prototype.onLayoutChanged=function(t){var n=e.prototype.onLayoutChanged.call(this,t);return this._maxLineWidth=0,n},t.prototype.onModelFlushed=function(){var t=e.prototype.onModelFlushed.call(this);return this._maxLineWidth=0,t},t.prototype.onScrollWidthChanged=function(e){return o.StyleMutator.setWidth(this.domNode,e),!1},t.prototype.onModelDecorationsChanged=function(t){for(var n=e.prototype.onModelDecorationsChanged.call(this,t),o=0;on||n>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(n))return{lineNumber:n,column:1};var o=n-this._rendLineNumberStart;if(0>o||o>=this._lines.length)return null;var i=this._lines[o].getColumnOfNodeOffset(n,e,t),r=this._context.model.getLineMinColumn(n);return r>i&&(i=r),{lineNumber:n,column:i}},t.prototype._getLineNumberFromDOMInfo=function(e){for(;e&&1===e.nodeType;){if(e.className===a.ClassNames.VIEW_LINE)return parseInt(e.getAttribute("lineNumber"),10);e=e.parentElement}return-1},t.prototype.getLineWidth=function(e){var t=e-this._rendLineNumberStart;return 0>t||t>=this._lines.length?-1:this._lines[t].getWidth()},t.prototype.linesVisibleRangesForRange=function(e,n){if(this.shouldRender)return null;var o=e.endLineNumber;if(e=l.Range.intersectRanges(e,this._currentVisibleRange),!e)return null;var i,r,s,a,u,c,d,h=[],p=this.domNode.getBoundingClientRect(),f=p.top,m=p.left;for(n&&(d=this._context.model.convertViewPositionToModelPosition(e.startLineNumber,1).lineNumber),r=e.startLineNumber;r<=e.endLineNumber;r++)s=r-this._rendLineNumberStart,0>s||s>=this._lines.length||(a=r===e.startLineNumber?e.startColumn:1,u=r===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(r),i=this._lines[s].getVisibleRangesForRange(r,a,u,f,0,m,this.textRangeRestingSpot),i&&i.length>0&&(n&&o>r&&(c=d,d=this._context.model.convertViewPositionToModelPosition(r+1,1).lineNumber,c!==d&&(i[i.length-1].width+=t.LINE_FEED_WIDTH)),h.push({lineNumber:r,ranges:i})));return 0===h.length?null:h},t.prototype.visibleRangesForRange2=function(e,n,o,i){if(this.shouldRender)return null;var r=e.endLineNumber;if(e=l.Range.intersectRanges(e,this._currentVisibleRange),!e)return null;var s,a,u,c,d,h,p,f,m=[],g=this._context.configuration.editor.lineHeight,v=this.domNode.getBoundingClientRect(),y=v.top,_=v.left;for(i&&(f=this._context.model.convertViewPositionToModelPosition(e.startLineNumber,1).lineNumber),a=e.startLineNumber;a<=e.endLineNumber;a++)if(c=a-this._rendLineNumberStart,!(0>c||c>=this._lines.length)&&(d=a===e.startLineNumber?e.startColumn:1,h=a===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(a),s=this._lines[c].getVisibleRangesForRange(a,d,h,y,o,_,this.textRangeRestingSpot),s&&s.length>0)){u=this._layoutProvider.getVerticalOffsetForLineNumber(a)-this._bigNumbersDelta+n;for(var b=0,C=s.length;C>b;b++)s[b].top=u,s[b].height=g;i&&r>a&&(p=f,f=this._context.model.convertViewPositionToModelPosition(a+1,1).lineNumber,p!==f&&(s[s.length-1].width+=t.LINE_FEED_WIDTH)),m=m.concat(s)}return 0===m.length?null:m},t.prototype._createLine=function(){return r.createLine(this._context)},t.prototype._renderAndUpdateLineHeights=function(t){if(e.prototype._renderLines.call(this,t),this._currentVisibleRange=new l.Range(0+this._rendLineNumberStart,1,this._lines.length-1+this._rendLineNumberStart,this._context.model.getLineMaxColumn(this._lines.length-1+this._rendLineNumberStart)),this._lastCursorRevealRangeHorizontallyEvent){var n=this._computeScrollLeftToRevealRange(this._lastCursorRevealRangeHorizontallyEvent.range);this._lastCursorRevealRangeHorizontallyEvent=null;var o=this._context.configuration.editor.wrappingInfo.isViewportWrapping;o||this._ensureMaxLineWidth(n.maxHorizontalOffset),this._layoutProvider.setScrollLeft(n.scrollLeft)}},t.prototype._updateLineWidths=function(){var e,t,n=1;for(e=0;e=r&&a>=i)l=r;else{var c=(o+i)/2;l=Math.max(0,c-s/2)}else l=this._computeMinimumScrolling(r,a,o,i);return l},t.prototype._computeScrollLeftToRevealRange=function(e){var n=0;if(e.startLineNumber!==e.endLineNumber)return{scrollLeft:0,maxHorizontalOffset:n};var o=this._layoutProvider.getCurrentViewport(),i=o.left,r=i+o.width,s=this.visibleRangesForRange2(e,0,0,!1),a=Number.MAX_VALUE,u=0;if(!s)return{scrollLeft:i,maxHorizontalOffset:n};var l,c;for(l=0;lu&&(u=c.left+c.width);n=u,a=Math.max(0,a-t.HORIZONTAL_EXTRA_PX),u+=this._context.configuration.editor.revealHorizontalRightPadding;var d=this._computeMinimumScrolling(i,r,a,u);return{scrollLeft:d,maxHorizontalOffset:n}},t.prototype._computeMinimumScrolling=function(e,t,n,o){var i=t-e,r=o-n;return i>r?e>n?n:o>t?Math.max(0,o-i):e:n},t.LINE_FEED_WIDTH=10,t.HORIZONTAL_EXTRA_PX=30,t}(s.ViewLayer);t.ViewLines=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/linesDecorations/linesDecorations",["require","exports","vs/editor/common/viewModel/viewEventHandler","vs/css!./linesDecorations"],function(e,t,n){var o=function(e){function t(t){e.call(this),this._context=t,this._decorationsLeft=0,this._decorationsWidth=0,this._renderResult=null,this._context.addEventHandler(this)}return __extends(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null},t.prototype.onModelFlushed=function(){return!0},t.prototype.onModelDecorationsChanged=function(e){return!0},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onCursorPositionChanged=function(e){return!1},t.prototype.onCursorSelectionChanged=function(e){return!1},t.prototype.onCursorRevealRange=function(e){return!1},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onLayoutChanged=function(e){return this._decorationsLeft=e.decorationsLeft,this._decorationsWidth=e.decorationsWidth,!0},t.prototype.onScrollChanged=function(e){return e.vertical},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!1},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype.shouldCallRender2=function(e){if(!this.shouldRender)return!1;this.shouldRender=!1;var t,n,o,i,r,s,a,u,l,c={},d=0,h=e.getDecorationsInViewport(),p=this._context.configuration.editor.lineHeight.toString(),f={};for(o=0,i=h.length;i>o;o++)if(t=h[o],t.options.linesDecorationsClassName)for(n=t.range, +u=n.startLineNumber;u<=n.endLineNumber;u++)e.lineIsVisible(u)&&(l=u.toString(),f.hasOwnProperty(l)||(f[l]={}),f[l][t.options.linesDecorationsClassName]=!0);var m=this._decorationsLeft.toString(),g=this._decorationsWidth.toString(),v='" style="left:'+m+"px;width:"+g+"px;height:"+p+'px;">';for(l in f){r=f[l],a=[],a.push('
0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){return this._updateShouldShow()},t.prototype.onLayoutChanged=function(e){return this._width!==e.width?(this._width=e.width,!0):!1},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype._render=function(e){var t=this;this._requestModificationFrame(function(){n.StyleMutator.setWidth(t._domNode,t._width),n.toggleClass(t._domNode,i.ClassNames.SCROLL_DECORATION,t._shouldShow)})},t}(o.ViewPart);t.ScrollDecorationViewPart=r});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/selections/selections",["require","exports","vs/editor/common/viewModel/viewEventHandler","vs/css!./selections"],function(e,t,n){var o;!function(e){e[e.EXTERN=0]="EXTERN",e[e.INTERN=1]="INTERN",e[e.FLAT=2]="FLAT"}(o||(o={}));var i=function(e){function t(t){e.call(this),this._previousFrameVisibleRangesWithStyle=[],this._context=t,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}return __extends(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._selections=null,this._renderResult=null},t.prototype.onModelFlushed=function(){return!0},t.prototype.onModelDecorationsChanged=function(e){return e.inlineDecorationsChanged},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onCursorPositionChanged=function(e){return!1},t.prototype.onCursorSelectionChanged=function(e){return this._selections=[e.selection],this._selections=this._selections.concat(e.secondarySelections),!0},t.prototype.onCursorRevealRange=function(e){return!1},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onLayoutChanged=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.vertical},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!1},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype._visibleRangesHaveGaps=function(e){var t,n,o;for(t=0,n=e.length;n>t;t++)if(o=e[t],o.ranges.length>1)return!0;return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t){var n,i,r,s,a,u,l,c,d,h,p,f=null,m=null;if(t&&t.length>0&&e.length>0){for(var g=e[0].lineNumber,h=0;!f&&h=0;h--)t[h].lineNumber===v&&(m=t[h].ranges[0]);f&&!f.startStyle&&(f=null),m&&!m.startStyle&&(m=null)}for(h=0,p=e.length;p>h;h++)n=e[h].ranges[0],i=n.left,r=n.left+n.width,c={top:o.EXTERN,bottom:o.EXTERN},d={top:o.EXTERN,bottom:o.EXTERN},h>0?(s=e[h-1].ranges[0].left,a=e[h-1].ranges[0].left+e[h-1].ranges[0].width,i===s?c.top=o.FLAT:i>s&&(c.top=o.INTERN),r===a?d.top=o.FLAT:r>s&&a>r&&(d.top=o.INTERN)):f&&(c.top=f.startStyle.top,d.top=f.endStyle.top),p>h+1?(u=e[h+1].ranges[0].left,l=e[h+1].ranges[0].left+e[h+1].ranges[0].width,i===u?c.bottom=o.FLAT:i>u&&l>i&&(c.bottom=o.INTERN),r===l?d.bottom=o.FLAT:l>r&&(d.bottom=o.INTERN)):m&&(c.bottom=m.startStyle.bottom,d.bottom=m.endStyle.bottom),n.startStyle=c,n.endStyle=d},t.prototype._getVisibleRangesWithStyle=function(e,t,n){var o=t.linesVisibleRangesForRange(e,!0)||[],i=this._visibleRangesHaveGaps(o),r=navigator.userAgent.indexOf("Trident/7.0")>=0;return r||i||!this._context.configuration.editor.roundedSelection||this._enrichVisibleRangesWithStyle(o,n),o},t.prototype._createSelectionPiece=function(e,t,n,o,i){e.push('
')},t.prototype._actualRenderOneSelection=function(e,n){var i,r,s,a,u,l,c,d,h=n.length>0&&n[0].ranges[0].startStyle,p=this._context.configuration.editor.lineHeight.toString(),f=0;for(a=0,u=n.length;u>a;a++)for(i=n[a],e.hasOwnProperty(i.lineNumber.toString())?r=e[i.lineNumber.toString()]:(r=[],e[i.lineNumber.toString()]=r),l=0,c=i.ranges.length;c>l;l++)d=i.ranges[l],h&&((d.startStyle.top===o.INTERN||d.startStyle.bottom===o.INTERN)&&(f++,this._createSelectionPiece(r,p,t.SELECTION_CLASS_NAME,d.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH),s=t.EDITOR_BACKGROUND_CLASS_NAME,d.startStyle.top===o.INTERN&&(s+=" "+t.SELECTION_TOP_RIGHT),d.startStyle.bottom===o.INTERN&&(s+=" "+t.SELECTION_BOTTOM_RIGHT),f++,this._createSelectionPiece(r,p,s,d.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH)),(d.endStyle.top===o.INTERN||d.endStyle.bottom===o.INTERN)&&(f++,this._createSelectionPiece(r,p,t.SELECTION_CLASS_NAME,d.left+d.width,t.ROUNDED_PIECE_WIDTH),s=t.EDITOR_BACKGROUND_CLASS_NAME,d.endStyle.top===o.INTERN&&(s+=" "+t.SELECTION_TOP_LEFT),d.endStyle.bottom===o.INTERN&&(s+=" "+t.SELECTION_BOTTOM_LEFT),f++,this._createSelectionPiece(r,p,s,d.left+d.width,t.ROUNDED_PIECE_WIDTH))),s=t.SELECTION_CLASS_NAME,h&&(d.startStyle.top===o.EXTERN&&(s+=" "+t.SELECTION_TOP_LEFT),d.startStyle.bottom===o.EXTERN&&(s+=" "+t.SELECTION_BOTTOM_LEFT),d.endStyle.top===o.EXTERN&&(s+=" "+t.SELECTION_TOP_RIGHT),d.endStyle.bottom===o.EXTERN&&(s+=" "+t.SELECTION_BOTTOM_RIGHT)),f++,this._createSelectionPiece(r,p,s,d.left,d.width);return f},t.prototype.shouldCallRender2=function(e){if(!this.shouldRender)return!1;this.shouldRender=!1;var t,n,o,i={},r=0,s=[];for(o=0;oe;e++){var n=this._secondaryCursors[e].getDomNode();n.parentNode.removeChild(n)}return this._secondaryCursors=[],!0},t.prototype.onModelDecorationsChanged=function(e){return e.inlineDecorationsChanged},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLineChanged=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype.onModelTokensChanged=function(e){var t=function(t){return e.fromLineNumber<=t.lineNumber&&t.lineNumber<=e.toLineNumber};if(t(this._primaryCursor.getPosition()))return!0;for(var n=0;nn;n++){var i=new o.ViewCursor(this._context,!0);this._primaryCursor.getDomNode().parentNode.insertBefore(i.getDomNode(),this._primaryCursor.getDomNode().nextSibling),this._secondaryCursors.push(i)}else if(this._secondaryCursors.length>e.secondaryPositions.length)for(var r=this._secondaryCursors.length-e.secondaryPositions.length,n=0;r>n;n++)this._secondaryCursors[0].getDomNode().parentNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1);for(var n=0;nt;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0},t.prototype.onLayoutChanged=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onZonesChanged=function(){return!0},t.prototype.onScrollWidthChanged=function(e){return!0},t.prototype.onScrollHeightChanged=function(e){return!1},t.prototype.onViewFocusChanged=function(e){return this._editorHasFocus=e,this._updateBlinking(),!1},t.prototype.getPosition=function(){return this._primaryCursor.getPosition()},t.prototype._getRenderType=function(){return this._editorHasFocus?this._primaryCursor.getIsInEditableRange()&&!this._context.configuration.editor.readOnly?s.Blink:s.Visible:s.Hidden},t.prototype._updateBlinking=function(){var e=this;-1!==this._blinkTimer&&(window.clearInterval(this._blinkTimer),this._blinkTimer=-1);var n=this._getRenderType();n===s.Visible||n===s.Blink?this._show():this._hide(),n===s.Blink&&(this._blinkTimer=window.setInterval(function(){return e._blink()},t.BLINK_INTERVAL))},t.prototype._blink=function(){this._isVisible?this._hide():this._show()},t.prototype._show=function(){this._primaryCursor.show();for(var e=0,t=this._secondaryCursors.length;t>e;e++)this._secondaryCursors[e].show();this._isVisible=!0},t.prototype._hide=function(){this._primaryCursor.hide();for(var e=0,t=this._secondaryCursors.length;t>e;e++)this._secondaryCursors[e].hide();this._isVisible=!1},t.prototype._render=function(e){var t=this;this._primaryCursor.prepareRender(e);for(var n=0,o=this._secondaryCursors.length;o>n;n++)this._secondaryCursors[n].prepareRender(e);this._requestModificationFrame(function(){t._primaryCursor.render(e);for(var n=0,o=t._secondaryCursors.length;o>n;n++)t._secondaryCursors[n].render(e)})},t.BLINK_INTERVAL=500,t}(i.ViewPart);t.ViewCursors=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/viewParts/viewZones/viewZones",["require","exports","vs/base/common/errors","vs/base/browser/dom","vs/editor/browser/view/viewPart","vs/editor/browser/editorBrowser"],function(e,t,n,o,i,r){var s=function(e){function t(t,n){e.call(this,t),this._whitespaceManager=n,this.domNode=document.createElement("div"),this.domNode.className=r.ClassNames.VIEW_ZONES,this.domNode.style.position="absolute",this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._zones={}}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._whitespaceManager=null,this._zones={}},t.prototype.onConfigurationChanged=function(e){var t=this;if(e.lineHeight){var n,i,r,s={};for(n in this._zones)this._zones.hasOwnProperty(n)&&(i=this._zones[n],r=this._heightInPixels(i.delegate),this._safeCallOnComputedHeight(i.delegate,r),s[n]=r,this._whitespaceManager.changeWhitespace(parseInt(n,10),r));return this._requestModificationFrame(function(){for(n in t._zones)t._zones.hasOwnProperty(n)&&s.hasOwnProperty(n)&&o.StyleMutator.setHeight(t._zones[n].delegate.domNode,s[n])}),!0}return!1},t.prototype.onLineMappingChanged=function(){var e,t,n=!1;for(t in this._zones)if(this._zones.hasOwnProperty(t)){e=this._zones[t];var o=this._computeWhitespaceAfterLineNumber(e.delegate);n=this._whitespaceManager.changeAfterLineNumberForWhitespace(parseInt(t,10),o)||n}return n},t.prototype.onLayoutChanged=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.vertical},t.prototype.onScrollWidthChanged=function(e){return!0},t.prototype.onZonesChanged=function(){return!0},t.prototype.onModelLinesDeleted=function(e){return!0},t.prototype.onModelLinesInserted=function(e){return!0},t.prototype._getZoneOrdinal=function(e){return"undefined"!=typeof e.afterColumn?e.afterColumn:1e4},t.prototype._computeWhitespaceAfterLineNumber=function(e){if(0===e.afterLineNumber)return 0;var t;if("undefined"!=typeof e.afterColumn)t=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{var n=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t={lineNumber:n,column:this._context.model.getModelLineMaxColumn(n)}}var o=this._context.model.convertModelPositionToViewPosition(t.lineNumber,t.column);return o.lineNumber},t.prototype.addZone=function(e){var t=this._heightInPixels(e),n=this._whitespaceManager.addWhitespace(this._computeWhitespaceAfterLineNumber(e),this._getZoneOrdinal(e),t),i={whitespaceId:n,delegate:e,isVisible:!1};return this._safeCallOnComputedHeight(i.delegate,t),this._requestModificationFrame(function(){i.delegate.domNode.hasAttribute("monaco-view-zone")&&(i.delegate.domNode.style.position="absolute",o.StyleMutator.setHeight(i.delegate.domNode,t),i.delegate.domNode.style.width="100%",o.StyleMutator.setDisplay(i.delegate.domNode,"none"))}),this._zones[i.whitespaceId.toString()]=i,i.delegate.domNode.setAttribute("monaco-view-zone",i.whitespaceId.toString()),this.domNode.appendChild(i.delegate.domNode),i.whitespaceId},t.prototype.removeZone=function(e){if(this._zones.hasOwnProperty(e.toString())){var t=this._zones[e.toString()];return delete this._zones[e.toString()],this._whitespaceManager.removeWhitespace(t.whitespaceId),t.delegate.domNode.removeAttribute("monaco-visible-view-zone"),t.delegate.domNode.removeAttribute("monaco-view-zone"),this._requestModificationFrame(function(){t.delegate.domNode.hasAttribute("monaco-view-zone")||t.delegate.domNode.parentNode&&t.delegate.domNode.parentNode.removeChild(t.delegate.domNode)}),!0}return!1},t.prototype.layoutZone=function(e){var t=!1;if(this._zones.hasOwnProperty(e.toString())){var n=this._zones[e.toString()],o=this._heightInPixels(n.delegate),i=this._computeWhitespaceAfterLineNumber(n.delegate);this._getZoneOrdinal(n.delegate);t=this._whitespaceManager.changeWhitespace(n.whitespaceId,o)||t,t=this._whitespaceManager.changeAfterLineNumberForWhitespace(n.whitespaceId,i)||t}return t},t.prototype.shouldSuppressMouseDownOnViewZone=function(e){if(this._zones.hasOwnProperty(e.toString())){var t=this._zones[e.toString()];return t.delegate.suppressMouseDown}return!1},t.prototype._heightInPixels=function(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._context.configuration.editor.lineHeight*e.heightInLines:this._context.configuration.editor.lineHeight},t.prototype._safeCallOnComputedHeight=function(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(o){n.onUnexpectedError(o)}},t.prototype._safeCallOnDomNodeTop=function(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(o){n.onUnexpectedError(o)}},t.prototype._render=function(e){var t=this,n=this._whitespaceManager.getWhitespaceViewportData();this._requestModificationFrame(function(){var i,r,s={},a=!1;for(i=0,r=n.length;r>i;i++)s[n[i].id.toString()]=n[i],a=!0;var u,l;for(u in t._zones)t._zones.hasOwnProperty(u)&&(l=t._zones[u],s.hasOwnProperty(u)?(o.StyleMutator.setTop(l.delegate.domNode,s[u].verticalOffset-e.bigNumbersDelta),o.StyleMutator.setHeight(l.delegate.domNode,s[u].height),l.isVisible||(o.StyleMutator.setDisplay(l.delegate.domNode,"block"),l.delegate.domNode.setAttribute("monaco-visible-view-zone","true"),l.isVisible=!0),t._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(s[u].verticalOffset))):(l.isVisible&&(o.StyleMutator.setDisplay(l.delegate.domNode,"none"),l.delegate.domNode.removeAttribute("monaco-visible-view-zone"),l.isVisible=!1),t._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))));a&&o.StyleMutator.setWidth(t.domNode,e.scrollWidth)})},t}(i.ViewPart);t.ViewZones=s}),define("vs/editor/common/viewModel/viewModelCursors",["require","exports","vs/editor/common/core/range","vs/editor/common/core/selection","vs/editor/common/editorCommon"],function(e,t,n,o,i){var r=function(){function e(e,t){this.configuration=e,this.converter=t,this.lastCursorPositionChangedEvent=null,this.lastCursorSelectionChangedEvent=null}return e.prototype.getSelections=function(){if(this.lastCursorSelectionChangedEvent){var e=[];e.push(this.converter.convertModelSelectionToViewSelection(this.lastCursorSelectionChangedEvent.selection));for(var t=0,n=this.lastCursorSelectionChangedEvent.secondarySelections.length;n>t;t++)e.push(this.converter.convertModelSelectionToViewSelection(this.lastCursorSelectionChangedEvent.secondarySelections[t]));return e}return[new o.Selection(1,1,1,1)]},e.prototype.onCursorPositionChanged=function(e,t){this.lastCursorPositionChangedEvent=e;var n=this.converter.validateViewPosition(e.viewPosition.lineNumber,e.viewPosition.column,e.position),o=this.configuration.editor.stopRenderingLineAfter;-1!==o&&n.column>o&&(n=n.clone(),n.column=o);for(var r=[],s=0,a=e.secondaryPositions.length;a>s;s++)r[s]=this.converter.validateViewPosition(e.secondaryViewPositions[s].lineNumber,e.secondaryViewPositions[s].column,e.secondaryPositions[s]),-1!==o&&r[s].column>o&&(r[s]=r[s].clone(),r[s].column=o);var u={position:n,secondaryPositions:r,isInEditableRange:e.isInEditableRange};t(i.ViewEventNames.CursorPositionChangedEvent,u)},e.prototype.onCursorSelectionChanged=function(e,t){this.lastCursorSelectionChangedEvent=e;for(var n=this.converter.convertModelSelectionToViewSelection(e.selection),o=[],r=0,s=e.secondarySelections.length;s>r;r++)o[r]=this.converter.convertModelSelectionToViewSelection(e.secondarySelections[r]);var a={selection:n,secondarySelections:o};t(i.ViewEventNames.CursorSelectionChangedEvent,a)},e.prototype.onCursorRevealRange=function(e,t){var o=null;if(e.viewRange){var r=this.converter.validateViewPosition(e.viewRange.startLineNumber,e.viewRange.startColumn,e.range.getStartPosition()),s=this.converter.validateViewPosition(e.viewRange.endLineNumber,e.viewRange.endColumn,e.range.getEndPosition());o=new n.Range(r.lineNumber,r.column,s.lineNumber,s.column)}else o=this.converter.convertModelRangeToViewRange(e.range);var a={range:o,verticalType:e.verticalType,revealHorizontal:e.revealHorizontal};t(i.ViewEventNames.RevealRangeEvent,a)},e.prototype.onLineMappingChanged=function(e){this.lastCursorPositionChangedEvent&&this.onCursorPositionChanged(this.lastCursorPositionChangedEvent,e),this.lastCursorSelectionChangedEvent&&this.onCursorSelectionChanged(this.lastCursorSelectionChangedEvent,e)},e}();t.ViewModelCursors=r}),define("vs/editor/common/viewModel/viewModelDecorations",["require","exports","vs/editor/common/core/range","vs/editor/common/editorCommon"],function(e,t,n,o){var i=function(){function e(e,t){this.id=e.id,this.options=e.options,this.ownerId=e.ownerId,this.modelRange=e.range,this.range=t}return e}(),r=function(){function e(e,t,n){this.editorId=e,this.configuration=t,this.converter=n,this.decorations=[],this._clearCachedModelDecorationsResolver()}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverStartLineNumber=0,this._cachedModelDecorationsResolverEndLineNumber=0},e.prototype.dispose=function(){this.converter=null,this.decorations=null,this._clearCachedModelDecorationsResolver()},e.compareDecorations=function(e,t){return n.Range.compareRangesUsingStarts(e.range,t.range)},e.prototype.reset=function(t){var n,o,r,s,a=t.getAllDecorations(this.editorId,this.configuration.editor.readOnly);for(this.decorations=[],n=0,o=a.length;o>n;n++)r=a[n],s=new i(r,this.converter.convertModelRangeToViewRange(r.range,r.options.isWholeLine)),this.decorations[n]=s;this._clearCachedModelDecorationsResolver(),this.decorations.sort(e.compareDecorations)},e.prototype.onModelDecorationsChanged=function(t,n){var r,s,a,u=!1,l=!1,c={},d={},h=this.configuration.editor.readOnly;for(s=0,a=t.addedOrChangedDecorations.length;a>s;s++)r=t.addedOrChangedDecorations[s],h&&r.isForValidation||r.ownerId&&r.ownerId!==this.editorId||(d[r.id]=r);for(s=0,a=t.removedDecorations.length;a>s;s++)c[t.removedDecorations[s]]=!0;var p,f={};for(s=0,a=this.decorations.length;a>s;s++)p=this.decorations[s],d.hasOwnProperty(p.id)&&(f[p.id]=!0,r=d[p.id],p.options=r.options,p.modelRange=r.range,p.range=this.converter.convertModelRangeToViewRange(r.range,r.options.isWholeLine),p.options.inlineClassName&&(l=!0),u=!0),c.hasOwnProperty(p.id)&&(this.decorations[s].options.inlineClassName&&(l=!0),this.decorations.splice(s,1),a--,s--,u=!0);var m;for(m in d)!f.hasOwnProperty(m)&&d.hasOwnProperty(m)&&(r=d[m],p=new i(r,this.converter.convertModelRangeToViewRange(r.range,r.options.isWholeLine)),this.decorations.push(p),p.options.inlineClassName&&(l=!0),u=!0);if(u){this._clearCachedModelDecorationsResolver(),this.decorations.sort(e.compareDecorations);var g={inlineDecorationsChanged:l};n(o.ViewEventNames.DecorationsChangedEvent,g)}},e.prototype.onLineMappingChanged=function(t){var i,r,s,a,u=this.decorations,l=!1,c=!1;for(r=0,a=u.length;a>r;r++)i=u[r],s=this.converter.convertModelRangeToViewRange(i.modelRange,i.options.isWholeLine),c||!i.options.inlineClassName||n.Range.equalsRange(s,i.range)||(c=!0),l||n.Range.equalsRange(s,i.range)||(l=!0),i.range=s;if(l){this._clearCachedModelDecorationsResolver(),this.decorations.sort(e.compareDecorations);var d={inlineDecorationsChanged:c};t(o.ViewEventNames.DecorationsChangedEvent,d)}},e.prototype.getAllDecorations=function(){return this.decorations},e.prototype.getDecorationsResolver=function(e,t){var n=!0;return n=n&&null!==this._cachedModelDecorationsResolver,n=n&&this._cachedModelDecorationsResolverStartLineNumber===e,n=n&&this._cachedModelDecorationsResolverEndLineNumber===t,n||(this._cachedModelDecorationsResolver=this._createDecorationsResolver(e,t),this._cachedModelDecorationsResolverStartLineNumber=e,this._cachedModelDecorationsResolverEndLineNumber=t),this._cachedModelDecorationsResolver},e.prototype._createDecorationsResolver=function(e,t){var n,o,i,r,s,a,u,l=[],c=[],d=this.decorations;for(n=e;t>=n;n++)c[n-e]=[];for(a=0,u=d.length;u>a&&(r=d[a],s=r.range,!(s.startLineNumber>t));a++)if(!(s.endLineNumber=n;n++)c[n-e].push(r);return{getDecorations:function(){return l},getInlineDecorations:function(n){if(e>n||n>t)throw new Error("Unexpected line outside the ViewModelDecorationsResolver preconfigured range");return c[n-e]}}},e}();t.ViewModelDecorations=r});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/viewModel/viewModel",["require","exports","vs/base/common/eventEmitter","vs/base/common/strings","vs/editor/common/core/selection","vs/editor/common/core/range","vs/editor/common/viewModel/viewModelDecorations","vs/editor/common/viewModel/viewModelCursors","vs/editor/common/core/position","vs/editor/common/editorCommon"],function(e,t,n,o,i,r,s,a,u,l){var c=function(e){function t(t,n,o,i,r){var u=this;e.call(this),this.lines=t,this.editorId=n,this.configuration=o,this.model=i,this.getCurrentCenteredModelRange=r,this.decorations=new s.ViewModelDecorations(this.editorId,this.configuration,{convertModelRangeToViewRange:function(e,t){return t?u.convertWholeLineModelRangeToViewRange(e):u.convertModelRangeToViewRange(e)}}),this.decorations.reset(this.model),this.cursors=new a.ViewModelCursors(this.configuration,this),this._updateShouldForceTokenization(),this.listenersToRemove=[],this.listenersToRemove.push(this.model.addBulkListener(function(e){return u.onEvents(e)})),this.listenersToRemove.push(this.configuration.addBulkListener(function(e){return u.onEvents(e)}))}return __extends(t,e),t.prototype.dispose=function(){this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.decorations.dispose(),this.decorations=null,this.lines=null,this.configuration=null,this.model=null},t.prototype._updateShouldForceTokenization=function(){this.shouldForceTokenization=this.lines.getOutputLineCount()<=this.configuration.editor.forcedTokenizationBoundary},t.prototype._onTabSizeChange=function(e){var t=this,n=this.lines.setTabSize(e,function(e,n){return t.emit(e,n)});return n&&(this.emit(l.ViewEventNames.LineMappingChangedEvent),this.decorations.onLineMappingChanged(function(e,n){return t.emit(e,n)}),this.cursors.onLineMappingChanged(function(e,n){return t.emit(e,n)}),this._updateShouldForceTokenization()),n},t.prototype._onWrappingIndentChange=function(e){var t=this,n=this.lines.setWrappingIndent(l.wrappingIndentFromString(e),function(e,n){return t.emit(e,n)});return n&&(this.emit(l.ViewEventNames.LineMappingChangedEvent),this.decorations.onLineMappingChanged(function(e,n){return t.emit(e,n)}),this.cursors.onLineMappingChanged(function(e,n){return t.emit(e,n)}),this._updateShouldForceTokenization()), +n},t.prototype._restoreCenteredModelRange=function(e){var t=this.convertModelRangeToViewRange(e),n={range:t,verticalType:l.VerticalRevealType.Center,revealHorizontal:!1};this.emit(l.ViewEventNames.RevealRangeEvent,n)},t.prototype._onWrappingColumnChange=function(e,t){var n=this,o=this.lines.setWrappingColumn(e,t,function(e,t){return n.emit(e,t)});return o&&(this.emit(l.ViewEventNames.LineMappingChangedEvent),this.decorations.onLineMappingChanged(function(e,t){return n.emit(e,t)}),this.cursors.onLineMappingChanged(function(e,t){return n.emit(e,t)}),this._updateShouldForceTokenization()),o},t.prototype.addEventSource=function(e){var t=this;this.listenersToRemove.push(e.addBulkListener(function(e){return t.onEvents(e)}))},t.prototype.onEvents=function(e){var t=this;this.deferredEmit(function(){var n,o=e.some(function(e){return e.getType()===l.EventType.ModelContentChanged});o||(n=t.getCurrentCenteredModelRange());var i,r,s,a,u,c=!1,d=!1,h=!1,p=!1;for(i=0,r=e.length;r>i;i++)switch(s=e[i],a=s.getData(),s.getType()){case l.EventType.ModelContentChanged:switch(u=a,u.changeType){case l.EventType.ModelContentChangedFlush:t.onModelFlushed(u),d=!0;break;case l.EventType.ModelContentChangedLinesDeleted:t.onModelLinesDeleted(u),d=!0;break;case l.EventType.ModelContentChangedLinesInserted:t.onModelLinesInserted(u),d=!0;break;case l.EventType.ModelContentChangedLineChanged:h=t.onModelLineChanged(u);break;default:console.info("ViewModel received unknown event: "),console.info(s)}c=!0;break;case l.EventType.ModelTokensChanged:t.onModelTokensChanged(a);break;case l.EventType.ModelModeChanged:break;case l.EventType.ModelModeSupportChanged:break;case l.EventType.ModelPropertiesChanged:break;case l.EventType.ModelContentChanged2:break;case l.EventType.ModelDecorationsChanged:t.onModelDecorationsChanged(a);break;case l.EventType.ModelDispose:break;case l.EventType.CursorPositionChanged:t.onCursorPositionChanged(a);break;case l.EventType.CursorSelectionChanged:t.onCursorSelectionChanged(a);break;case l.EventType.CursorRevealRange:t.onCursorRevealRange(a);break;case l.EventType.ConfigurationChanged:if(p=t._onTabSizeChange(t.configuration.getIndentationOptions().tabSize)||p,p=t._onWrappingIndentChange(t.configuration.editor.wrappingIndent)||p,p=t._onWrappingColumnChange(t.configuration.editor.wrappingInfo.wrappingColumn,t.configuration.editor.typicalFullwidthCharacterWidth/t.configuration.editor.typicalHalfwidthCharacterWidth)||p,a.readOnly){t.decorations.reset(t.model);var f={inlineDecorationsChanged:!1};t.emit(l.ViewEventNames.DecorationsChangedEvent,f)}t.emit(s.getType(),a);break;default:console.info("View received unknown event: "),console.info(s)}c&&t._updateShouldForceTokenization(),!d&&h&&(t.emit(l.ViewEventNames.LineMappingChangedEvent),t.decorations.onLineMappingChanged(function(e,n){return t.emit(e,n)}),t.cursors.onLineMappingChanged(function(e,n){return t.emit(e,n)}),t._updateShouldForceTokenization()),p&&n&&t._restoreCenteredModelRange(n)})},t.prototype.onModelFlushed=function(e){var t=this;this.lines.onModelFlushed(e.versionId,function(e,n){return t.emit(e,n)}),this.decorations.reset(this.model)},t.prototype.onModelDecorationsChanged=function(e){var t=this;this.decorations.onModelDecorationsChanged(e,function(e,n){return t.emit(e,n)})},t.prototype.onModelLinesDeleted=function(e){var t=this;this.lines.onModelLinesDeleted(e.versionId,e.fromLineNumber,e.toLineNumber,function(e,n){return t.emit(e,n)})},t.prototype.onModelTokensChanged=function(e){var t=this.convertModelPositionToViewPosition(e.fromLineNumber,1).lineNumber,n=this.convertModelPositionToViewPosition(e.toLineNumber,this.model.getLineMaxColumn(e.toLineNumber)).lineNumber,e={fromLineNumber:t,toLineNumber:n};this.emit(l.ViewEventNames.TokensChangedEvent,e)},t.prototype.onModelLineChanged=function(e){var t=this,n=this.lines.onModelLineChanged(e.versionId,e.lineNumber,e.detail,function(e,n){return t.emit(e,n)});return n},t.prototype.onModelLinesInserted=function(e){var t=this;this.lines.onModelLinesInserted(e.versionId,e.fromLineNumber,e.toLineNumber,e.detail.split("\n"),function(e,n){return t.emit(e,n)})},t.prototype.validateViewRange=function(e,t,n,o,i){var s=this.validateViewPosition(t,t,i.getStartPosition()),a=this.validateViewPosition(n,o,i.getEndPosition());return new r.Range(s.lineNumber,s.column,a.lineNumber,a.column)},t.prototype.validateViewPosition=function(e,t,n){1>e&&(e=1);var o=this.getLineCount();e>o&&(e=o);var i=this.getLineMinColumn(e),r=this.getLineMaxColumn(e);i>t&&(t=i),t>r&&(t=r);var s=this.convertViewPositionToModelPosition(e,t);return s.equals(n)?new u.Position(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)},t.prototype.onCursorPositionChanged=function(e){var t=this;this.cursors.onCursorPositionChanged(e,function(e,n){return t.emit(e,n)})},t.prototype.onCursorSelectionChanged=function(e){var t=this;this.cursors.onCursorSelectionChanged(e,function(e,n){return t.emit(e,n)})},t.prototype.onCursorRevealRange=function(e){var t=this;this.cursors.onCursorRevealRange(e,function(e,n){return t.emit(e,n)})},t.prototype.getLineCount=function(){return this.lines.getOutputLineCount()},t.prototype.getLineContent=function(e){return this.lines.getOutputLineContent(e)},t.prototype.getLineMinColumn=function(e){return this.lines.getOutputLineMinColumn(e)},t.prototype.getLineMaxColumn=function(e){return this.lines.getOutputLineMaxColumn(e)},t.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=o.firstNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){var t=o.lastNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+2},t.prototype.getLineTokens=function(e){return this.lines.getOutputLineTokens(e,!this.shouldForceTokenization)},t.prototype.getLineRenderLineNumber=function(e){var t=this.convertViewPositionToModelPosition(e,1);if(1!==t.column)return"";var n=t.lineNumber;return"function"==typeof this.configuration.editor.lineNumbers?this.configuration.editor.lineNumbers(n):n.toString()},t.prototype.getDecorationsResolver=function(e,t){return this.decorations.getDecorationsResolver(e,t)},t.prototype.getAllDecorations=function(){return this.decorations.getAllDecorations()},t.prototype.getValueInRange=function(e,t){var n=this.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)},t.prototype.getModelLineContent=function(e){return this.model.getLineContent(e)},t.prototype.getSelections=function(){return this.cursors.getSelections()},t.prototype.getModelLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},t.prototype.validateModelPosition=function(e){return this.model.validatePosition(e)},t.prototype.convertViewPositionToModelPosition=function(e,t){return this.lines.convertOutputPositionToInputPosition(e,t)},t.prototype.convertViewRangeToModelRange=function(e){var t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new r.Range(t.lineNumber,t.column,n.lineNumber,n.column)},t.prototype.convertModelPositionToViewPosition=function(e,t){return this.lines.convertInputPositionToOutputPosition(e,t)},t.prototype.convertModelSelectionToViewSelection=function(e){var t=this.convertModelPositionToViewPosition(e.selectionStartLineNumber,e.selectionStartColumn),n=this.convertModelPositionToViewPosition(e.positionLineNumber,e.positionColumn);return new i.Selection(t.lineNumber,t.column,n.lineNumber,n.column)},t.prototype.convertModelRangeToViewRange=function(e){var t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new r.Range(t.lineNumber,t.column,n.lineNumber,n.column)},t.prototype.convertWholeLineModelRangeToViewRange=function(e){var t=this.convertModelPositionToViewPosition(e.startLineNumber,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,this.model.getLineMaxColumn(e.endLineNumber));return new r.Range(t.lineNumber,t.column,n.lineNumber,n.column)},t}(n.EventEmitter);t.ViewModel=c}),define("vs/editor/contrib/codelens/common/codelens",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){var o=new n["default"]("codeLensSupport");t.CodeLensRegistry=o}),define("vs/editor/contrib/comment/common/blockCommentCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/position","vs/editor/common/core/selection","vs/editor/common/core/editOperation"],function(e,t,n,o,i,r){var s=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,n){if(0>n)return!1;var o=t.length,i=e.length;if(n+o>i)return!1;for(var r=0;o>r;r++)if(e.charCodeAt(n+r)!==t.charCodeAt(r))return!1;return!0},e.prototype._createOperationsForBlockComment=function(t,o,i,r){var s,a=t.startLineNumber,u=t.startColumn,l=t.endLineNumber,c=t.endColumn,d=(n.Range.isEmpty(t),o.blockCommentStartToken),h=o.blockCommentEndToken,p=i.getLineContent(a).lastIndexOf(d,u-1+d.length),f=i.getLineContent(l).indexOf(h,c-1-h.length);-1!==p&&-1!==f?s=e._createRemoveBlockCommentOperations({startLineNumber:a,startColumn:p+1+d.length,endLineNumber:l,endColumn:f+1},d,h):(s=e._createAddBlockCommentOperations(t,d,h),this._usedEndToken=1===s.length?h:null);for(var m=0;mr;r++){if(a=t+r,u=e.getModeAtPosition(a,1),l=u.getId(),d[l])i=d[l];else{if(o=u.commentsSupport?u.commentsSupport.getCommentsConfiguration():null,i=o&&o.lineCommentTokens&&o.lineCommentTokens.length>0?o.lineCommentTokens[0]:null,null===i||0===i.length)return null;d[l]=i}c.push({ignore:!1,commentStr:i,commentStrOffset:0,commentStrLength:i.length})}return c},e._analyzeLines=function(e,t,i,r){var s,a,l,c,d,h,p,f,m=(Object.create(null)," ".charCodeAt(0)),g=(" ".charCodeAt(0),!0);for(p=e===u.Toggle?!0:e===u.ForceAdd?!1:!0,c=0,d=i.length;d>c;c++)s=i[c],h=r+c,f=t.getLineContent(h),a=o.firstNonWhitespaceIndex(f),-1!==a?(g=!1,s.ignore=!1,s.commentStrOffset=a,p&&!n.BlockCommentCommand._haystackHasNeedleAtOffset(f,s.commentStr,a)&&(e===u.Toggle?p=!1:e===u.ForceAdd||(s.ignore=!0)),p&&(l=a+s.commentStrLength,lc;c++)i[c].ignore=!1;return{supported:!0,shouldRemoveComments:p,lines:i}},e._gatherPreflightData=function(t,n,o,i){var r=e._gatherPreflightCommentStrings(n,o,i);return null===r?{supported:!1,shouldRemoveComments:!1,lines:null}:e._analyzeLines(t,n,r,o)},e.prototype._executeLineComments=function(t,n,o,i){var s;o.shouldRemoveComments?s=e._createRemoveLineCommentsOperations(o.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,o.lines,i.startLineNumber,this._tabSize),s=e._createAddLineCommentsOperations(o.lines,i.startLineNumber));for(var a=new r.Position(i.positionLineNumber,i.positionColumn),u=0,l=s.length;l>u;u++)n.addEditOperation(s[u].range,s[u].text),s[u].range.isEmpty()&&s[u].range.getStartPosition().equals(a)&&(this._deltaColumn=s[u].text.length);this._selectionId=n.trackSelection(i)},e.prototype._attemptRemoveBlockComment=function(e,t,o,i){var r=t.startLineNumber,s=t.endLineNumber,a=e.getLineContent(r).lastIndexOf(o,t.startColumn-1+i.length),u=e.getLineContent(s).indexOf(i,t.endColumn-1-o.length);return-1!==a&&-1===u&&(u=e.getLineContent(r).indexOf(i,a+o.length),s=r),-1===a&&-1!==u&&(a=e.getLineContent(s).lastIndexOf(o,u),r=s),!t.isEmpty()||-1!==a&&-1!==u||(a=e.getLineContent(r).indexOf(o),-1!==a&&(u=e.getLineContent(r).indexOf(i,a+o.length))),-1!==a&&-1!==u?n.BlockCommentCommand._createRemoveBlockCommentOperations({startLineNumber:r,startColumn:a+o.length+1,endLineNumber:s,endColumn:u+1},o,i):null},e.prototype._executeBlockComment=function(e,t,i){var r=e.getModeAtPosition(i.startLineNumber,i.startColumn).commentsSupport;if(r){var s=r.getCommentsConfiguration();if(s&&s.blockCommentStartToken&&s.blockCommentEndToken){var a=s.blockCommentStartToken,u=(a.length,s.blockCommentEndToken),l=(u.length,this._attemptRemoveBlockComment(e,i,a,u));if(!l){if(i.isEmpty()){var c=e.getLineContent(i.startLineNumber),d=o.firstNonWhitespaceIndex(c);-1===d&&(d=c.length),l=n.BlockCommentCommand._createAddBlockCommentOperations({startLineNumber:i.startLineNumber,startColumn:d+1,endLineNumber:i.startLineNumber,endColumn:c.length+1},a,u)}else l=n.BlockCommentCommand._createAddBlockCommentOperations({startLineNumber:i.startLineNumber,startColumn:e.getLineFirstNonWhitespaceColumn(i.startLineNumber),endLineNumber:i.endLineNumber,endColumn:e.getLineMaxColumn(i.endLineNumber)},a,u);1===l.length&&(this._deltaColumn=a.length)}this._selectionId=t.trackSelection(i);for(var h=0;hn;n++)r=e[n],r.ignore||s.push(a.EditOperation["delete"](new i.Range(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)));return s},e._createAddLineCommentsOperations=function(e,t){var n,o,i,s=[];for(n=0,o=e.length;o>n;n++)i=e[n],i.ignore||s.push(a.EditOperation.insert(new r.Position(t+n,i.commentStrOffset+1),i.commentStr+" "));return s},e.nextVisibleColumn=function(e,t,n,o){return n?e+(t-e%t):e+o},e._normalizeInsertionPoint=function(t,n,o,i){var r,s,a,u,l,c,d=Number.MAX_VALUE,h=" ".charCodeAt(0);for(r=0,s=n.length;s>r;r++)if(!n[r].ignore){for(a=t.getLineContent(o+r),c=0,u=0,l=n[r].commentStrOffset;d>c&&l>u;u++)c=e.nextVisibleColumn(c,i,a.charCodeAt(u)===h,1);d>c&&(d=c)}for(d=Math.floor(d/i)*i,r=0,s=n.length;s>r;r++)if(!n[r].ignore){for(a=t.getLineContent(o+r),c=0,u=0,l=n[r].commentStrOffset;d>c&&l>u;u++)c=e.nextVisibleColumn(c,i,a.charCodeAt(u)===h,1);c>d?n[r].commentStrOffset=u-1:n[r].commentStrOffset=u}},e}();t.LineCommentCommand=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/diffNavigator/common/diffNavigator",["require","exports","vs/base/common/eventEmitter","vs/base/common/assert","vs/editor/common/editorCommon","vs/base/common/objects","vs/editor/common/core/range"],function(e,t,n,o,i,r,s){var a={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(e){function t(n,o){var s=this;void 0===o&&(o={}),e.call(this,[t.Events.UPDATED]),this.editor=n,this.options=r.mixin(o,a,!1),this.disposed=!1,this.toUnbind=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this.options.alwaysRevealFirst,this.toUnbind.push(this.editor.addListener(i.EventType.Disposed,function(){return s.dispose()})),this.toUnbind.push(this.editor.addListener(i.EventType.DiffUpdated,function(){return s.onDiffUpdated()})),this.options.followsCaret&&this.toUnbind.push(this.editor.getModifiedEditor().addListener(i.EventType.CursorPositionChanged,function(e){s.ignoreSelectionChange||(s.nextIdx=-1)})),this.options.alwaysRevealFirst&&this.toUnbind.push(this.editor.getModifiedEditor().addListener(i.EventType.ModelChanged,function(e){s.revealFirst=!0})),this.init()}return __extends(t,e),t.prototype.init=function(){var e=this.editor.getLineChanges()},t.prototype.onDiffUpdated=function(){this.init(),this.compute(this.editor.getLineChanges()),this.revealFirst&&null!==this.editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next())},t.prototype.compute=function(e){var n=this;this.ranges=[],e&&e.forEach(function(e){!n.options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(function(e){n.ranges.push({rhs:!0,range:new s.Range(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):n.ranges.push({rhs:!0,range:new s.Range(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})}),this.ranges.sort(function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0}),this.emit(t.Events.UPDATED,{})},t.prototype.initIdx=function(e){for(var t=!1,n=this.editor.getPosition(),o=0,i=this.ranges.length;i>o&&!t;o++){var r=this.ranges[o].range;n.isBeforeOrEqual(r.getStartPosition())&&(this.nextIdx=o+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)},t.prototype.move=function(e){if(o.ok(!this.disposed,"Illegal State - diff navigator has been disposed"),this.canNavigate()){-1===this.nextIdx?this.initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var t=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var n=t.range.getStartPosition();this.editor.setPosition(n),this.editor.revealPositionInCenter(n)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(){this.move(!0)},t.prototype.previous=function(){this.move(!1)},t.prototype.dispose=function(){for(;this.toUnbind.length>0;)this.toUnbind.pop()();this.ranges=null,this.disposed=!0,e.prototype.dispose.call(this)},t.Events={UPDATED:"navigation.updated"},t}(n.EventEmitter);t.DiffNavigator=u}),define("vs/editor/contrib/find/browser/replaceAllCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/selection"],function(e,t,n,o){var i=function(){function e(e,t){this._ranges=e,this._replaceStrings=t}return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var o=[],i=0;in;n++)i.push(this.decorations[n]);this.decorations=[],t&&this.hasFindScope()&&(i.push(this.findScopeDecorationId),this.findScopeDecorationId=null),e.deltaDecorations(i,[])},t.prototype.createFindMatchDecorationOptions=function(e){return{stickiness:n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:e?"currentFindMatch":"findMatch",overviewRuler:{color:"rgba(246, 185, 77, 0.7)",darkColor:"rgba(246, 185, 77, 0.7)",position:n.OverviewRulerLane.Center}}},t.prototype.createFindScopeDecorationOptions=function(){return{className:"findScope",isWholeLine:!0}},t.prototype.addMatchesDecorations=function(e,t){var n,o,i=[];for(n=0,o=t.length;o>n;n++)i[n]={range:t[n],options:this.createFindMatchDecorationOptions(!1)};this.decorations=e.deltaDecorations([],i)},t.prototype._getSearchRange=function(){var e;return e=this.searchOnlyEditableRange?this.editor.getModel().getEditableRange():this.editor.getModel().getFullModelRange(),this.hasFindScope()&&(e=e.intersectRanges(this.editor.getModel().getDecorationRange(this.findScopeDecorationId))),e},t.prototype.updateDecorations=function(e,t,n){var o=this;this.didReplace&&this.next(),this.editor.changeDecorations(function(e){if(o.removeOldDecorations(e,t),t&&n){var i=e.deltaDecorations([],[{range:n,options:o.createFindScopeDecorationOptions()}]);o.findScopeDecorationId=i[0]}o.addMatchesDecorations(e,o.editor.getModel().findMatches(o.searchString,o._getSearchRange(),o.isRegex,o.matchCase,o.wholeWord))}),this.highlightedDecorationId=null,this.decorationIndex=this.indexAfterPosition(this.startPosition),this.didReplace||e?this.decorations.length>0&&this.setSelectionToDecoration(this.decorations[this.decorationIndex]):this.decorationIndex=this.previousIndex(this.decorationIndex);var i={position:this.decorations.length>0?this.decorationIndex+1:0,count:this.decorations.length};this._emitMatchesUpdatedEvent(i),this.didReplace=!1},t.prototype.setFindScope=function(e){null===e?this.updateDecorations(!1,!0,e):this.updateDecorations(!1,!0,new a.Range(e.startLineNumber,1,e.endLineNumber,this.editor.getModel().getLineMaxColumn(e.endLineNumber)))},t.prototype.recomputeMatches=function(e,t){var n=!1;this.isRegex!==e.properties.isRegex&&(this.isRegex=e.properties.isRegex,n=!0),this.matchCase!==e.properties.matchCase&&(this.matchCase=e.properties.matchCase,n=!0),this.wholeWord!==e.properties.wholeWord&&(this.wholeWord=e.properties.wholeWord,n=!0),e.searchString!==this.searchString&&(this.searchString=e.searchString,n=!0),this.replaceString=e.replaceString,e.isReplaceRevealed!==this.searchOnlyEditableRange&&(this.searchOnlyEditableRange=e.isReplaceRevealed,n=!0),n&&this.updateDecorations(t,!1,null)},t.prototype.start=function(e,t,n){this.startPosition=this.editor.getPosition(),this.isRegex=e.properties.isRegex,this.matchCase=e.properties.matchCase,this.wholeWord=e.properties.wholeWord,this.searchString=e.searchString,this.replaceString=e.replaceString,this.searchOnlyEditableRange=e.isReplaceRevealed,this.setFindScope(t),this.decorationIndex=this.previousIndex(this.indexAfterPosition(this.startPosition));var o={state:e,selectionFindEnabled:this.hasFindScope(),shouldFocus:n};this._emitStartEvent(o)},t.prototype.prev=function(){this.decorations.length>0?(-1===this.decorationIndex&&(this.decorationIndex=this.indexAfterPosition(this.startPosition)),this.decorationIndex=this.previousIndex(this.decorationIndex),this.setSelectionToDecoration(this.decorations[this.decorationIndex])):this.hasFindScope()&&this.editor.revealRangeInCenterIfOutsideViewport(this.editor.getModel().getDecorationRange(this.findScopeDecorationId))},t.prototype.next=function(){this.decorations.length>0?(-1===this.decorationIndex?this.decorationIndex=this.indexAfterPosition(this.startPosition):this.decorationIndex=this.nextIndex(this.decorationIndex),this.setSelectionToDecoration(this.decorations[this.decorationIndex])):this.hasFindScope()&&this.editor.revealRangeInCenterIfOutsideViewport(this.editor.getModel().getDecorationRange(this.findScopeDecorationId))},t.prototype.setSelectionToDecoration=function(e){var t=this;this.editor.changeDecorations(function(n){null!==t.highlightedDecorationId&&n.changeDecorationOptions(t.highlightedDecorationId,t.createFindMatchDecorationOptions(!1)),n.changeDecorationOptions(e,t.createFindMatchDecorationOptions(!0)),t.highlightedDecorationId=e});var n=this.editor.getModel().getDecorationRange(e);a.Range.isIRange(n)&&(this.editor.setSelection(n),this.editor.revealRangeInCenterIfOutsideViewport(n))},t.prototype.getReplaceString=function(e){if(!this.isRegex)return this.replaceString;var t=o.createRegExp(this.searchString,this.isRegex,this.matchCase,this.wholeWord);return e.replace(t,this.replaceString)},t.prototype.replace=function(){if(0!==this.decorations.length){var e=this.editor.getModel(),t=e.getDecorationRange(this.decorations[this.decorationIndex]),n=this.editor.getSelection();if(null!==t&&n.startColumn===t.startColumn&&n.endColumn===t.endColumn&&n.startLineNumber===t.startLineNumber&&n.endLineNumber===t.endLineNumber){var o=e.getValueInRange(n),i=this.getReplaceString(o),r=new l.ReplaceCommand(n,i);this.editor.executeCommand("replace",r),this.startPosition=new u.Position(n.startLineNumber,n.startColumn+i.length),this.decorationIndex=-1,this.didReplace=!0}else this.next()}},t.prototype.replaceAll=function(){var e=this;if(0!==this.decorations.length){var t=this.editor.getModel(),n=this.editor.getModel().findMatches(this.searchString,this._getSearchRange(),this.isRegex,this.matchCase,this.wholeWord,Number.MAX_VALUE);this.editor.changeDecorations(function(t){e.removeOldDecorations(t,!1)});for(var o=[],i=0,s=n.length;s>i;i++)o.push(this.getReplaceString(t.getValueInRange(n[i])));var a=new r.ReplaceAllCommand(n,o);this.editor.executeCommand("replaceAll",a)}},t.prototype.dispose=function(){var t=this;e.prototype.dispose.call(this),this.updateDecorationsScheduler.dispose(),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.editor.getModel()&&this.editor.changeDecorations(function(e){t.removeOldDecorations(e,!0)})},t.prototype.hasFindScope=function(){return!!this.findScopeDecorationId},t.prototype.previousIndex=function(e){return this.decorations.length>0?(e-1+this.decorations.length)%this.decorations.length:0},t.prototype.nextIndex=function(e){return this.decorations.length>0?(e+1)%this.decorations.length:0},t.prototype.indexAfterPosition=function(e){if(0===this.decorations.length)return 0;for(var t=0,n=this.decorations.length;n>t;t++){var o=this.decorations[t],i=this.editor.getModel().getDecorationRange(o);if(i&&!(i.startLineNumbere.lineNumber)return t;if(!(i.startColumne;e++)n=i[e],n.options.glyphMarginClassName&&n.options.hoverMessage&&o.push({value:n.options.hoverMessage});return o},e.prototype.onResult=function(e,t){this._result=this._result.concat(e)},e.prototype.getResult=function(){return this._result},e.prototype.getResultWithLoadingMessage=function(){return this.getResult()},e}(),r=function(e){function t(o){var r=this;e.call(this,t.ID,o),-1===this._lastLineNumber,this._computer=new i(this._editor),this._hoverOperation=new n.HoverOperation(this._computer,function(e){return r._withResult(e)},null,function(e){return r._withResult(e)})}return __extends(t,e),t.prototype.onModelDecorationsChanged=function(){this._isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start())},t.prototype.startShowingAt=function(e){this._lastLineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=e,this._computer.setLineNumber(e),this._hoverOperation.start())},t.prototype.hide=function(){this._lastLineNumber=-1,this._hoverOperation.cancel(),e.prototype.hide.call(this)},t.prototype._withResult=function(e){this._messages=e,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var n=document.createDocumentFragment();t.forEach(function(e){var t=document.createElement("div"),o=null;e.className?(o=document.createElement("span"),o.textContent=e.value,o.className=e.className,t.appendChild(o)):t.textContent=e.value,n.appendChild(t)}),this._domNode.textContent="",this._domNode.appendChild(n),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(o.GlyphHoverWidget);t.ModesGlyphHoverWidget=r}),define("vs/editor/contrib/hover/common/hover",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){var o=new n["default"]("extraInfoSupport");Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o}),define("vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand",["require","exports","vs/editor/common/core/selection"],function(e,t,n){var o=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),i=o[0].range;return this._originalSelection.isEmpty()?n.Selection.createSelection(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):n.Selection.createSelection(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)},e}();t.InPlaceReplaceCommand=o}),define("vs/editor/contrib/linesOperations/common/copyLinesCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/selection"],function(e,t,n,o){var i=function(){function e(e,t){this._selection=e,this._isCopyingDown=t}return e.prototype.getEditOperations=function(e,t){var o=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,o.startLineNumber1&&(o-=1,r=e.getLineMaxColumn(o)),t.addEditOperation(new n.Range(o,r,i,s),null)}},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),i=n[0].range;return o.Selection.createSelection(i.endLineNumber,this.restoreCursorToColumn,i.endLineNumber,this.restoreCursorToColumn)},e}();t.DeleteLinesCommand=i}),define("vs/editor/contrib/linesOperations/common/moveLinesCommand",["require","exports","vs/editor/common/core/range","vs/editor/common/core/selection"],function(e,t,n,o){var i=function(){function e(e,t){this._selection=e,this._isMovingDown=t}return e.prototype.getEditOperations=function(e,t){var i=e.getLineCount();if((!this._isMovingDown||this._selection.endLineNumber!==i)&&(this._isMovingDown||1!==this._selection.startLineNumber)){this._moveEndPositionDown=!1;var r=this._selection;if(r.startLineNumber1?this.$el.addClass("multiple"):this.$el.removeClass("multiple"),this.$signatures.empty(),this.signatureViews=[];for(var t=0,n=0,o=e.signatures.length;o>n;n++){var i=e.signatures[n],r=this.renderSignature(this.$signatures,i,e.currentParameter);this.renderDocumentation(r,i,e.currentParameter);var s=r.getClientArea().height;this.signatureViews.push({top:t,height:s}),t+=s}},e.prototype.renderSignature=function(e,t,n){var o=a(".signature").appendTo(e),i=t.parameters.length>0;if(i){for(var r=a("span.parameters"),s=0,u=0,l=t.parameters.length;l>u;u++){var c=t.parameters[u];(0===u?o:r).append(a("span").text(t.label.substring(s,c.signatureLabelOffset))),r.append(a("span.parameter").addClass(u===n?"active":"").text(t.label.substring(c.signatureLabelOffset,c.signatureLabelEnd))),s=c.signatureLabelEnd}o.append(r),o.append(a("span").text(t.label.substring(s)))}else o.append(a("span").text(t.label));return o},e.prototype.renderDocumentation=function(e,t,n){t.documentation&&e.append(a(".documentation").text(t.documentation));var o=t.parameters[n];if(o&&o.documentation){var i=a(".documentation");i.append(a("span.parameter").text(o.label)),i.append(a("span").text(o.documentation)),e.append(i)}},e.prototype.select=function(e){var t=this.signatureViews[e];if(t){this.$signatures.style({height:t.height+"px"}),this.$signatures.getHTMLElement().scrollTop=t.top;var n=""+(e+1);this.signatureViews.length<10&&(n+="/"+this.signatureViews.length),this.$overloads.text(n),this.editor.layoutContentWidget(this)}},e.prototype.selectNext=function(){return this.signatureViews.length<2?(this.cancel(),!1):(this.currentSignature=(this.currentSignature+1)%this.signatureViews.length,this.select(this.currentSignature),!0)},e.prototype.selectPrevious=function(){return this.signatureViews.length<2?(this.cancel(),!1):(this.currentSignature--,this.currentSignature<0&&(this.currentSignature=this.signatureViews.length-1),this.select(this.currentSignature),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.$el.getHTMLElement()},e.prototype.getId=function(){return e.ID},e.prototype.releaseModel=function(){for(var e;e=this.modelListenersToRemove.pop();)e();this.model&&(this.model.dispose(),this.model=null)},e.prototype.destroy=function(){this.toDispose=o.disposeAll(this.toDispose),this.releaseModel(),this.$overloads&&(this.$overloads.destroy(),delete this.$overloads),this.$signatures&&(this.$signatures.destroy(),delete this.$signatures),this.$wrapper&&(this.$wrapper.destroy(),delete this.$wrapper),this.$el&&(this.$el.destroy(),delete this.$el),this.isDisposed=!0},e.ID="editor.widget.parameterHintsWidget",e}();t.ParameterHintsWidget=u}),define("vs/editor/contrib/parameterHints/common/parameterHints",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){t.ParameterHintsRegistry=new n["default"]("parameterHintsSupport")});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/parameterHints/browser/parameterHintsModel",["require","exports","vs/base/common/winjs.base","vs/base/common/lifecycle","vs/base/common/bits/hash","vs/base/common/async","vs/base/common/eventEmitter","vs/editor/common/editorCommon","../common/parameterHints"],function(e,t,n,o,i,r,s,a,u){function l(e){if(!e)return null;var t=new i.SHA1;return e.signatures.forEach(function(e){t.update(e.documentation||""),t.update(e.label||""),e.parameters.forEach(function(e){t.update(e.documentation||""),t.update(e.label||""),t.update(e.signatureLabelEnd.toString()),t.update(e.signatureLabelOffset.toString())})}),t.digest()}var c=function(e){function t(n){var o=this;e.call(this,["cancel","hint","destroy"]),this.editor=n,this.toDispose=[],this.triggerCharactersListeners=[],this.throttledDelayer=new r.ThrottledDelayer(t.DELAY),this.active=!1,this.hash=null,this.event(this.editor,a.EventType.ModelChanged,function(e){return o.onModelChanged()}),this.event(this.editor,a.EventType.ModelModeChanged,function(e){return o.onModelChanged()}),this.event(this.editor,a.EventType.ModelModeSupportChanged,function(e){return o.onModeChanged(e)}),this.event(this.editor,a.EventType.CursorSelectionChanged,function(e){return o.onCursorChange(e)}),this.toDispose.push(u.ParameterHintsRegistry.onDidChange(this.onModelChanged,this)),this.onModelChanged()}return __extends(t,e),t.prototype.cancel=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1),this.active=!1,t||(this.hash=null),this.throttledDelayer.cancel(),e||this.emit("cancel")},t.prototype.trigger=function(e,n){var o=this;return void 0===n&&(n=t.DELAY),u.ParameterHintsRegistry.has(this.editor.getModel())?(this.cancel(!0,!0),this.throttledDelayer.trigger(function(){return o.doTrigger(e)},n)):void 0},t.prototype.doTrigger=function(e){var t=this,o=this.editor.getModel(),i=u.ParameterHintsRegistry.ordered(o)[0];return i?i.getParameterHints(o.getAssociatedResource(),this.editor.getPosition(),e).then(function(e){var n=l(e);if(!e||0===e.signatures.length||t.hash&&n!==t.hash)return t.cancel(),t.emit("cancel"),!1;t.active=!0,t.hash=n;var o={hints:e};return t.emit("hint",o),!0}):n.TPromise.as(!1)},t.prototype.isTriggered=function(){return this.active||this.throttledDelayer.isTriggered()},t.prototype.onModelChanged=function(){var e=this;this.triggerCharactersListeners=o.disposeAll(this.triggerCharactersListeners);var t=this.editor.getModel();if(t){var n=u.ParameterHintsRegistry.ordered(t)[0];n&&(this.triggerCharactersListeners=n.getParameterHintsTriggerCharacters().map(function(o){var i=e.editor.addTypingListener(o,function(){var i=e.editor.getPosition(),r=t.getLineContext(i.lineNumber);n.shouldTriggerParameterHints(r,i.column-1)&&e.trigger(o)});return{dispose:i}}))}},t.prototype.onModeChanged=function(e){e.parameterHintsSupport&&this.onModelChanged()},t.prototype.onCursorChange=function(e){"mouse"===e.source?this.cancel():this.isTriggered()&&this.trigger()},t.prototype.event=function(e,t,n){this.toDispose.push(e.addListener2(t,n))},t.prototype.dispose=function(){this.cancel(!0),this.triggerCharactersListeners=o.disposeAll(this.triggerCharactersListeners),this.toDispose=o.disposeAll(this.toDispose),this.emit("destroy",null),e.prototype.dispose.call(this)},t.DELAY=120,t}(s.EventEmitter);t.ParameterHintsModel=c}),define("vs/editor/contrib/quickFix/browser/lightBulpWidget",["require","exports","vs/editor/browser/editorBrowser","vs/base/browser/dom"],function(e,t,n,o){var i=function(){function e(e,t){this.allowEditorOverflow=!0,this.editor=e,this.onclick=t,this.listenersToRemove=[],this.editor.addContentWidget(this)}return e.prototype.dispose=function(){this.editor.removeContentWidget(this),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[]},e.prototype.getId=function(){return"__lightBulpWidget"},e.prototype.getDomNode=function(){var e=this;return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="20px",this.domNode.style.height="20px",this.domNode.className="lightbulp-glyph",this.listenersToRemove.push(o.addListener(this.domNode,"click",function(t){e.editor.focus(),e.onclick(e.position)}))),this.domNode},e.prototype.getPosition=function(){return this.visible?{position:this.position,preference:[n.ContentWidgetPositionPreference.BELOW,n.ContentWidgetPositionPreference.ABOVE]}:null},e.prototype.show=function(e){this.position=e,this.visible=!0,this.editor.layoutContentWidget(this)},e.prototype.hide=function(){this.visible=!1,this.editor.layoutContentWidget(this)},e}();return i}),define("vs/editor/contrib/quickFix/common/quickFix",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){var o=new n["default"]("quickFixSupport");Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/quickFix/browser/quickFixModel",["require","exports","vs/base/common/winjs.base","vs/base/common/eventEmitter","vs/base/common/timer","vs/base/common/lifecycle","vs/editor/common/editorCommon","vs/base/common/arrays","vs/base/common/async","vs/base/common/errors","vs/editor/common/core/range","../common/quickFix","./lightBulpWidget"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p;!function(e){e[e.NOT_ACTIVE=0]="NOT_ACTIVE",e[e.MANUAL_TRIGGER=1]="MANUAL_TRIGGER",e[e.AUTO_TRIGGER=2]="AUTO_TRIGGER"}(p||(p={}));var f=function(e){function t(t,n,o){var i=this;e.call(this),this.editor=t,this.markerService=n,this.onAccept=o,this.quickFixRequestPromise=null,this.lightBulpDecoration=[],this.toDispose=[],this.toLocalDispose=[],this.lightBulp=new h(t,function(e){i.onLightBulpClicked(e)}),this.enableAutoQuckFix=!1,this.autoSuggestDelay=this.editor.getConfiguration().quickSuggestionsDelay,(isNaN(this.autoSuggestDelay)||!this.autoSuggestDelay&&0!==this.autoSuggestDelay||this.autoSuggestDelay>2e3||this.autoSuggestDelay<0)&&(this.autoSuggestDelay=300),this.toDispose.push(this.editor.addListener2(s.EventType.ModelChanged,function(){return i.onModelChanged()})),this.toDispose.push(this.editor.addListener2(s.EventType.ModelModeChanged,function(){return i.onModelChanged()})),this.toDispose.push(this.editor.addListener2(s.EventType.ModelModeSupportChanged,function(e){e.quickFixSupport&&i.onModelChanged()})),this.toDispose.push(d["default"].onDidChange(this.onModelChanged,this))}return __extends(t,e),t.prototype.onModelChanged=function(){var e=this;return this.cancelDialog(),this.localDispose(),this.lastMarker=null,this.lightBulpPosition=null,this.markers=null,this.updateScheduler=null,!d["default"].has(this.editor.getModel())||this.editor.getConfiguration().readOnly?void this.setDecoration(null):(this.markerService.onMarkerChanged(this.onMarkerChanged,this,this.toLocalDispose),void this.toLocalDispose.push(this.editor.addListener2(s.EventType.CursorPositionChanged,function(t){e.onCursorPositionChanged()})))},t.prototype.onLightBulpClicked=function(e){this.triggerDialog(!0,e)},t.prototype.isSimilarMarker=function(e,t){return e?t&&e.owner===t.owner&&e.code===t.code:!t},t.prototype.onMarkerChanged=function(e){var t=this.editor.getModel();if(t){var n=t.getAssociatedResource();if(e.some(function(e){return n.equals(e)})){var o=this.lastMarker;this.markers=null,this.lastMarker=null;var i=this.findMarker(this.editor.getPosition(),!1);this.isSimilarMarker(i,o)?this.lastMarker=i:this.onCursorPositionChanged()}}},t.prototype.setDecoration=function(e){this.lightBulpPosition=e,this.updateDecoration()},t.prototype.updateDecoration=function(){this.lightBulpPosition&&this.state===p.NOT_ACTIVE?this.lightBulp.show(this.lightBulpPosition):this.lightBulp.hide()},t.prototype.onCursorPositionChanged=function(){var e=this;this.triggerAutoSuggestPromise&&(this.triggerAutoSuggestPromise.cancel(),this.triggerAutoSuggestPromise=null),this.cancelDialog(),this.updateScheduler||(this.updateScheduler=new u.RunOnceScheduler(function(){var t=e.lastMarker,n=e.editor.getPosition();if(t&&c.Range.containsPosition(t,n))return void(e.lightBulpPosition&&e.setDecoration(n));if(e.lastMarker=t=e.findMarker(n,!1),!t)return void e.setDecoration(null);var o=i.start(i.Topic.EDITOR,"quickfix/lighbulp"),r=e.computeFixes(t);r.done(function(i){e.setDecoration(a.isFalsyOrEmpty(i)?null:n),e.triggerAutoSuggest(t),o.stop()},function(t){l.onUnexpectedError(t),e.setDecoration(null),o.stop()})},250),this.toLocalDispose.push(this.updateScheduler)),this.updateScheduler.schedule()},t.prototype.computeFixes=function(e){var t=this.editor.getModel();if(!d["default"].has(t))return n.TPromise.as(null);if(this.quickFixRequestPromise&&e===this.quickFixRequestPromiseRange)return this.quickFixRequestPromise;this.quickFixRequestPromise&&(this.quickFixRequestPromise.cancel(),this.quickFixRequestPromise=null),this.quickFixRequestPromiseRange=e;var o=[],i=d["default"].all(t).map(function(n){return n.getQuickFixes(t.getAssociatedResource(),e).then(function(e){if(Array.isArray(e))for(var t=0;t=r});s=e.column)return u;if(t){var l=e.columnl)&&(o=u,i=l)}s++}return o},t.prototype.cancelDialog=function(e){return void 0===e&&(e=!1),this.state!==p.NOT_ACTIVE?(this.state=p.NOT_ACTIVE,e||this.emit("cancel"),this.updateDecoration(),!0):!1},t.prototype.isAutoSuggest=function(){return this.state===p.AUTO_TRIGGER},t.prototype.triggerAutoSuggest=function(e){var t=this;this.enableAutoQuckFix&&this.state===p.NOT_ACTIVE&&(this.triggerAutoSuggestPromise=n.TPromise.timeout(this.autoSuggestDelay),this.triggerAutoSuggestPromise.then(function(){t.triggerAutoSuggestPromise=null,e===t.lastMarker&&t.triggerDialog(!0,t.editor.getPosition())}))},t.prototype.triggerDialog=function(e,t){var n=this;this.cancelDialog(!1);var o;if(e){if(o=this.findMarker(t,!0),!o)return}else o=this.findMarker(t,!0),o||(o=this.editor.getSelection()),c.Range.containsPosition(o,t)||this.editor.setPosition({lineNumber:o.startLineNumber,column:o.startColumn});var r=i.start(i.Topic.EDITOR,"quickfix/triggerdialog");this.state=e?p.AUTO_TRIGGER:p.MANUAL_TRIGGER,this.updateDecoration(),this.emit("loading",{auto:this.isAutoSuggest()}),this.computeFixes(o).done(function(e){e&&e.length>0?(e.sort(function(e,t){return t.score-e.score}),n.emit("suggest",{fixes:e,range:o,auto:n.isAutoSuggest()})):n.emit("empty",{auto:n.isAutoSuggest()}),r.stop()},function(e){l.onUnexpectedError(e),n.emit("empty",{auto:n.isAutoSuggest()}),r.stop()})},t.prototype.accept=function(e,t){return this.cancelDialog(),e?(this.onAccept(e,t),!0):!1},t.prototype.localDispose=function(){this.toLocalDispose=r.disposeAll(this.toLocalDispose),this.quickFixRequestPromise&&(this.quickFixRequestPromise.cancel(),this.quickFixRequestPromise=null)},t.prototype.dispose=function(){this.localDispose(),this.toDispose=r.disposeAll(this.toDispose),this.emit("destroy",null)},t}(o.EventEmitter);t.QuickFixModel=f}),define("vs/editor/contrib/quickOpen/browser/quickOpenEditorWidget",["require","exports","vs/editor/browser/editorBrowser","vs/base/browser/builder","vs/base/parts/quickopen/browser/quickOpenWidget"],function(e,t,n,o,i){ +var r=o.$,s=function(){function e(e,t,n,o,i){this.codeEditor=e,this.create(t,n,o,i)}return e.prototype.create=function(e,t,n,o){this.domNode=r().div().getHTMLElement(),this.quickOpenWidget=new i.QuickOpenWidget(this.domNode,{onOk:e,onCancel:t,onType:n},{inputPlaceHolder:null,inputAriaLabel:o.inputAriaLabel},null),this.quickOpenWidget.create(),this.codeEditor.addOverlayWidget(this)},e.prototype.setInput=function(e,t){this.quickOpenWidget.setInput(e,t)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this.domNode},e.prototype.destroy=function(){this.codeEditor.removeOverlayWidget(this),this.quickOpenWidget.dispose()},e.prototype.isVisible=function(){return this.visible},e.prototype.show=function(e){this.visible=!0;var t=this.codeEditor.getLayoutInfo();t&&this.quickOpenWidget.layout(new o.Dimension(t.width,t.height)),this.quickOpenWidget.show(e),this.codeEditor.layoutOverlayWidget(this)},e.prototype.hide=function(){this.visible=!1,this.quickOpenWidget.hide(),this.codeEditor.layoutOverlayWidget(this)},e.prototype.getPosition=function(){return this.visible?{preference:n.OverlayWidgetPositionPreference.TOP_CENTER}:null},e.ID="editor.contrib.quickOpenEditorWidget",e}();t.QuickOpenEditorWidget=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/referenceSearch/browser/referenceSearchModel",["require","exports","vs/base/common/collections","vs/base/common/strings","vs/base/common/uuid","vs/base/common/eventEmitter","vs/base/common/winjs.base","vs/base/common/paths","vs/editor/common/core/range"],function(e,t,n,o,i,r,s,a,u){var l;!function(e){e.OnReferenceRangeChanged="refrence.rangeChanged",e.CurrentReferenceChanged="reference.currentChanged"}(l=t.EventType||(t.EventType={}));var c=function(){function e(e,t){this._parent=e,this._id=i.generateUuid(),this._range=t.range}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"model",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"resource",{get:function(){return this._parent.resource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._parent.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"directory",{get:function(){return this._parent.directory},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"range",{get:function(){return this._range},set:function(e){this._range=e,this.parent.parent.emit(l.OnReferenceRangeChanged,this)},enumerable:!0,configurable:!0}),e}();t.OneReference=c;var d=function(){function e(e){this._value=e,this._lineStarts=o.computeLineStarts(e)}return e.prototype._getOffsetFromPosition=function(e,t){return this._lineStarts[e-1]+t-1},e.prototype.preview=function(e,t){void 0===t&&(t=8);var n=this._lineStarts[e.startLineNumber-1],i=n+e.startColumn-1,r=this._lineStarts[e.endLineNumber-1]+e.endColumn-1,s=e.endLineNumber>=this._lineStarts.length?this._value.length:this._lineStarts[e.endLineNumber],a={before:this._value.substring(n,i).replace(/^\s+/,o.empty),inside:this._value.substring(i,r),after:this._value.substring(r,s).replace(/\s+$/,o.empty)};return a.before=o.lcut(a.before,t),a},e}();t.FilePreview=d;var h=function(){function e(e,t,n){this._parent=e,this._resource=t,this._editorService=n,this._children=[]}return Object.defineProperty(e.prototype,"id",{get:function(){return this._resource.toString()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"resource",{get:function(){return this._resource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return a.basename(this.resource.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"directory",{get:function(){return a.dirname(this.resource.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"preview",{get:function(){return this._preview},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;return this._resolved?s.TPromise.as(this):this._editorService.resolveEditorModel({resource:this._resource}).then(function(t){return e._preview=new d(t.textEditorModel.getValue()),e._resolved=!0,e})},e}();t.FileReferences=h;var p=function(e){function t(o,i){var r=this;e.call(this,[l.CurrentReferenceChanged,l.OnReferenceRangeChanged]);var s=Object.create(null),a=Object.create(null);o.forEach(function(e){var o=t._hash(e);if(!a[o]){a[o]=!0;var u=e.resource,l=new h(r,u,i);l=n.lookupOrInsert(s,l.id,l),l.children.push(new c(l,e))}}),this._references=n.values(s),this._references.sort(t._compare)}return __extends(t,e),Object.defineProperty(t.prototype,"children",{get:function(){return this._references},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentReference",{get:function(){return this._currentReference},set:function(e){this._currentReference=e,this.emit(l.CurrentReferenceChanged,this)},enumerable:!0,configurable:!0}),t.prototype.nextReference=function(e){var t=e.parent.children.indexOf(e),n=e.parent.children.length,o=e.parent.parent.children.length;return n>t+1||1===o?e.parent.children[(t+1)%n]:(t=e.parent.parent.children.indexOf(e.parent),t=(t+1)%o,e.parent.parent.children[t].children[0])},t.prototype.findReference=function(e,t){for(var n=0,o=this._references.length;o>n;n++){var i=this._references[n];if(i.resource.toString()===e.toString()){var r;if(i.children.some(function(e){return u.Range.containsPosition(e.range,t)?(r=e,!0):!1}),r)return r}}return this._references.length>0?this._references[0].children[0]:null},t._hash=function(e){var t=e.range,n=t.startLineNumber,o=t.startColumn,i=t.endLineNumber,r=t.endColumn;return[e.resource.toString(),n,o,i,r].join(",")},t._compare=function(e,t){return o.localeCompare(e.directory,t.directory)||o.localeCompare(e.name,t.name)},t}(r.EventEmitter);t.Model=p}),define("vs/editor/contrib/referenceSearch/common/referenceSearch",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){var o=new n["default"]("referenceSupport");Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o}),define("vs/editor/contrib/rename/browser/renameInputField",["require","exports","vs/base/common/winjs.base","vs/base/common/errors","vs/base/common/lifecycle","vs/editor/common/editorCommon","vs/editor/browser/editorBrowser","vs/editor/common/core/range","vs/css!./rename"],function(e,t,n,o,i,r,s,a){var u=function(){function e(e){this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this)}return e.prototype.dispose=function(){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._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._domNode},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[s.ContentWidgetPositionPreference.BELOW,s.ContentWidgetPositionPreference.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(){this._currentCancelInput&&this._currentCancelInput()},e.prototype.getInput=function(e,t,s,u){var l=this;this._position={lineNumber:e.startLineNumber,column:e.startColumn},this._inputField.value=t,this._inputField.setAttribute("selectionStart",s.toString()),this._inputField.setAttribute("selectionEnd",u.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var c,d=[];return c=function(){i.disposeAll(d),l._hide()},new n.TPromise(function(n,i){l._currentCancelInput=function(){return l._currentAcceptInput=null,l._currentCancelInput=null,i(o.canceled()),!0},l._currentAcceptInput=function(){return 0===l._inputField.value.trim().length||l._inputField.value===t?void l._currentCancelInput():(l._currentAcceptInput=null,l._currentCancelInput=null,void n(l._inputField.value))};var s=function(){a.Range.containsPosition(e,l._editor.getPosition())||l._currentCancelInput()};d.push(l._editor.addListener2(r.EventType.CursorSelectionChanged,s)),d.push(l._editor.addListener2(r.EventType.EditorBlur,l._currentCancelInput)),l._show()},this._currentCancelInput).then(function(e){return c(),e},function(e){return c(),n.TPromise.wrapError(e)})},e.prototype._show=function(){var e=this;this._visible=!0,this._editor.layoutContentWidget(this),setTimeout(function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))},25)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e}();return u}),define("vs/editor/contrib/rename/common/rename",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){t.RenameRegistry=new n["default"]("renameSupport")}),define("vs/editor/contrib/suggest/common/suggest",["require","exports","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n){t.CONTEXT_SUGGEST_WIDGET_VISIBLE="suggestWidgetVisible",t.CONTEXT_SUGGESTION_SUPPORTS_ACCEPT_ON_KEY="suggestionSupportsAcceptOnKey",t.ACCEPT_SELECTED_SUGGESTION_CMD="acceptSelectedSuggestion",t.SuggestRegistry=new n["default"]("suggestSupport")});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/zoneWidget/browser/zoneWidget",["require","exports","vs/base/browser/dom","vs/base/common/objects","vs/base/common/eventEmitter","vs/editor/common/editorCommon","vs/css!./zoneWidget"],function(e,t,n,o,i,r){var s={showArrow:!0,showFrame:!0,frameColor:"",className:""},a="vs.editor.contrib.zoneWidget",u=function(){function e(e,t,n,o,i,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=o,this._onDomNodeTop=i,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),l=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),c=function(e){function t(t,n){var i=this;void 0===n&&(n={}),e.call(this),this.editor=t,this.options=o.mixin(o.clone(s),n),this.zoneId=-1,this.overlayWidget=null,this.lastView=null,this.domNode=document.createElement("div"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation"),this.container=null,this.listenersToRemove=[],this.listenersToRemove.push(this.editor.addListener(r.EventType.EditorLayout,function(e){var t=i.getWidth(e);i.domNode.style.width=t+"px",i.onWidth(t)}))}return __extends(t,e),t.prototype.create=function(){n.addClass(this.domNode,"zone-widget"),n.addClass(this.domNode,this.options.className),this.container=document.createElement("div"),n.addClass(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.fillContainer(this.container)},t.prototype.getWidth=function(e){return void 0===e&&(e=this.editor.getLayoutInfo()),e.width-e.verticalScrollbarWidth},t.prototype.onViewZoneTop=function(e){this.domNode.style.top=e+"px"},t.prototype.onViewZoneHeight=function(e){this.domNode.style.height=e+"px"},t.prototype.show=function(e,t){"number"==typeof e.startLineNumber?this.showImpl(e,t):this.showImpl({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},t)},t.prototype.showImpl=function(e,t){var n=this,o={lineNumber:e.startLineNumber,column:e.startColumn};this.domNode.style.width=this.getWidth()+"px",this.editor.revealPosition(o);var i=document.createElement("div"),r=document.createElement("div"),s=this.editor.getConfiguration().lineHeight,c=t*s,d=0,h=0;this.options.showArrow&&(d=Math.round(s/3),c-=2*d,r=document.createElement("div"),r.className="zone-widget-arrow below",r.style.top=-d+"px",r.style.borderWidth=d+"px",r.style.left=this.editor.getOffsetForColumn(o.lineNumber,o.column)+"px",r.style.borderBottomColor=this.options.frameColor,i.appendChild(r)),this.options.showFrame&&(h=Math.round(s/9),c-=2*h),this.editor.changeViewZones(function(e){-1!==n.zoneId&&e.removeZone(n.zoneId),n.overlayWidget&&(n.editor.removeOverlayWidget(n.overlayWidget),n.overlayWidget=null),n.domNode.style.top="-1000px";var r=new u(i,o.lineNumber,o.column,t,function(e){return n.onViewZoneTop(e)},function(e){return n.onViewZoneHeight(e)});n.zoneId=e.addZone(r),n.overlayWidget=new l(a+n.zoneId,n.domNode),n.editor.addOverlayWidget(n.overlayWidget)}),this.options.showFrame&&(this.container.style.borderTopColor=this.options.frameColor,this.container.style.borderBottomColor=this.options.frameColor,this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"),this.container.style.top=d+"px",this.container.style.height=c+"px",this.container.style.overflow="hidden",this.doLayout(c),this.editor.setSelection(e);var p=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.editor.revealLine(p),this.position=o},t.prototype.dispose=function(){var e=this;this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.overlayWidget&&(this.editor.removeOverlayWidget(this.overlayWidget),this.overlayWidget=null),-1!==this.zoneId&&this.editor.changeViewZones(function(t){t.removeZone(e.zoneId),e.zoneId=-1})},t.prototype.fillContainer=function(e){},t.prototype.onWidth=function(e){},t.prototype.doLayout=function(e){},t}(i.EventEmitter);t.ZoneWidget=c}),define("vs/nls!vs/editor/browser/view/viewImpl",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/browser/view/viewImpl",t)}),define("vs/nls!vs/editor/common/config/commonEditorConfig",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/common/config/commonEditorConfig",t)}),define("vs/nls!vs/editor/common/controller/cursor",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/common/controller/cursor",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/controller/cursor",["require","exports","vs/nls!vs/editor/common/controller/cursor","vs/base/common/eventEmitter","vs/editor/common/core/range","vs/editor/common/core/selection","vs/editor/common/core/position","vs/editor/common/commands/replaceCommand","vs/editor/common/controller/oneCursor","vs/editor/common/controller/handlerDispatcher","vs/editor/common/controller/cursorCollection","vs/editor/common/editorCommon","vs/base/common/errors","vs/base/common/lifecycle"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p){var f;!function(e){e[e.Primary=0]="Primary",e[e.TopMost=1]="TopMost",e[e.BottomMost=2]="BottomMost"}(f||(f={}));var m=function(e){function t(t,n,o,i,r){var a=this;e.call(this,[d.EventType.CursorPositionChanged,d.EventType.CursorSelectionChanged,d.EventType.CursorRevealRange]),this.editorId=t,this.configuration=n,this.model=o,this.viewModelHelper=i,this.enableEmptySelectionClipboard=r,this.viewModelHelper||(this.viewModelHelper={viewModel:this.model,convertModelPositionToViewPosition:function(e,t){return new s.Position(e,t)},convertModelRangeToViewRange:function(e){return e},convertViewToModelPosition:function(e,t){return new s.Position(e,t)},validateViewPosition:function(e,t,n){return n},validateViewRange:function(e,t,n,o,i){return i}}),this.cursors=new c.CursorCollection(this.editorId,this.model,this.configuration,this.viewModelHelper),this.cursorUndoStack=[],this.typingListeners={},this._isHandling=!1,this.modelUnbinds=[],this.modelUnbinds.push(this.model.addListener2(d.EventType.ModelContentChanged,function(e){a._onModelContentChanged(e)})),this.modelUnbinds.push(this.model.addListener2(d.EventType.ModelModeChanged,function(e){a._onModelModeChanged()})),this.modelUnbinds.push(this.model.addListener2(d.EventType.ModelModeSupportChanged,function(e){a._onModelModeChanged()})),this._registerHandlers()}return __extends(t,e),t.prototype.dispose=function(){this.modelUnbinds=p.disposeAll(this.modelUnbinds),this.model=null,this.cursors.dispose(),this.cursors=null,this.configuration.handlerDispatcher.clearHandlers(),this.configuration=null,this.viewModelHelper=null,e.prototype.dispose.call(this)},t.prototype.saveState=function(){for(var e,t=this.cursors.getSelections(),n=[],o=0;ob;b++)try{_[b]()}catch(n){h.onUnexpectedError(n)}}var w=this.cursors.getSelections(),E=this.cursors.getViewSelections(),S=!1;if(c.length!==w.length)S=!0;else{for(var v=0,T=c.length;!S&&T>v;v++)c[v].equalsSelection(w[v])||(S=!0);for(var v=0,T=p.length;!S&&T>v;v++)p[v].equalsSelection(E[v])||(S=!0)}S&&(g||l||this.cursorUndoStack.push(f),this.cursorUndoStack.length>50&&(this.cursorUndoStack=this.cursorUndoStack.splice(0,this.cursorUndoStack.length-50)),this.emitCursorPositionChanged(m,i),r&&this.emitCursorRevealRange(u,s?d.VerticalRevealType.Center:d.VerticalRevealType.Simple,a),this.emitCursorSelectionChanged(m,i))}catch(L){h.onUnexpectedError(L)}return this._isHandling=!1,o},t.prototype._interpretHandlerContext=function(e){e.shouldPushStackElementBefore&&(this.model.pushStackElement(),e.shouldPushStackElementBefore=!1),e.hasExecutedCommands=this._internalExecuteCommands(e.executeCommands,e.postOperationRunnables)||e.hasExecutedCommands,e.executeCommands=[],e.shouldPushStackElementAfter&&(this.model.pushStackElement(),e.shouldPushStackElementAfter=!1);for(var t=!1,n=0,o=e.postOperationRunnables.length;o>n;n++)if(e.postOperationRunnables[n]){t=!0;break}if(t){var i=e.postOperationRunnables.slice(0);e.postOperationRunnables=[],this._invokeForAll(e,function(e,t,n){return i[e]&&i[e](n),!1}),this._interpretHandlerContext(e)}},t.prototype._interpretCommandResult=function(e){return e?(this.cursors.setSelections(e),!0):!1},t.prototype._getEditOperationsFromCommand=function(e,t,o){var i=this,r=[],s=0,a=function(e,n){e.isEmpty()&&""===n||r.push({identifier:{major:t,minor:s++},range:e,text:n,forceMoveMarkers:!1})},u=!1,l=function(t,n){var o,r;if(t.isEmpty())if("boolean"==typeof n)o=n,r=n;else{var s=i.model.getLineMaxColumn(t.startLineNumber);t.startColumn===s?(o=!0,r=!0):(o=!1,r=!1)}else t.getDirection()===d.SelectionDirection.LTR?(o=!1,r=!0):(o=!0,r=!1);var a=e.selectionStartMarkers.length;return e.selectionStartMarkers[a]=i.model._addMarker(t.selectionStartLineNumber,t.selectionStartColumn,o),e.positionMarkers[a]=i.model._addMarker(t.positionLineNumber,t.positionColumn,r),a.toString()},c={addEditOperation:a,trackSelection:l};try{o.getEditOperations(this.model,c)}catch(p){return p.friendlyMessage=n.localize(0,null),h.onUnexpectedError(p),{operations:[],hadTrackedRange:!1}}return{operations:r,hadTrackedRange:u}},t.prototype._getEditOperations=function(e,t){for(var n,o,i=[],r=[],s=0;sn.identifier.major?t.identifier.major:n.identifier.major,r[o.toString()]=!0;for(var a=0;aa&&s--,a--);s>0&&s--}return r},t.prototype._collapseDeleteCommands=function(e,t){if(1!==e.length){var n=e.every(function(e){if(!(e instanceof a.ReplaceCommand))return!1;var t=e;return t.getText().length>0?!1:!0});if(n){var o=e,r=o.map(function(e,n){return{range:o[n].getRange(),postOperationRunnable:t[n],order:n}});r.sort(function(e,t){return i.Range.compareRangesUsingStarts(e.range,t.range)});for(var s=r[0],u=1;ut;t++)if(e[t])return!1;return!0},t.prototype._innerExecuteCommands=function(e,t,n){var o=this;if(this.configuration.editor.readOnly)return!1;if(this._arrayIsEmpty(t))return!1;var i=this.cursors.getSelections(),s=this._getEditOperations(e,t);if(0===s.operations.length&&!s.anyoneHadTrackedRange)return!1;for(var a=s.operations,u=this.model.getEditableRange(),l=u.getStartPosition(),c=u.getEndPosition(),d=0;d0||s.hadTrackedRanges[u]?(a[u].sort(c),d[u]=t[u].computeCursorState(o.model,{getInverseEditOperations:function(){return a[u]},getTrackedSelection:function(t){var n=parseInt(t,10),i=o.model._getMarker(e.selectionStartMarkers[n]),s=o.model._getMarker(e.positionMarkers[n]);return new r.Selection(i.lineNumber,i.column,s.lineNumber,s.column)}})):d[u]=i[u];return d}),v=[];for(m in p)p.hasOwnProperty(m)&&v.push(parseInt(m,10));v.sort(function(e,t){return t-e});for(var d=0;d1)return;var l=new i.Range(s.lineNumber,s.column,s.lineNumber,s.column),c=new i.Range(a.lineNumber,a.column,a.lineNumber,a.column),h={range:l,viewRange:c,verticalType:t,revealHorizontal:n};this.emit(d.EventType.CursorRevealRange,h)},t.prototype._registerHandlers=function(){var e=this,t=d.Handler,n={};n[t.JumpToBracket]=function(t){return e._jumpToBracket(t)},n[t.MoveTo]=function(t){return e._moveTo(!1,t)},n[t.MoveToSelect]=function(t){return e._moveTo(!0,t)},n[t.AddCursorUp]=function(t){return e._addCursorUp(t)},n[t.AddCursorDown]=function(t){return e._addCursorDown(t)},n[t.CreateCursor]=function(t){return e._createCursor(t)},n[t.LastCursorMoveToSelect]=function(t){return e._lastCursorMoveTo(t)},n[t.CursorLeft]=function(t){return e._moveLeft(!1,t)},n[t.CursorLeftSelect]=function(t){return e._moveLeft(!0,t)},n[t.CursorWordLeft]=function(t){return e._moveWordLeft(!1,t)},n[t.CursorWordLeftSelect]=function(t){return e._moveWordLeft(!0,t)},n[t.CursorRight]=function(t){return e._moveRight(!1,t)},n[t.CursorRightSelect]=function(t){return e._moveRight(!0,t)},n[t.CursorWordRight]=function(t){return e._moveWordRight(!1,t)},n[t.CursorWordRightSelect]=function(t){return e._moveWordRight(!0,t)},n[t.CursorUp]=function(t){return e._moveUp(!1,!1,t)},n[t.CursorUpSelect]=function(t){return e._moveUp(!0,!1,t)},n[t.CursorDown]=function(t){return e._moveDown(!1,!1,t)},n[t.CursorDownSelect]=function(t){return e._moveDown(!0,!1,t)},n[t.CursorPageUp]=function(t){return e._moveUp(!1,!0,t)},n[t.CursorPageUpSelect]=function(t){return e._moveUp(!0,!0,t)},n[t.CursorPageDown]=function(t){return e._moveDown(!1,!0,t)},n[t.CursorPageDownSelect]=function(t){return e._moveDown(!0,!0,t)},n[t.CursorHome]=function(t){return e._moveToBeginningOfLine(!1,t)},n[t.CursorHomeSelect]=function(t){return e._moveToBeginningOfLine(!0,t)},n[t.CursorEnd]=function(t){return e._moveToEndOfLine(!1,t)},n[t.CursorEndSelect]=function(t){return e._moveToEndOfLine(!0,t)},n[t.CursorTop]=function(t){return e._moveToBeginningOfBuffer(!1,t)},n[t.CursorTopSelect]=function(t){return e._moveToBeginningOfBuffer(!0,t)},n[t.CursorBottom]=function(t){return e._moveToEndOfBuffer(!1,t)},n[t.CursorBottomSelect]=function(t){return e._moveToEndOfBuffer(!0,t)},n[t.SelectAll]=function(t){return e._selectAll(t)},n[t.LineSelect]=function(t){return e._line(!1,t)},n[t.LineSelectDrag]=function(t){return e._line(!0,t)},n[t.LastCursorLineSelect]=function(t){return e._lastCursorLine(!1,t)},n[t.LastCursorLineSelectDrag]=function(t){return e._lastCursorLine(!0,t)},n[t.LineInsertBefore]=function(t){return e._lineInsertBefore(t)},n[t.LineInsertAfter]=function(t){return e._lineInsertAfter(t)},n[t.LineBreakInsert]=function(t){return e._lineBreakInsert(t)},n[t.WordSelect]=function(t){return e._word(!1,t)},n[t.WordSelectDrag]=function(t){return e._word(!0,t)},n[t.LastCursorWordSelect]=function(t){return e._lastCursorWord(t)},n[t.CancelSelection]=function(t){return e._cancelSelection(t)},n[t.RemoveSecondaryCursors]=function(t){return e._removeSecondaryCursors(t)},n[t.Type]=function(t){return e._type(t)},n[t.ReplacePreviousChar]=function(t){return e._replacePreviousChar(t)},n[t.Tab]=function(t){return e._tab(t)},n[t.Indent]=function(t){return e._indent(t)},n[t.Outdent]=function(t){return e._outdent(t)},n[t.Paste]=function(t){return e._paste(t)},n[t.DeleteLeft]=function(t){return e._deleteLeft(t)},n[t.DeleteWordLeft]=function(t){return e._deleteWordLeft(t)},n[t.DeleteRight]=function(t){return e._deleteRight(t)},n[t.DeleteWordRight]=function(t){return e._deleteWordRight(t)},n[t.DeleteAllLeft]=function(t){return e._deleteAllLeft(t)},n[t.DeleteAllRight]=function(t){return e._deleteAllRight(t)},n[t.Cut]=function(t){return e._cut(t)},n[t.Undo]=function(t){return e._undo(t)},n[t.CursorUndo]=function(t){return e._cursorUndo(t)},n[t.Redo]=function(t){return e._redo(t)},n[t.ExecuteCommand]=function(t){return e._externalExecuteCommand(t)},n[t.ExecuteCommands]=function(t){return e._externalExecuteCommands(t)};var o,i=function(t,n){return function(o){return e._onHandler(t,n,o)}};for(o in n)n.hasOwnProperty(o)&&this.configuration.handlerDispatcher.setHandler(o,i(o,n[o]))},t.prototype._invokeForAll=function(e,t,n,o){void 0===n&&(n=!0),void 0===o&&(o=!0);var i,r=!1,s=this.cursors.getAll();e.shouldPushStackElementBefore=n,e.shouldPushStackElementAfter=o;for(var a=0;a=t?u.OneCursorOp.translateUp(n,o):!1})},t.prototype._addCursorDown=function(e){if(this.configuration.editor.readOnly)return!1;var t=this.cursors.getSelections().length;return this.cursors.duplicateCursors(),e.shouldRevealTarget=f.BottomMost,this._invokeForAll(e,function(e,n,o){return e>=t?u.OneCursorOp.translateDown(n,o):!1})},t.prototype._moveLeft=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveLeft(n,e,o)})},t.prototype._moveWordLeft=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveWordLeft(n,e,o)})},t.prototype._moveRight=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveRight(n,e,o)})},t.prototype._moveWordRight=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveWordRight(n,e,o)})},t.prototype._moveDown=function(e,t,n){return this._invokeForAll(n,function(n,o,i){return u.OneCursorOp.moveDown(o,e,t,i)})},t.prototype._moveUp=function(e,t,n){return this._invokeForAll(n,function(n,o,i){return u.OneCursorOp.moveUp(o,e,t,i)})},t.prototype._moveToBeginningOfLine=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveToBeginningOfLine(n,e,o)})},t.prototype._moveToEndOfLine=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveToEndOfLine(n,e,o)})},t.prototype._moveToBeginningOfBuffer=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveToBeginningOfBuffer(n,e,o)})},t.prototype._moveToEndOfBuffer=function(e,t){return this._invokeForAll(t,function(t,n,o){return u.OneCursorOp.moveToEndOfBuffer(n,e,o)})},t.prototype._selectAll=function(e){return this.cursors.killSecondaryCursors(),this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.selectAll(t,n)})},t.prototype._line=function(e,t){return this.cursors.killSecondaryCursors(),this._invokeForAll(t,function(n,o,i){return u.OneCursorOp.line(o,e,t.eventData.position,t.eventData.viewPosition,i)})},t.prototype._lastCursorLine=function(e,t){if(this.configuration.editor.readOnly||this.model.hasEditableRange())return!1;var n=this.cursors.getLastAddedCursor();return this._invokeForAll(t,function(o,i,r){return i===n?u.OneCursorOp.line(i,e,t.eventData.position,t.eventData.viewPosition,r):!1}),t.shouldReveal=!1,t.shouldRevealHorizontal=!1,!0},t.prototype._lineInsertBefore=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.lineInsertBefore(t,n)})},t.prototype._lineInsertAfter=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.lineInsertAfter(t,n)})},t.prototype._lineBreakInsert=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.lineBreakInsert(t,n)})},t.prototype._word=function(e,t){return this.cursors.killSecondaryCursors(),this._invokeForAll(t,function(n,o,i){return u.OneCursorOp.word(o,e,t.eventData.position,t.eventData.preference||"none",i)})},t.prototype._lastCursorWord=function(e){if(this.configuration.editor.readOnly||this.model.hasEditableRange())return!1;var t=this.cursors.getLastAddedCursor();return this._invokeForAll(e,function(n,o,i){return o===t?u.OneCursorOp.word(o,!0,e.eventData.position,e.eventData.preference||"none",i):!1}),e.shouldReveal=!1,e.shouldRevealHorizontal=!1,!0},t.prototype._removeSecondaryCursors=function(e){return this.cursors.killSecondaryCursors(),!0},t.prototype._cancelSelection=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.cancelSelection(t,n)})},t.prototype._type=function(e){var t=this,n=e.eventData.text;if("keyboard"===e.eventSource){var o,i,r;for(o=0,i=n.length;i>o;o++)r=n.charAt(o),this.charactersTyped+=r,e.hasExecutedCommands=this._createAndInterpretHandlerCtx(e.eventSource,e.eventData,function(n){t._invokeForAll(n,function(e,t,n){return u.OneCursorOp.type(t,r,n)},!1,!1),e.cursorPositionChangeReason=n.cursorPositionChangeReason,e.shouldReveal=n.shouldReveal,e.shouldRevealVerticalInCenter=n.shouldRevealVerticalInCenter,e.shouldRevealHorizontal=n.shouldRevealHorizontal})||e.hasExecutedCommands}else this._invokeForAll(e,function(e,t,o){return u.OneCursorOp.actualType(t,n,!1,o)});return!0},t.prototype._replacePreviousChar=function(e){var t=e.eventData.text;return this._invokeForAll(e,function(e,n,o){return u.OneCursorOp.replacePreviousChar(n,t,o)})},t.prototype._tab=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.tab(t,n)},!1,!1)},t.prototype._indent=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.indent(t,n)})},t.prototype._outdent=function(e){return this._invokeForAll(e,function(e,t,n){return u.OneCursorOp.outdent(t,n)})},t.prototype._paste=function(e){var t=this._distributePasteToCursors(e);return t?this._invokeForAll(e,function(e,n,o){return u.OneCursorOp.paste(n,t[e],!1,o)}):this._invokeForAll(e,function(t,n,o){return u.OneCursorOp.paste(n,e.eventData.text,e.eventData.pasteOnNewLine,o)})},t.prototype._distributePasteToCursors=function(e){if(e.eventData.pasteOnNewLine)return null;var t=this.cursors.getSelections();if(1===t.length)return null;for(var n=0;nt.MODEL_SYNC_LIMIT,this._shouldDenyMode=o.length>t.MODEL_TOKENIZATION_LIMIT,this._stopLineTokenizationAfter=u.DefaultConfig.editor.stopLineTokenizationAfter,s)if(m.TPromise.is(s)){var d=s;this._modeToModelBinder=new v(d,this),this._mode=new i.NullMode}else this._mode=this._massageMode(s),this._resetModeListener(this._mode);else this._mode=new i.NullMode;this._revalidateTokensTimeout=-1,this._scheduleRetokenizeNow=new c.RunOnceScheduler(function(){return a._retokenizeNow()},200),this._retokenizers=[],this._resetTokenizationState()}return __extends(t,e),t.prototype.dispose=function(){this._modeToModelBinder&&(this._modeToModelBinder.dispose(),this._modeToModelBinder=null),this._resetModeListener(null),this._clearTimers(),this._mode=null,this._lastState=null,this._tokensInflatorMap=null,this._retokenizers=p.disposeAll(this._retokenizers),this._scheduleRetokenizeNow.dispose(),e.prototype.dispose.call(this)},t.prototype._massageMode=function(e){return this._shouldDenyMode?new i.NullMode:this._shouldSimplifyMode?new C(e):e},t.prototype.whenModeIsReady=function(){var e=this;return this._modeToModelBinder?this._modeToModelBinder.getModePromise().then(function(){return e._mode}):m.TPromise.as(this._mode)},t.prototype.onRetokenizerFulfilled=function(){this._scheduleRetokenizeNow.schedule()},t.prototype._retokenizeNow=function(){var e=this._retokenizers.filter(function(e){return e.isFulfilled});this._retokenizers=this._retokenizers.filter(function(e){return!e.isFulfilled});for(var t=!1,n=0;nn;n++)this._lines[n].isInvalid=!0;this._invalidLineStartIndex=0}else{for(var i=Number.MAX_VALUE,n=0;ne||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return t||this._updateTokensUntilLine(e,!0),this._lines[e-1].getTokens()},t.prototype.getLineContext=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getLineContext: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._updateTokensUntilLine(e,!0),new _(this._mode,this._lines[e-1])},t.prototype._getInternalTokens=function(e){return this._updateTokensUntilLine(e,!0),this._lines[e-1].getTokens()},t.prototype.setValue=function(t,n){if(void 0===n&&(n=null),this._isDisposed)throw new Error("TextModelWithTokens.setValue: Model is disposed");if(null!==t&&e.prototype.setValue.call(this,t),n)if(this._modeToModelBinder&&(this._modeToModelBinder.dispose(),this._modeToModelBinder=null),m.TPromise.is(n))this._modeToModelBinder=new v(n,this);else{var o=this._massageMode(n);if(this._mode!==o){var i={oldMode:this._mode,newMode:o};this._resetMode(i,o),this._emitModelModeChangedEvent(i)}}},t.prototype.getMode=function(){if(this._isDisposed)throw new Error("TextModelWithTokens.getMode: Model is disposed");return this._mode},t.prototype.setMode=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.setMode: Model is disposed");e&&this.setValue(null,e)},t.prototype.getModeAtPosition=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.getModeAtPosition: Model is disposed");var n=this.validatePosition({lineNumber:e,column:t}),o=n.lineNumber,i=n.column;if(1===i)return this.getStateBeforeLine(o).getMode();if(i===this.getLineMaxColumn(o))return this.getStateAfterLine(o).getMode();var r=this._getLineModeTransitions(o),s=d.Arrays.findIndexInSegmentsArray(r,i-1);return r[s].mode},t.prototype._invalidateLine=function(e){this._lines[e].isInvalid=!0,e=n;n++){var o=this._lines[n-1].text;if(o.length>=200){t=n-1;break}}this._revalidateTokensNow(t)},t.prototype._revalidateTokensNow=function(e){void 0===e&&(e=this._invalidLineStartIndex+1e6);var t=o.start(o.Topic.EDITOR,"backgroundTokenization");e=Math.min(this._lines.length,e);for(var n,i=20,r=this._invalidLineStartIndex+1,s=0,a=0,u=0,l=this._stopLineTokenizationAfter,c=f.StopWatch.create(),d=r;e>=d;d++){if(n=c.elapsed(),n>i){e=d-1;break}if(a=this._lines[d-1].text.length,-1!==l&&a>l&&(a=l),s>0&&(u=n/s*a,n+u>i)){e=d-1;break}this._updateTokensUntilLine(d,!1),s+=a}n=c.elapsed();var h=o.start(o.Topic.EDITOR,"**speed: "+this._tokenizationTotalCharacters/this._tokenizationElapsedTime);h.stop(),e>=r&&this.emitModelTokensChangedEvent(r,e),this._invalidLineStartIndexe||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._updateTokensUntilLine(e,!0),this._lines[e-1].getModeTransitions().toArray(this._mode)},t.prototype._updateTokensUntilLine=function(e,n){var o=this._lines.length,r=e-1,s=this._stopLineTokenizationAfter;-1===s&&(s=1e9);for(var a=f.StopWatch.create(),u=0,l=this._invalidLineStartIndex+1,c=e,d=this._invalidLineStartIndex;r>=d;d++){var p=d+1,m=null,g=this._lines[d].text;if(this._mode.tokenizationSupport){try{m=this._mode.tokenizationSupport.tokenize(this._lines[d].text,this._lines[d].getState(),0,s),u=m?m.actualStopOffset:this._lines[d].text.length}catch(v){v.friendlyMessage=t.MODE_TOKENIZATION_FAILED_MSG,h.onUnexpectedError(v)}m&&m.retokenize&&this._retokenizers.push(this._createRetokenizer(m.retokenize,d+1)),m&&m.tokens&&m.tokens.length>0&&(m.actualStopOffset=Math.max(m.actualStopOffset,m.tokens[m.tokens.length-1].startIndex+1)),m&&m.actualStopOffsetp)if(null!==this._lines[p].getState()&&m.endState.equals(this._lines[p].getState())){for(var y=d+1;o>y&&!this._lines[y].isInvalid;){if(o>y+1){if(null===this._lines[y+1].getState())break}else if(null===this._lastState)break;y++}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,y),d=y-1}else this._lines[p].setState(m.endState);else this._lastState=m.endState}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,r+1),this._tokenizationElapsedTime+=a.elapsed(),this._tokenizationTotalCharacters+=u,n&&c>=l&&this.emitModelTokensChangedEvent(l,c)},t.prototype.emitModelTokensChangedEvent=function(e,t){var n={fromLineNumber:e,toLineNumber:t};this._isDisposing||this.emit(l.EventType.ModelTokensChanged,n)},t.prototype._emitModelModeChangedEvent=function(e){this._isDisposing||this.emit(l.EventType.ModelModeChanged,e)},t.prototype._emitModelModeSupportChangedEvent=function(e){this._isDisposing||this.emit(l.EventType.ModelModeSupportChanged,e)},t.prototype._lineIsTokenized=function(e){return this._invalidLineStartIndex>e-1},t.prototype._getWordDefinition=function(){return r.WordHelper.massageWordDefinitionOf(this._mode)},t.prototype.getWordAtPosition=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWordAtPosition: Model is disposed");return r.WordHelper.getWordAtPosition(this,this.validatePosition(e))},t.prototype.getWordUntilPosition=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWordUntilPosition: Model is disposed");var t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.getWords=function(e){if(this._isDisposed)throw new Error("TextModelWithTokens.getWords: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return r.WordHelper.getWords(this,this.validateLineNumber(e))},t.prototype.tokenIterator=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.tokenIterator: Model is disposed");var n=new s.TokenIterator(this,this.validatePosition(e)),o=t(n);return n._invalidate(),o},t.prototype.findMatchingBracketUp=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTokens.findMatchingBracketUp: Model is disposed");return r.BracketsHelper.findMatchingBracketUp(this,e,this.validatePosition(t))},t.prototype.matchBracket=function(e,t){if(void 0===t&&(t=!1),this._isDisposed)throw new Error("TextModelWithTokens.matchBracket: Model is disposed");return r.BracketsHelper.matchBracket(this,this.validatePosition(e),t)},t.MODE_TOKENIZATION_FAILED_MSG=n.localize(0,null),t.MODEL_SYNC_LIMIT=5242880,t.MODEL_TOKENIZATION_LIMIT=52428800,t}(a.TextModel);t.TextModelWithTokens=b;var C=function(){function e(e){this._id="vs.editor.modes.simplifiedMode:"+e.getId(),this.tokenizationSupport=e.tokenizationSupport,this.electricCharacterSupport=e.electricCharacterSupport,this.commentsSupport=e.commentsSupport,this.characterPairSupport=e.characterPairSupport,this.tokenTypeClassificationSupport=e.tokenTypeClassificationSupport}return e.prototype.getId=function(){return this._id},e}()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/mirrorModel",["require","exports","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/model/textModel","vs/editor/common/model/textModelWithTokens","vs/editor/common/model/modelLine","vs/editor/common/editorCommon","vs/base/common/network","vs/base/common/lifecycle"],function(e,t,n,o,i,r,s,a,u){function l(e,t,n,i,r,s){return new p(e,t,o.TextModel.toRawText(n),i,r,s)}var c=function(e){function t(t,n,o,i,r,a){e.call(this,t.concat([s.EventType.ModelDispose]),o,!1,i),a||(a={}),this._setVersionId(n),this._associatedResource=r,this._extraProperties=a}return __extends(t,e),t.prototype.getModeId=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getModeId: Model is disposed");return this.getMode().getId()},t.prototype.getEmbeddedAtPosition=function(e){return null},t.prototype.getAllEmbedded=function(){return[]},t.prototype._constructLines=function(t){e.prototype._constructLines.call(this,t),this._EOL="\n"},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){this.emit(s.EventType.ModelDispose),e.prototype.dispose.call(this)},t.prototype.getAssociatedResource=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getAssociatedResource: Model is disposed");return this._associatedResource},t.prototype.getProperty=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getProperty: Model is disposed");return this._extraProperties.hasOwnProperty(e)?this._extraProperties[e]:null},t.prototype._ensurePrefixSum=function(){if(!this._lineStarts){for(var e=[],t=this.getEOL().length,o=0,i=this._lines.length;i>o;o++)e.push(this._lines[o].text.length+t);this._lineStarts=new n.PrefixSumComputer(e)}},t.prototype.getRangeFromOffsetAndLength=function(e,t){if(this._isDisposed)throw new Error("AbstractMirrorModel.getRangeFromOffsetAndLength: Model is disposed");var n=this.getPositionFromOffset(e),o=this.getPositionFromOffset(e+t);return{startLineNumber:n.lineNumber,startColumn:n.column,endLineNumber:o.lineNumber,endColumn:o.column}},t.prototype.getOffsetAndLengthFromRange=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getOffsetAndLengthFromRange: Model is disposed");var t=this.getOffsetFromPosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this.getOffsetFromPosition({lineNumber:e.endLineNumber,column:e.endColumn});return{offset:t,length:n-t}},t.prototype.getPositionFromOffset=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getPositionFromOffset: Model is disposed");this._ensurePrefixSum();var t={index:0,remainder:0};return this._lineStarts.getIndexOf(e,t),{lineNumber:t.index+1,column:this.getEOL().length+t.remainder}},t.prototype.getOffsetFromPosition=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getOffsetFromPosition: Model is disposed");return this.getLineStart(e.lineNumber)+e.column-1},t.prototype.getLineStart=function(e){if(this._isDisposed)throw new Error("AbstractMirrorModel.getLineStart: Model is disposed");this._ensurePrefixSum();var t=Math.min(e,this._lines.length)-1;return this._lineStarts.getAccumulatedValue(t-1)},t.prototype.getAllWordsWithRange=function(){if(this._isDisposed)throw new Error("AbstractMirrorModel.getAllWordsWithRange: Model is disposed");if(this._lines.length>1e4)return[];var e,t=[],n=function(n){var i=o.text.substring(n.start,n.end),r={startLineNumber:e+1,startColumn:n.start+1,endLineNumber:e+1,endColumn:n.end+1};t.push({text:i,range:r})};for(e=0;e=o[i].start;i++){var r=o[i];if(t<=r.end)return n(e,r.start,r.end)}return n(e,-1,-1)},t}(i.TextModelWithTokens);t.AbstractMirrorModel=c;var d=function(e){function t(n,o,i,r){e.call(this,["changed"],n.getVersionId(),t._getMirrorValueWithinRanges(n,o),i,r),this._actualModel=n}return __extends(t,e),t._getMirrorValueWithinRanges=function(e,t){var n,i="",r=1,s=1;for(n=0;n=u;u++)for(var l=e._getLineModeTransitions(u),c=0;cn;n++){var i=e[n];switch(i.type){case s.EventType.ModelContentChanged:var r=i;switch(this._lineStarts=null,this._setVersionId(r.versionId),r.changeType){case s.EventType.ModelContentChangedFlush:this._onLinesFlushed(r),t=!0;break;case s.EventType.ModelContentChangedLinesDeleted:this._onLinesDeleted(r),t=!0;break;case s.EventType.ModelContentChangedLinesInserted:this._onLinesInserted(r),t=!0;break;case s.EventType.ModelContentChangedLineChanged:this._onLineChanged(r),t=!0}break;case s.EventType.ModelPropertiesChanged:this._extraProperties=i.properties;break;default:console.warn("Unknown model event: "+i.type)}}var a=!1;return t&&(this.emit("changed",{}),a=this._updateEmbeddedModels()),a},t.prototype._onLinesFlushed=function(e){this._constructLines(e.detail),this._resetTokenizationState()},t.prototype._onLineChanged=function(e){this._lines[e.lineNumber-1].applyEdits({},[{startColumn:1,endColumn:Number.MAX_VALUE,text:e.detail,forceMoveMarkers:!1}]),this._invalidateLine(e.lineNumber-1)},t.prototype._onLinesDeleted=function(e){var t=e.fromLineNumber-1,n=e.toLineNumber-1,o=this._lines[t].getState();this._lines.splice(t,n-t+1),t=2&&this._invalidateLine(e.fromLineNumber-2)},t}(c);t.MirrorModel=p});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithMarkers",["require","exports","vs/editor/common/core/position","vs/editor/common/model/textModelWithTokens","vs/editor/common/core/idGenerator"],function(e,t,n,o,i){var r=function(){function e(e,t,n){this.id=e,this.column=t,this.stickToPreviousCharacter=n,this.oldLineNumber=0,this.oldColumn=0,this.line=null}return e.prototype.toString=function(){return"{'"+this.id+"';"+this.column+","+this.stickToPreviousCharacter+",["+this.oldLineNumber+","+this.oldColumn+"]}"},e}();t.LineMarker=r;var s=0,a=function(e){function t(t,n,o){e.call(this,t,n,!0,o),this._markerIdGenerator=new i.IdGenerator(++s+";"),this._markerIdToMarker={}}return __extends(t,e),t.prototype.dispose=function(){this._markerIdToMarker=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._markerIdToMarker={}},t.prototype._addMarker=function(e,t,o){if(this._isDisposed)throw new Error("TextModelWithMarkers._addMarker: Model is disposed");var i=this.validatePosition(new n.Position(e,t)),s=new r(this._markerIdGenerator.generate(),i.column,o);return this._markerIdToMarker[s.id]=s,this._lines[i.lineNumber-1].addMarker(s),s.id},t.prototype._addMarkers=function(e){for(var t=Object.create(null),n=[],o=0,i=e.length;i>o;o++){var s=e[o],a=new r(this._markerIdGenerator.generate(),s.column,s.stickToPreviousCharacter);this._markerIdToMarker[a.id]=a,t[s.lineNumber]||(t[s.lineNumber]=[]),t[s.lineNumber].push(a),n.push(a.id)}for(var u=Object.keys(t),o=0,i=u.length;i>o;o++){var l=parseInt(u[o],10);this._lines[l-1].addMarkers(t[u[o]])}return n},t.prototype._changeMarker=function(e,t,o){if(this._isDisposed)throw new Error("TextModelWithMarkers._changeMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var i=this._markerIdToMarker[e],r=this.validatePosition(new n.Position(t,o));r.lineNumber!==i.line.lineNumber&&(i.line.removeMarker(i),this._lines[r.lineNumber-1].addMarker(i)),i.column=r.column}},t.prototype._changeMarkerStickiness=function(e,t){if(this._isDisposed)throw new Error("TextModelWithMarkers._changeMarkerStickiness: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var n=this._markerIdToMarker[e];n.stickToPreviousCharacter!==t&&(n.stickToPreviousCharacter=t)}},t.prototype._getMarker=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var t=this._markerIdToMarker[e];return new n.Position(t.line.lineNumber,t.column)}return null},t.prototype._getMarkersCount=function(){return Object.keys(this._markerIdToMarker).length},t.prototype._getLineMarkers=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getLineMarkers: Model is disposed");if(1>e||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].getMarkers()},t.prototype._removeMarker=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._removeMarker: Model is disposed");if(this._markerIdToMarker.hasOwnProperty(e)){var t=this._markerIdToMarker[e];t.line.removeMarker(t),delete this._markerIdToMarker[e]}},t.prototype._removeMarkers=function(e){for(var t=Object.create(null),n=0,o=e.length;o>n;n++){var i=e[n];if(this._markerIdToMarker.hasOwnProperty(i)){var r=this._markerIdToMarker[i],s=r.line.lineNumber;t[s]||(t[s]=Object.create(null)),t[s][i]=!0,delete this._markerIdToMarker[i]}}for(var a=Object.keys(t),n=0,o=a.length;o>n;n++){var s=parseInt(a[n],10);this._lines[s-1].removeMarkers(t[a[n]])}},t.prototype._getMarkersInMap=function(e){if(this._isDisposed)throw new Error("TextModelWithMarkers._getMarkersInMap: Model is disposed");var t,n=[];for(t in e)e.hasOwnProperty(t)&&this._markerIdToMarker.hasOwnProperty(t)&&n.push(this._markerIdToMarker[t]);return n},t}(o.TextModelWithTokens);t.TextModelWithMarkers=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithTrackedRanges",["require","exports","vs/editor/common/core/range","vs/editor/common/model/textModelWithMarkers","vs/editor/common/model/textModelWithTokens","vs/editor/common/editorCommon","vs/editor/common/core/idGenerator"],function(e,t,n,o,i,r,s){var a=function(e){function t(t,n,o){e.call(this,t,o),this.trackedRangeId=o.addTrackedRange({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:o.getLineMaxColumn(n)},r.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges)}return __extends(t,e),t.prototype.getRange=function(){return this._model.getTrackedRange(this.trackedRangeId)},t.prototype.dispose=function(){var t=this._model;t.isValidTrackedRange(this.trackedRangeId)&&t.removeTrackedRange(this.trackedRangeId),e.prototype.dispose.call(this)},t}(i.FullModelRetokenizer),u=function(){function e(e,t,n){this.id=e,this.startMarkerId=t,this.endMarkerId=n}return e}(),l=0,c=function(e){function t(t,n,o){e.call(this,t,n,o),this._rangeIdGenerator=new s.IdGenerator(++l+";"),this._ranges={},this._markerIdToRangeId={},this._multiLineTrackedRanges={}}return __extends(t,e),t.prototype._createRetokenizer=function(e,t){return new a(e,t,this)},t.prototype.dispose=function(){this._ranges=null,this._markerIdToRangeId=null,this._multiLineTrackedRanges=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._ranges={},this._markerIdToRangeId={},this._multiLineTrackedRanges={}},t.prototype._setRangeIsMultiLine=function(e,t){var n=this._multiLineTrackedRanges.hasOwnProperty(e);!n&&t?this._multiLineTrackedRanges[e]=!0:n&&!t&&delete this._multiLineTrackedRanges[e]},t.prototype._shouldStartMarkerSticksToPreviousCharacter=function(e){return e===r.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges||e===r.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore?!0:!1},t.prototype._shouldEndMarkerSticksToPreviousCharacter=function(e){return e===r.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges||e===r.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore?!0:!1},t.prototype._getTrackedRangesCount=function(){return Object.keys(this._ranges).length},t.prototype.addTrackedRange=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.addTrackedRange: Model is disposed");e=this.validateRange(e);var n=this._shouldStartMarkerSticksToPreviousCharacter(t),o=this._shouldEndMarkerSticksToPreviousCharacter(t),i=this._addMarker(e.startLineNumber,e.startColumn,n),r=this._addMarker(e.endLineNumber,e.endColumn,o),s=new u(this._rangeIdGenerator.generate(),i,r);return this._ranges[s.id]=s,this._markerIdToRangeId[i]=s.id,this._markerIdToRangeId[r]=s.id,this._setRangeIsMultiLine(s.id,e.startLineNumber!==e.endLineNumber),s.id},t.prototype._addTrackedRanges=function(e,t){for(var n=[],o=0,i=e.length;i>o;o++){var r=e[o],s=t[o];n.push({lineNumber:r.startLineNumber,column:r.startColumn,stickToPreviousCharacter:this._shouldStartMarkerSticksToPreviousCharacter(s)}),n.push({lineNumber:r.endLineNumber,column:r.endColumn,stickToPreviousCharacter:this._shouldEndMarkerSticksToPreviousCharacter(s)})}for(var a=this._addMarkers(n),l=[],o=0,i=e.length;i>o;o++){var r=e[o],c=a[2*o],d=a[2*o+1],h=new u(this._rangeIdGenerator.generate(),c,d);this._ranges[h.id]=h,this._markerIdToRangeId[c]=h.id,this._markerIdToRangeId[d]=h.id,this._setRangeIsMultiLine(h.id,r.startLineNumber!==r.endLineNumber),l.push(h.id)}return l},t.prototype.changeTrackedRange=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.changeTrackedRange: Model is disposed");if(this._ranges.hasOwnProperty(e)){t=this.validateRange(t);var n=this._ranges[e];this._changeMarker(n.startMarkerId,t.startLineNumber,t.startColumn),this._changeMarker(n.endMarkerId,t.endLineNumber,t.endColumn),this._setRangeIsMultiLine(n.id,t.startLineNumber!==t.endLineNumber)}},t.prototype.changeTrackedRangeStickiness=function(e,t){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.changeTrackedRangeStickiness: Model is disposed");if(this._ranges.hasOwnProperty(e)){var n=this._ranges[e];this._changeMarkerStickiness(n.startMarkerId,this._shouldStartMarkerSticksToPreviousCharacter(t)),this._changeMarkerStickiness(n.endMarkerId,this._shouldEndMarkerSticksToPreviousCharacter(t))}},t.prototype.isValidTrackedRange=function(e){return this._isDisposed||!this._ranges?!1:this._ranges.hasOwnProperty(e)},t.prototype.removeTrackedRange=function(e){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.removeTrackedRange: Model is disposed");if(this._ranges.hasOwnProperty(e)){var t=this._ranges[e];this._removeMarker(t.startMarkerId),this._removeMarker(t.endMarkerId),this._setRangeIsMultiLine(t.id,!1),delete this._ranges[t.id],delete this._markerIdToRangeId[t.startMarkerId],delete this._markerIdToRangeId[t.endMarkerId]}},t.prototype.removeTrackedRanges=function(e){for(var t=[],n=0,o=e.length;o>n;n++){var i=e[n];if(this._ranges.hasOwnProperty(i)){var r=this._ranges[i];t.push(r.startMarkerId),t.push(r.endMarkerId),this._setRangeIsMultiLine(r.id,!1),delete this._ranges[r.id],delete this._markerIdToRangeId[r.startMarkerId],delete this._markerIdToRangeId[r.endMarkerId]}}t.length>0&&this._removeMarkers(t)},t.prototype._newEditorRange=function(e,t){return t.isBefore(e)?new n.Range(e.lineNumber,e.column,e.lineNumber,e.column):new n.Range(e.lineNumber,e.column,t.lineNumber,t.column)},t.prototype.getTrackedRange=function(e){if(this._isDisposed)throw new Error("TextModelWithTrackedRanges.getTrackedRange: Model is disposed");var t=this._ranges[e],n=this._getMarker(t.startMarkerId),o=this._getMarker(t.endMarkerId);return this._newEditorRange(n,o)},t.prototype._getMultiLineTrackedRanges=function(e,t){var n,o,i,r,s=[];for(n in this._multiLineTrackedRanges)if(this._multiLineTrackedRanges.hasOwnProperty(n)){if(o=this._ranges[n],i=this._getMarker(o.startMarkerId),i.lineNumber>t)continue;if(r=this._getMarker(o.endMarkerId),r.lineNumberr;r++)d[c[r].id]=!0;for(a=e;t>=a;a++)for(n=this._getLineMarkers(a),r=0,s=n.length;s>r;r++)o=n[r],this._markerIdToRangeId.hasOwnProperty(o.id)&&(i=this._markerIdToRangeId[o.id],d.hasOwnProperty(i)||(u=this._getMarker(this._ranges[i].startMarkerId),l=this._getMarker(this._ranges[i].endMarkerId),c.push({id:i,range:this._newEditorRange(u,l)}),d[i]=!0));return c},t.prototype._onChangedMarkers=function(e){var t,n,o,i,r,s,a={};for(r=0,s=e.length;s>r;r++)i=e[r],this._markerIdToRangeId.hasOwnProperty(i.id)&&(o=this._markerIdToRangeId[i.id],n=this._ranges[o],a.hasOwnProperty(n.id)?t=a[n.id]:(t={startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0},a[n.id]=t),i.id===n.startMarkerId?(t.startLineNumber=i.oldLineNumber,t.startColumn=i.oldColumn):(t.endLineNumber=i.oldLineNumber,t.endColumn=i.oldColumn),this._setRangeIsMultiLine(n.id,this._getMarker(n.startMarkerId).lineNumber!==this._getMarker(n.endMarkerId).lineNumber));return a},t}(o.TextModelWithMarkers);t.TextModelWithTrackedRanges=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/textModelWithDecorations",["require","exports","vs/base/common/strings","vs/editor/common/model/textModelWithTrackedRanges","vs/editor/common/editorCommon","vs/base/common/errors","vs/editor/common/core/idGenerator","vs/editor/common/core/range"],function(e,t,n,o,i,r,s,a){function u(e){return e.replace(/[^a-z0-9\-]/gi," ")}function l(e){return new m(e)}function c(e,t){return void 0===t&&(t=null),new v(e,t)}var d=function(){function e(){this.changedMarkers={},this.oldDecorationRange={},this.oldDecorationOptions={},this.newOrChangedDecorations={},this.removedDecorations={}}return e.prototype.addNewDecoration=function(e){this.newOrChangedDecorations[e]=!0},e.prototype.addRemovedDecoration=function(e,t,n,o){this.newOrChangedDecorations.hasOwnProperty(e)&&delete this.newOrChangedDecorations[e],this.oldDecorationRange.hasOwnProperty(e)||(this.oldDecorationRange[e]=n),this.oldDecorationOptions.hasOwnProperty(e)||(this.oldDecorationOptions[e]=o),this.removedDecorations[e]=!0},e.prototype.addMovedDecoration=function(e,t){this.oldDecorationRange.hasOwnProperty(e)||(this.oldDecorationRange[e]=t),this.newOrChangedDecorations[e]=!0},e.prototype.addUpdatedDecoration=function(e,t){this.oldDecorationOptions.hasOwnProperty(e)||(this.oldDecorationOptions[e]=t),this.newOrChangedDecorations[e]=!0},e}();t.DeferredEventsBuilder=d;var h=0,p=function(e){function t(t,n,o){t.push(i.EventType.ModelDecorationsChanged),e.call(this,t,n,o),this._decorationIdGenerator=new s.IdGenerator(++h+";"),this.decorations={},this.rangeIdToDecorationId={},this._currentDeferredEvents=null}return __extends(t,e),t.prototype.dispose=function(){this.decorations=null,this.rangeIdToDecorationId=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this.decorations={},this.rangeIdToDecorationId={}},t.prototype.changeDecorations=function(e,t){var n=this;if(void 0===t&&(t=0),this._isDisposed)throw new Error("TextModelWithDecorations.changeDecorations: Model is disposed");return this._withDeferredEvents(function(o){var i={addDecoration:function(e,i){return n._addDecorationImpl(o,t,n.validateRange(e),l(i))},changeDecoration:function(e,t){n._changeDecorationImpl(o,e,n.validateRange(t))},changeDecorationOptions:function(e,t){n._changeDecorationOptionsImpl(o,e,l(t))},removeDecoration:function(e){n._removeDecorationImpl(o,e)},deltaDecorations:function(e,i){return n._deltaDecorationsImpl(o,t,e,n._normalizeDeltaDecorations(i))}},s=null;try{s=e(i)}catch(a){r.onUnexpectedError(a)}return i.addDecoration=null,i.changeDecoration=null,i.removeDecoration=null,i.deltaDecorations=null,s})},t.prototype.deltaDecorations=function(e,t,n){if(void 0===n&&(n=0),this._isDisposed)throw new Error("TextModelWithDecorations.deltaDecorations: Model is disposed");return e||(e=[]),this.changeDecorations(function(n){return n.deltaDecorations(e,t)},n)},t.prototype.removeAllDecorationsWithOwnerId=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.removeAllDecorationsWithOwnerId: Model is disposed");var t,n,o=[];for(t in this.decorations)this.decorations.hasOwnProperty(t)&&(n=this.decorations[t],n.ownerId===e&&o.push(n.id));this._removeDecorationsImpl(null,o)},t.prototype.getDecorationOptions=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationOptions: Model is disposed");return this.decorations.hasOwnProperty(e)?this.decorations[e].options:null},t.prototype.getDecorationRange=function(e){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationRange: Model is disposed");if(this.decorations.hasOwnProperty(e)){var t=this.decorations[e];return this.getTrackedRange(t.rangeId)}return null},t.prototype.getLineDecorations=function(e,t,n){if(void 0===t&&(t=0),void 0===n&&(n=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getLineDecorations: Model is disposed");return 1>e||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype._getDecorationsInRange=function(e,t,n,o,r,s){var a,u,l,c,d=[],h=this.getLinesTrackedRanges(e,n);for(u=0,c=h.length;c>u;u++)if(l=h[u],this.rangeIdToDecorationId.hasOwnProperty(l.id)){if(a=this.decorations[this.rangeIdToDecorationId[l.id]],r&&a.ownerId&&a.ownerId!==r)continue;if(s&&(a.options.className===i.ClassName.EditorErrorDecoration||a.options.className===i.ClassName.EditorWarningDecoration))continue;if(l.range.startLineNumber===e&&l.range.endColumno)continue;d.push({id:a.id,ownerId:a.ownerId,range:l.range,options:a.options})}return d},t.prototype.getLinesDecorations=function(e,t,n,o){if(void 0===n&&(n=0),void 0===o&&(o=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getLinesDecorations: Model is disposed");var i=this.getLineCount();return e=Math.min(i,Math.max(1,e)),t=Math.min(i,Math.max(1,t)),this._getDecorationsInRange(e,1,t,Number.MAX_VALUE,n,o)},t.prototype.getDecorationsInRange=function(e,t,n){if(this._isDisposed)throw new Error("TextModelWithDecorations.getDecorationsInRange: Model is disposed");var o=this.validateRange(e);return this._getDecorationsInRange(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn,t,n)},t.prototype.getAllDecorations=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=!1),this._isDisposed)throw new Error("TextModelWithDecorations.getAllDecorations: Model is disposed");var n,o,r=[];for(n in this.decorations)if(this.decorations.hasOwnProperty(n)){if(o=this.decorations[n],e&&o.ownerId&&o.ownerId!==e)continue;if(t&&(o.options.className===i.ClassName.EditorErrorDecoration||o.options.className===i.ClassName.EditorWarningDecoration))continue;r.push({id:o.id,ownerId:o.ownerId,range:this.getTrackedRange(o.rangeId),options:o.options})}return r},t.prototype._withDeferredEvents=function(e){var t=this;return this.deferredEmit(function(){var n=t._currentDeferredEvents?!1:!0;n&&(t._currentDeferredEvents=new d);try{var o=e(t._currentDeferredEvents);n&&t._handleCollectedEvents(t._currentDeferredEvents)}finally{n&&(t._currentDeferredEvents=null)}return o})},t.prototype._handleCollectedEvents=function(e){var t=this._getMarkersInMap(e.changedMarkers),n=this._onChangedMarkers(t);this._onChangedRanges(e,n),this._handleCollectedDecorationsEvents(e);for(var o=0,i=t.length;i>o;o++)t[o].oldLineNumber=0,t[o].oldColumn=0},t.prototype._onChangedRanges=function(e,t){var n,o;for(n in t)t.hasOwnProperty(n)&&this.rangeIdToDecorationId.hasOwnProperty(n)&&(o=this.rangeIdToDecorationId[n],e.addMovedDecoration(o,t[n]))},t.prototype._handleCollectedDecorationsEvents=function(e){var t,n,o,r=[],s=[],a=[];for(t in e.newOrChangedDecorations)e.newOrChangedDecorations.hasOwnProperty(t)&&(a.push(t),n=this._getDecorationData(t),n.isForValidation=n.options.className===i.ClassName.EditorErrorDecoration||n.options.className===i.ClassName.EditorWarningDecoration,r.push(n),e.oldDecorationRange.hasOwnProperty(t)&&(o=e.oldDecorationRange[t],o.startLineNumber=o.startLineNumber||n.range.startLineNumber,o.startColumn=o.startColumn||n.range.startColumn,o.endLineNumber=o.endLineNumber||n.range.endLineNumber,o.endColumn=o.endColumn||n.range.endColumn));for(t in e.removedDecorations)e.removedDecorations.hasOwnProperty(t)&&(a.push(t),s.push(t));if(a.length>0){var u={ids:a,addedOrChangedDecorations:r,removedDecorations:s,oldOptions:e.oldDecorationOptions,oldRanges:e.oldDecorationRange};this.emitModelDecorationsChangedEvent(u)}},t.prototype._getDecorationData=function(e){var t=this.decorations[e];return{id:t.id,ownerId:t.ownerId,range:this.getTrackedRange(t.rangeId),isForValidation:!1,options:t.options}},t.prototype.emitModelDecorationsChangedEvent=function(e){this._isDisposing||this.emit(i.EventType.ModelDecorationsChanged,e)},t.prototype._normalizeDeltaDecorations=function(e){for(var t=[],n=0,o=e.length;o>n;n++){var i=e[n];t.push(new g(n,this.validateRange(i.range),l(i.options)))}return t},t.prototype._addDecorationImpl=function(e,t,n,o){var i=this.addTrackedRange(n,o.stickiness),r=new f(this._decorationIdGenerator.generate(),t,i,o);return this.decorations[r.id]=r,this.rangeIdToDecorationId[i]=r.id,e.addNewDecoration(r.id),r.id},t.prototype._addDecorationsImpl=function(e,t,n){for(var o=this._addTrackedRanges(n.map(function(e){return e.range}),n.map(function(e){return e.options.stickiness})),i=[],r=0,s=n.length;s>r;r++){var a=o[r],u=new f(this._decorationIdGenerator.generate(),t,a,n[r].options);this.decorations[u.id]=u,this.rangeIdToDecorationId[a]=u.id,e.addNewDecoration(u.id),i.push(u.id)}return i},t.prototype._changeDecorationImpl=function(e,t,n){if(this.decorations.hasOwnProperty(t)){var o=this.decorations[t],i=this.getTrackedRange(o.rangeId);this.changeTrackedRange(o.rangeId,n),e.addMovedDecoration(t,i)}},t.prototype._changeDecorationOptionsImpl=function(e,t,n){if(this.decorations.hasOwnProperty(t)){var o=this.decorations[t],i=o.options;i.stickiness!==n.stickiness&&this.changeTrackedRangeStickiness(o.rangeId,n.stickiness),o.options=n,e.addUpdatedDecoration(t,i)}},t.prototype._removeDecorationImpl=function(e,t){if(this.decorations.hasOwnProperty(t)){var n=this.decorations[t],o=null;e&&(o=this.getTrackedRange(n.rangeId)),this.removeTrackedRange(n.rangeId),delete this.rangeIdToDecorationId[n.rangeId],delete this.decorations[t],e&&e.addRemovedDecoration(t,n.ownerId,o,n.options)}},t.prototype._removeDecorationsImpl=function(e,t){for(var n=[],o=0,i=t.length;i>o;o++){var r=t[o];if(this.decorations.hasOwnProperty(r)){var s=this.decorations[r];if(e){var a=this.getTrackedRange(s.rangeId);e.addRemovedDecoration(r,s.ownerId,a,s.options)}n.push(s.rangeId),delete this.rangeIdToDecorationId[s.rangeId],delete this.decorations[r]}}n.length>0&&this.removeTrackedRanges(n)},t.prototype._resolveOldDecorations=function(e){for(var t=[],n=0,o=e.length;o>n;n++){var i=e[n];if(this.decorations.hasOwnProperty(i)){var r=this.decorations[i];t.push({id:i,range:this.getTrackedRange(r.rangeId),options:r.options})}}return t},t.prototype._deltaDecorationsImpl=function(e,t,n,o){if(0===n.length)return this._addDecorationsImpl(e,t,o);if(0===o.length)return this._removeDecorationsImpl(e,n),[];var i=this._resolveOldDecorations(n);i.sort(function(e,t){return a.Range.compareRangesUsingStarts(e.range,t.range)}),o.sort(function(e,t){return a.Range.compareRangesUsingStarts(e.range,t.range)});for(var r=[],s=0,u=i.length,l=0,c=o.length,d=[],h=[];u>s&&c>l;){var p=i[s],f=o[l],m=a.Range.compareRangesUsingStarts(p.range,f.range);0>m?(h.push(p.id),s++):m>0?(d.push(f),l++):p.options.equals(f.options)?(r[f.index]=p.id,s++,l++):(h.push(p.id),s++)}for(;u>s;)h.push(i[s].id),s++;for(;c>l;)d.push(o[l]),l++;if(h.length>0&&this._removeDecorationsImpl(e,h),d.length>0)for(var g=this._addDecorationsImpl(e,t,d),v=0,y=d.length;y>v;v++)r[d[v].index]=g[v];return r},t}(o.TextModelWithTrackedRanges);t.TextModelWithDecorations=p;var f=function(){function e(e,t,n,o){this.id=e,this.ownerId=t,this.rangeId=n,this.options=o}return e}(),m=function(){function e(e){this.stickiness=e.stickiness||i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,this.className=u(e.className||n.empty),this.hoverMessage=e.hoverMessage||n.empty,this.htmlMessage=e.htmlMessage||[],this.isWholeLine=e.isWholeLine||!1,this.overviewRuler=c(e.overviewRuler,e.showInOverviewRuler),this.glyphMarginClassName=u(e.glyphMarginClassName||n.empty),this.linesDecorationsClassName=u(e.linesDecorationsClassName||n.empty),this.inlineClassName=u(e.inlineClassName||n.empty)}return e._htmlContentEquals=function(t,n){return t.formattedText===n.formattedText&&t.text===n.text&&t.className===n.className&&t.style===n.style&&t.customStyle===n.customStyle&&t.tagName===n.tagName&&t.isText===n.isText&&e._htmlContentArrEquals(t.children,n.children)},e._htmlContentArrEquals=function(t,n){if(!t)return!n;if(!n)return!1;var o=t.length,i=n.length;if(o!==i)return!1;for(var r=0;o>r;r++)if(!e._htmlContentEquals(t[r],n[r]))return!1;return!0},e._overviewRulerEquals=function(e,t){return e.color===t.color&&e.position===t.position&&e.darkColor===t.darkColor},e.prototype.equals=function(t){return this.stickiness===t.stickiness&&this.className===t.className&&this.hoverMessage===t.hoverMessage&&this.isWholeLine===t.isWholeLine&&this.showInOverviewRuler===t.showInOverviewRuler&&this.glyphMarginClassName===t.glyphMarginClassName&&this.linesDecorationsClassName===t.linesDecorationsClassName&&this.inlineClassName===t.inlineClassName&&e._htmlContentArrEquals(this.htmlMessage,t.htmlMessage)&&e._overviewRulerEquals(this.overviewRuler,t.overviewRuler)},e}(),g=function(){function e(e,t,n){this.index=e,this.range=t,this.options=n}return e}(),v=function(){function e(e,t){this.color=n.empty,this.darkColor=n.empty,this.position=i.OverviewRulerLane.Center,t&&(this.color=t),e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor),e&&e.hasOwnProperty("position")&&(this.position=e.position)}return e}()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/editableTextModel",["require","exports","vs/editor/common/core/range","vs/editor/common/model/editStack","vs/editor/common/model/modelLine","vs/editor/common/model/textModelWithDecorations","vs/editor/common/editorCommon"],function(e,t,n,o,i,r,s){var a=function(e){function t(t,n,i){t.push(s.EventType.ModelContentChanged),t.push(s.EventType.ModelContentChanged2),e.call(this,t,n,i),this._commandManager=new o.EditStack(this),this._isUndoing=!1,this._isRedoing=!1,this._hasEditableRange=!1,this._editableRangeId=null}return __extends(t,e),t.prototype.dispose=function(){this._commandManager=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t,n){e.prototype._resetValue.call(this,t,n),this._commandManager=new o.EditStack(this),this._hasEditableRange=!1,this._editableRangeId=null},t.prototype.pushStackElement=function(){if(this._isDisposed)throw new Error("EditableTextModel.pushStackElement: Model is disposed");this._commandManager.pushStackElement()},t.prototype.pushEditOperations=function(e,t,n){if(this._isDisposed)throw new Error("EditableTextModel.pushEditOperations: Model is disposed");return this._commandManager.pushEditOperation(e,t,n)},t.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},t.prototype._toSingleEditOperation=function(e){for(var t=!1,o=e[0].range,i=e[e.length-1].range,r=new n.Range(o.startLineNumber,o.startColumn,i.endLineNumber,i.endColumn),s=o.startLineNumber,a=o.startColumn,u=[],l=0,c=e.length;c>l;l++){var d=e[l],h=d.range;t=t||d.forceMoveMarkers;for(var p=s;pf;f++)0!==f&&u.push("\n"),u.push(d.lines[f]);s=d.range.endLineNumber,a=d.range.endColumn}return{identifier:e[0].identifier,range:r,lines:u.join("").split("\n"),forceMoveMarkers:t}},t.prototype.applyEdits=function(e){for(var o=[],i=0;i=0;i--)if(o[i+1].range.getStartPosition().isBeforeOrEqual(o[i].range.getEndPosition()))throw new Error("Overlapping ranges are not allowed!");o=this._reduceOperations(o);var s=this.getEditableRange(),a=s.getStartPosition(),u=s.getEndPosition();for(i=0;ir;r++){var a,u=e[r],l=u.deltaStartLineNumber+t,c=u.deltaStartColumn+(0===u.deltaStartLineNumber?o:0);a=u.original.lines&&u.original.lines.length>0?1===u.original.lines.length?new n.Range(l,c,l,c+u.original.lines[0].length):new n.Range(l,c,l+u.original.lines.length-1,u.original.lines[u.original.lines.length-1].length+1):new n.Range(l,c,l,c),t=a.endLineNumber,o=a.endColumn, +i.push(a)}return i},t.prototype._generateSequentialEdits=function(e){for(var t=[],o=0,i=0,r=0,s=e.length;s>r;r++){var a=e[r],u=a.deltaStartLineNumber+o,l=a.deltaStartColumn+(0===a.deltaStartLineNumber?i:0),c=a.deltaEndLineNumber+o,d=a.deltaEndColumn+(0===a.deltaEndLineNumber?i:0),h=new n.Range(u,l,c,d),p=this.getValueLengthInRange(h);t.push({range:h,rangeLength:p,text:a.original.lines?a.original.lines.join(this.getEOL()):""}),a.original.lines&&a.original.lines.length>0?1===a.original.lines.length?(o=u,i=l+a.original.lines[0].length):(o=u+a.original.lines.length-1,i=a.original.lines[a.original.lines.length-1].length+1):(o=u,i=l)}return t},t.prototype._applyEdits=function(e){var t=this,n=this._generateSequentialEdits(e);this._withDeferredEvents(function(o){for(var r=0,s=0,a=0,u=0,l=[],c=0,d=function(e,n){if(0!==n)for(var i=u+1;e>=i;i++)t._lines[i-1].updateLineNumber(o.changedMarkers,i);u=e},h=function(e,n,i,r,s){e!==c&&(l.length>0&&(t._applyLineEdits(o,c,l),l=[]),c=e),(n!==i||0!==r.length)&&l.push({startColumn:n,endColumn:i,text:r,forceMoveMarkers:s})},p=function(){var e=0;return l.length>0&&(e=t._applyLineEdits(o,c,l),l=[]),c=0,e},f=t.getVersionId(),m=0,g=e.length-1;g>=0;g--)if(!e[g].isNoOp){m=g;break}for(var g=0,v=e.length;v>g;g++){var y=e[g],_=y.deltaStartLineNumber+r,b=y.deltaStartColumn+(0===y.deltaStartLineNumber?s:0),C=y.deltaEndLineNumber+r,w=y.deltaEndColumn+(0===y.deltaEndLineNumber?s:0);if(r=_+(y.original.lines?y.original.lines.length-1:0),s=w,!y.isNoOp){for(var E=C-_,S=y.original.lines?y.original.lines.length-1:0,T=Math.min(E,S),L=0,x=0,M=0;T>=M;M++){var I=_+M,N=I===_?b:1,R=I===C?w:t.getLineMaxColumn(I),k=y.original.lines?y.original.lines[M]:"";h(I,N,R,k,y.original.forceMoveMarkers),M===T&&(L=R)}if(E>T){x=p();var O=L+x;s=O;var D=t._lines[C-1].split(o.changedMarkers,w,!1);t._invalidateLine(_+T-1);var A=_+T,P=E-T;d(_+T,a),a-=P;for(var W=[],M=0;P>M;M++){var F=A+M;W=W.concat(t._lines[F].deleteLine(o.changedMarkers,O,F+1))}t._lines.splice(A,P),t._lines[A-1].append(o.changedMarkers,D),t._lines[A-1].addMarkers(W),t.emitModelContentChangedLineChangedEvent(A),t.emitModelContentChangedLinesDeletedEvent(A+1,A+P)}if(S>T){x=p();var O=L+x,V=t._lines[_+T-1].split(o.changedMarkers,O,y.original.forceMoveMarkers);t.emitModelContentChangedLineChangedEvent(_+T),t._invalidateLine(_+T-1),s=y.original.lines[y.original.lines.length-1].length+1,d(_+T,a),a+=S-T;for(var H=[],M=T+1;S>=M;M++){var I=_+M;t._lines.splice(I-1,0,new i.ModelLine(I,y.original.lines[M])),H.push(y.original.lines[M])}H[H.length-1]+=V.text,t._lines[_+S-1].append(o.changedMarkers,V),t.emitModelContentChangedLinesInsertedEvent(_+T+1,_+S,H.join("\n"))}g===m&&p();var B=n[g];t.getVersionId()===f&&t._increaseVersionId(),f=t.getVersionId(),t._emitContentChanged2(B.range.startLineNumber,B.range.startColumn,B.range.endLineNumber,B.range.endColumn,B.rangeLength,B.text,t._isUndoing,t._isRedoing)}}d(t._lines.length,a)})},t.prototype._assertLineNumbersOK=function(){for(var e=0,t=0,n=this._lines.length;n>t;t++){var o=this._lines[t],i=t+1;if(o.lineNumber!==i)throw new Error("Invalid lineNumber at line: "+i+"; text is: "+this.getValue());for(var r=o.getMarkers(),s=0,a=r.length;a>s;s++){e++;var u=r[s].id,l=this._markerIdToMarker[u];if(l.line!==o)throw new Error("Misplaced marker with id "+u)}}var c=Object.keys(this._markerIdToMarker).length;if(c!==e)throw new Error("There are misplaced markers!")},t.prototype._applyLineEdits=function(e,t,n){this._invalidateLine(t-1);var o=this._lines[t-1].applyEdits(e.changedMarkers,n);return this.emitModelContentChangedLineChangedEvent(t),o},t._toDeltaOperations=function(e){for(var n=[],o=0;o0?e[o-1]:null,e[o]);return n},t.prototype.undo=function(){var e=this;if(this._isDisposed)throw new Error("EditableTextModel.undo: Model is disposed");return this._withDeferredEvents(function(){e._isUndoing=!0;var t=e._commandManager.undo();return e._isUndoing=!1,t?(e._overwriteAlternativeVersionId(t.recordedVersionId),t.selections):null})},t.prototype.redo=function(){var e=this;if(this._isDisposed)throw new Error("EditableTextModel.redo: Model is disposed");return this._withDeferredEvents(function(){e._isRedoing=!0;var t=e._commandManager.redo();return e._isRedoing=!1,t?(e._overwriteAlternativeVersionId(t.recordedVersionId),t.selections):null})},t.prototype.setEditableRange=function(e){if(this._isDisposed)throw new Error("EditableTextModel.setEditableRange: Model is disposed");this._commandManager.clear(),this._hasEditableRange&&(this.removeTrackedRange(this._editableRangeId),this._editableRangeId=null,this._hasEditableRange=!1),e&&(this._hasEditableRange=!0,this._editableRangeId=this.addTrackedRange(e,s.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges))},t.prototype.hasEditableRange=function(){if(this._isDisposed)throw new Error("EditableTextModel.hasEditableRange: Model is disposed");return this._hasEditableRange},t.prototype.getEditableRange=function(){if(this._isDisposed)throw new Error("EditableTextModel.getEditableRange: Model is disposed");return this._hasEditableRange?this.getTrackedRange(this._editableRangeId):this.getFullModelRange()},t.prototype._updateLineNumbers=function(e,t){var n,o,i=this._lines;for(n=t-1,o=i.length;o>n;n++)i[n].updateLineNumber(e,n+1)},t.prototype.emitModelContentChangedLineChangedEvent=function(e){this._increaseVersionId();var t={changeType:s.EventType.ModelContentChangedLineChanged,lineNumber:e,detail:this._lines[e-1].text,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,t)},t.prototype.emitModelContentChangedLinesDeletedEvent=function(e,t){this._increaseVersionId();var n={changeType:s.EventType.ModelContentChangedLinesDeleted,fromLineNumber:e,toLineNumber:t,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,n)},t.prototype.emitModelContentChangedLinesInsertedEvent=function(e,t,n){this._increaseVersionId();var o={changeType:s.EventType.ModelContentChangedLinesInserted,fromLineNumber:e,toLineNumber:t,detail:n,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing};this._isDisposing||this.emit(s.EventType.ModelContentChanged,o)},t}(r.TextModelWithDecorations);t.EditableTextModel=a});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/model/model",["require","exports","vs/editor/common/model/textModel","vs/editor/common/model/editableTextModel","vs/editor/common/editorCommon","vs/base/common/network","vs/base/common/objects"],function(e,t,n,o,i,r,s){var a=0,u={},l=function(e){function t(t,o,s){if(void 0===s&&(s=null),e.call(this,[i.EventType.ModelPropertiesChanged,i.EventType.ModelDispose],n.TextModel.toRawText(t),o),a++,this.id="$model"+a,("undefined"==typeof s||null===s)&&(s=new r.URL("inmemory://model/"+a)),this._associatedResource=s,u[String(this._associatedResource)])throw new Error("Cannot instantiate a second Model with the same URI!");this._extraProperties={},this._attachedEditorCount=0,u[String(this._associatedResource)]=!0}return __extends(t,e),t.prototype.getURL=function(){return this._associatedResource},t.prototype.getModeId=function(){return this.getMode().getId()},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){this._isDisposing=!0,delete u[String(this._associatedResource)],this.emit(i.EventType.ModelDispose),e.prototype.dispose.call(this),this._isDisposing=!1},t.prototype.onBeforeAttached=function(){if(this._isDisposed)throw new Error("Model.onBeforeAttached: Model is disposed");this._attachedEditorCount++,this._warmUpTokens()},t.prototype.onBeforeDetached=function(){if(this._isDisposed)throw new Error("Model.onBeforeDetached: Model is disposed");this._attachedEditorCount--},t.prototype.isAttachedToEditor=function(){return this._attachedEditorCount>0},t.prototype.getAssociatedResource=function(){if(this._isDisposed)throw new Error("Model.getAssociatedResource: Model is disposed");return this._associatedResource},t.prototype.setProperty=function(e,t){if(this._isDisposed)throw new Error("Model.setProperty: Model is disposed");this._extraProperties[e]=t,this.emitModelPropertiesChangedEvent()},t.prototype.getProperty=function(e){if(this._isDisposed)throw new Error("Model.getProperty: Model is disposed");return this._extraProperties.hasOwnProperty(e)?this._extraProperties[e]:null},t.prototype.getProperties=function(){if(this._isDisposed)throw new Error("Model.getProperties: Model is disposed");return s.clone(this._extraProperties)},t.prototype.emitModelPropertiesChangedEvent=function(){var e={properties:this._extraProperties};this._isDisposing||this.emit(i.EventType.ModelPropertiesChanged,e)},t}(o.EditableTextModel);t.Model=l}),define("vs/nls!vs/editor/common/modes/languageExtensionPoint",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/common/modes/languageExtensionPoint",t)}),define("vs/nls!vs/editor/common/services/bulkEdit",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/common/services/bulkEdit",t)}),define("vs/nls!vs/editor/contrib/clipboard/browser/clipboard",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/clipboard/browser/clipboard",t)}),define("vs/nls!vs/editor/contrib/comment/common/comment",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/comment/common/comment",t)}),define("vs/nls!vs/editor/contrib/contextmenu/browser/contextmenu",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/contextmenu/browser/contextmenu",t)}),define("vs/nls!vs/editor/contrib/find/browser/find",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/find/browser/find",t)}),define("vs/nls!vs/editor/contrib/find/browser/findWidget",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/find/browser/findWidget",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/find/browser/findWidget",["require","exports","vs/nls!vs/editor/contrib/find/browser/findWidget","vs/base/common/errors","vs/base/common/eventEmitter","vs/base/browser/dom","vs/base/browser/keyboardEvent","vs/base/browser/ui/inputbox/inputBox","vs/base/browser/ui/findinput/findInput","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","./findModel","vs/base/common/lifecycle","vs/base/common/keyCodes","vs/css!./findWidget"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p){var f=function(e){function t(n,o,i){var s=this;e.call(this,[t._USER_INPUT_EVENT,t._USER_CLOSED_EVENT]),this._codeEditor=n,this._controller=o,this._contextViewProvider=i,this._isVisible=!1,this._isReplaceVisible=!1,this._isReplaceEnabled=!1,this._toDispose=[],this._model=null,this._modelListenersToDispose=[],this._buildDomNode(),this.focusTracker=r.trackFocus(this._domNode),this._codeEditor.addOverlayWidget(this),this.focusTracker.addFocusListener(function(){var e=s._codeEditor.getSelection();e.startLineNumber!==e.endLineNumber&&s._controller.enableSelectionFind()})}return __extends(t,e),t.prototype.dispose=function(){this.focusTracker.dispose(),this._removeModel(),this._findInput.destroy(),this._replaceInputBox.dispose(),this._toDispose=h.disposeAll(this._toDispose)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:l.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER}:null},t.prototype.setSearchString=function(e){this._findInput.setValue(e)},t.prototype._setState=function(e,t){this._findInput.setValue(e.searchString),this._findInput.setCaseSensitive(e.properties.matchCase),this._findInput.setWholeWords(e.properties.wholeWord),this._findInput.setRegex(e.properties.isRegex),this._toggleSelectionFind.checkbox.disabled=!t,this._toggleSelectionFind.checkbox.checked=t,this._replaceInputBox.value=e.replaceString,e.isReplaceRevealed?this._enableReplace(!1):this._disableReplace(!1),this._onFindValueChange()},t.prototype.getState=function(){var e={searchString:this._findInput.getValue(),replaceString:this._replaceInputBox.value,properties:{isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},isReplaceRevealed:this._isReplaceEnabled};return e},t.prototype.setModel=function(e){var t=this;this._removeModel(),e?(this._model=e,this._modelListenersToDispose.push(this._model.addStartEventListener(function(e){t._reveal(e.shouldFocus),t._setState(e.state,e.selectionFindEnabled),e.shouldFocus&&(t._findInput.select(),t._findInput.focus())})),this._modelListenersToDispose.push(this._model.addMatchesUpdatedEventListener(function(e){r.toggleClass(t._domNode,"no-results",""!==t._findInput.getValue()&&0===e.count)}))):this._hide(!1)},t.prototype._removeModel=function(){null!==this._model&&(this._modelListenersToDispose=h.disposeAll(this._modelListenersToDispose),this._model=null)},t.prototype._enableReplace=function(e){this._isReplaceEnabled=!0,this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._replaceInputBox.enable(),this._isReplaceVisible=!0,r.addClass(this._domNode,"replaceToggled"),this._toggleReplaceBtn.toggleClass("collapse",!1),this._toggleReplaceBtn.toggleClass("expand",!0),this._toggleReplaceBtn.setExpanded(!0)),e&&this._emitUserInputEvent(!1)},t.prototype._disableReplace=function(e){this._isReplaceEnabled=!1,this._isReplaceVisible&&(this._replaceInputBox.disable(),r.removeClass(this._domNode,"replaceToggled"),this._toggleReplaceBtn.toggleClass("expand",!1),this._toggleReplaceBtn.toggleClass("collapse",!0),this._toggleReplaceBtn.setExpanded(!1),this._isReplaceVisible=!1),e&&this._emitUserInputEvent(!1)},t.prototype._onFindInputKeyDown=function(e){var t=this,n=!1;e.equals(p.CommonKeybindings.ENTER)?(this._codeEditor.getAction(d.NEXT_MATCH_FIND_ID).run().done(null,o.onUnexpectedError),n=!0):e.equals(p.CommonKeybindings.SHIFT_ENTER)?(this._codeEditor.getAction(d.PREVIOUS_MATCH_FIND_ID).run().done(null,o.onUnexpectedError),n=!0):e.equals(p.CommonKeybindings.TAB)&&(this._isReplaceVisible?this._replaceInputBox.focus():this._findInput.focusOnCaseSensitive(),n=!0),n?e.preventDefault():setTimeout(function(){t._onFindValueChange(),t._emitUserInputEvent(!0)},10)},t.prototype._onReplaceInputKeyDown=function(e){var t=this,n=!1;e.equals(p.CommonKeybindings.ENTER)?(this._controller.replace(),n=!0):e.equals(p.CommonKeybindings.CTRLCMD_ENTER)?(this._controller.replaceAll(),n=!0):e.equals(p.CommonKeybindings.TAB)&&(this._findInput.focusOnCaseSensitive(),n=!0),n?e.preventDefault():setTimeout(function(){t._emitUserInputEvent(!0)},10)},t.prototype._onFindValueChange=function(){var e=this._findInput.getValue().length>0;this._prevBtn.setEnabled(e),this._nextBtn.setEnabled(e),this._replaceBtn.setEnabled(e),this._replaceAllBtn.setEnabled(e)},t.prototype._buildFindPart=function(){var e=this;this._findInput=new u.FindInput(null,this._contextViewProvider,{width:t.FIND_INPUT_AREA_WIDTH,label:n.localize(0,null),placeholder:n.localize(1,null),validation:function(t){if(0===t.length)return null;if(!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(n){return{content:n.message}}}}).on("keydown",function(t){e._onFindInputKeyDown(new s.StandardKeyboardEvent(t))}).on(u.FindInput.OPTION_CHANGE,function(){e._emitUserInputEvent(!0)}),this._findInput.disable(),this._prevBtn=new g(n.localize(2,null),"previous").onTrigger(function(){e._codeEditor.getAction(d.PREVIOUS_MATCH_FIND_ID).run().done(null,o.onUnexpectedError)}),this._toDispose.push(this._prevBtn),this._nextBtn=new g(n.localize(3,null),"next").onTrigger(function(){e._codeEditor.getAction(d.NEXT_MATCH_FIND_ID).run().done(null,o.onUnexpectedError)}),this._toDispose.push(this._nextBtn);var i=document.createElement("div");return i.className="find-part",i.appendChild(this._findInput.domNode),i.appendChild(this._prevBtn.domNode),i.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=new m(i,n.localize(4,null)),this._toggleSelectionFind.disable(),this._toDispose.push(r.addStandardDisposableListener(this._toggleSelectionFind.checkbox,"change",function(t){e._toggleSelectionFind.checkbox.checked?e._controller.enableSelectionFind():(e._controller.disableSelectionFind(),e._updateToggleSelectionFindButton())})),this._toDispose.push(this._toggleSelectionFind),this._codeEditor.addListener(c.EventType.CursorSelectionChanged,function(){e._updateToggleSelectionFindButton()}),this._closeBtn=new g(n.localize(5,null),"close-fw").onTrigger(function(){e._hide(!0),e._emitClosedEvent()}).onKeyDown(function(t){e._isReplaceVisible&&(e._replaceBtn.focus(),t.preventDefault())}),this._toDispose.push(this._closeBtn),i.appendChild(this._closeBtn.domNode),i},t.prototype._updateToggleSelectionFindButton=function(){if(this._isVisible&&!this._toggleSelectionFind.checkbox.checked){var e=this._codeEditor.getSelection();e.startLineNumber===e.endLineNumber?this._toggleSelectionFind.disable():this._toggleSelectionFind.enable()}},t.prototype._buildReplacePart=function(){var e=this,o=document.createElement("div");o.className="replace-input",o.style.width=t.REPLACE_INPUT_AREA_WIDTH+"px",this._replaceInputBox=new a.InputBox(o,null,{ariaLabel:n.localize(6,null),placeholder:n.localize(7,null)}),this._toDispose.push(r.addStandardDisposableListener(this._replaceInputBox.inputElement,"keydown",function(t){return e._onReplaceInputKeyDown(t)})),this._replaceInputBox.disable(),this._replaceBtn=new g(n.localize(8,null),"replace").onTrigger(function(){e._controller.replace()}),this._toDispose.push(this._replaceBtn),this._replaceAllBtn=new g(n.localize(9,null),"replace-all").onTrigger(function(){e._controller.replaceAll()}),this._toDispose.push(this._replaceAllBtn);var i=document.createElement("div");return i.className="replace-part",i.appendChild(o),i.appendChild(this._replaceBtn.domNode),i.appendChild(this._replaceAllBtn.domNode),i},t.prototype._buildDomNode=function(){var e=this,t=this._buildFindPart(),o=this._buildReplacePart();this._toggleReplaceBtn=new g(n.localize(10,null),"toggle left").onTrigger(function(){e._isReplaceVisible?e._disableReplace(!0):e._enableReplace(!0)}),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._toDispose.push(this._toggleReplaceBtn),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","false"),this._codeEditor.getConfiguration().readOnly||r.addClass(this._domNode,"can-replace"),this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(o)},t.prototype._reveal=function(e){var t=this;this._isVisible||(this._findInput.enable(),this._isReplaceVisible&&this._replaceInputBox.enable(),this._toggleSelectionFind.enable(),this._closeBtn.setEnabled(!0),this._onFindValueChange(),this._isVisible=!0,window.setTimeout(function(){r.addClass(t._domNode,"visible"),e||(r.addClass(t._domNode,"noanimation"),window.setTimeout(function(){r.removeClass(t._domNode,"noanimation")},200))},0),this._codeEditor.layoutOverlayWidget(this))},t.prototype._hide=function(e){this._isVisible&&(this._findInput.disable(),this._replaceInputBox.disable(),this._toggleSelectionFind.disable(),this._closeBtn.setEnabled(!1),this._prevBtn.setEnabled(!1),this._nextBtn.setEnabled(!1),this._replaceBtn.setEnabled(!1),this._replaceAllBtn.setEnabled(!1),r.removeClass(this._domNode,"visible"),this._isVisible=!1,e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this))},t.prototype.addUserInputEventListener=function(e){return this.addListener2(t._USER_INPUT_EVENT,e)},t.prototype._emitUserInputEvent=function(e){var n={jumpToNextMatch:e};this.emit(t._USER_INPUT_EVENT,n)},t.prototype.addClosedEventListener=function(e){return this.addListener2(t._USER_CLOSED_EVENT,e)},t.prototype._emitClosedEvent=function(){this.emit(t._USER_CLOSED_EVENT)},t._USER_CLOSED_EVENT="close",t._USER_INPUT_EVENT="userInputEvent",t.ID="editor.contrib.findWidget",t.PART_WIDTH=275,t.FIND_INPUT_AREA_WIDTH=t.PART_WIDTH-54,t.REPLACE_INPUT_AREA_WIDTH=t.FIND_INPUT_AREA_WIDTH,t}(i.EventEmitter);t.FindWidget=f;var m=function(){function e(t,n){this._domNode=document.createElement("div"),this._domNode.className="monaco-checkbox",this._domNode.title=n,this._checkbox=document.createElement("input"),this._checkbox.type="checkbox",this._checkbox.className="checkbox",this._checkbox.id="checkbox-"+e.COUNTER++,this.label=document.createElement("label"),this.label.className="label",this.label.htmlFor=this._checkbox.id,this._domNode.appendChild(this._checkbox),this._domNode.appendChild(this.label),t.appendChild(this._domNode)}return Object.defineProperty(e.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"checkbox",{get:function(){return this._checkbox},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this._checkbox.focus()},e.prototype.enable=function(){this._checkbox.removeAttribute("disabled")},e.prototype.disable=function(){this._checkbox.disabled=!0},e.prototype.dispose=function(){this._domNode=null,this._checkbox=null,this.label=null},e.COUNTER=0,e}();t.Checkbox=m;var g=function(){function e(e,t){var n=this;this._onTrigger=null,this._onKeyDown=null,this._domNode=document.createElement("div"),this._domNode.title=e,this._domNode.tabIndex=-1,this._domNode.className="button "+t,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",e),this._toDispose=[],this._toDispose.push(r.addStandardDisposableListener(this._domNode,"click",function(e){n._invokeOnTrigger(),e.preventDefault()})),this._toDispose.push(r.addStandardDisposableListener(this._domNode,"keydown",function(e){return e.equals(p.CommonKeybindings.SPACE)||e.equals(p.CommonKeybindings.ENTER)?(n._invokeOnTrigger(),void e.preventDefault()):void n._invokeOnKeyDown(e)}))}return e.prototype.dispose=function(){this._toDispose=h.disposeAll(this._toDispose)},Object.defineProperty(e.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),e.prototype.focus=function(){this._domNode.focus()},e.prototype.setEnabled=function(e){r.toggleClass(this._domNode,"disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1},e.prototype.setExpanded=function(e){this._domNode.setAttribute("aria-expanded",String(e))},e.prototype.toggleClass=function(e,t){r.toggleClass(this._domNode,e,t)},e.prototype.onTrigger=function(e){return this._onTrigger=e,this},e.prototype.onKeyDown=function(e){return this._onKeyDown=e,this},e.prototype._invokeOnTrigger=function(){this._onTrigger&&this._onTrigger()},e.prototype._invokeOnKeyDown=function(e){this._onKeyDown&&this._onKeyDown(e)},e}()}),define("vs/nls!vs/editor/contrib/format/common/formatActions",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/format/common/formatActions",t)}),define("vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclaration",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/goToDeclaration/browser/goToDeclaration",t)}),define("vs/nls!vs/editor/contrib/gotoError/browser/gotoError",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/gotoError/browser/gotoError",t)}),define("vs/nls!vs/editor/contrib/hover/browser/modesContentHover",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/hover/browser/modesContentHover",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/hover/browser/modesContentHover",["require","exports","vs/nls!vs/editor/contrib/hover/browser/modesContentHover","vs/base/common/winjs.base","./hoverOperation","./hoverWidgets","vs/base/browser/htmlContentRenderer","vs/editor/common/modes/textToHtmlTokenizer","../common/hover","vs/editor/common/core/range","vs/css!vs/base/browser/ui/progressbar/progressbar"],function(e,t,n,o,i,r,s,a,u,l){var c=function(){function e(e){this._editor=e,this._range=null}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(){var e=this._editor.getModel();if(!u["default"].has(e))return o.TPromise.as(null);for(var t=u["default"].all(e),n=[],i=[],r=0;r0;t&&(o||i)&&n.push(e)}}))}return o.TPromise.join(i).then(function(){return n})},e.prototype.computeSync=function(){var e=this,t=[],n=this._range.startLineNumber;if(n>this._editor.getModel().getLineCount())return t;var o=this._editor.getLineDecorations(n),i=this._editor.getModel().getLineMaxColumn(n);return o.forEach(function(o){var r=o.range.startLineNumber===n?o.range.startColumn:1,s=o.range.endLineNumber===n?o.range.endColumn:i;if(r<=e._range.startColumn&&e._range.endColumn<=s&&(o.options.hoverMessage||o.options.htmlMessage&&o.options.htmlMessage.length>0)){var a={value:o.options.hoverMessage,range:new l.Range(e._range.startLineNumber,r,e._range.startLineNumber,s)};o.options.htmlMessage&&(a.htmlContent=o.options.htmlMessage),t.push(a)}}),t},e.prototype.onResult=function(e,t){t?this._result=e.concat(this._result):this._result=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,htmlContent:[{tagName:"div",className:"",children:[{text:n.localize(0,null)}]}]}},e}(),d=function(e){function t(n){var o=this;e.call(this,t.ID,n),this._computer=new c(this._editor),this._highlightDecorations=[],this._isChangingDecorations=!1,this._hoverOperation=new i.HoverOperation(this._computer,function(e){return o._withResult(e,!0)},null,function(e){return o._withResult(e,!1)})}return __extends(t,e),t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this._isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start())},t.prototype.startShowingAt=function(e){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this._isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var t=[],n=0,o=this._messages.length;o>n;n++){var i=this._messages[n],r=i.range;r.startColumn<=e.startColumn&&r.endColumn>=e.endColumn&&t.push(i)}t.length>0?this._renderMessages(e,t):this.hide()}this._lastRange=e,this._computer.setRange(e),this._hoverOperation.start()}},t.prototype.hide=function(){this._lastRange=null,this._hoverOperation.cancel(),e.prototype.hide.call(this),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1},t.prototype._withResult=function(e,t){this._messages=e,this._messages.length>0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,t){var n=this,o=Number.MAX_VALUE,i=t[0].range,r=document.createDocumentFragment();t.forEach(function(e){if(e.range){o=Math.min(o,e.range.startColumn),i=l.Range.plusRange(i,e.range);var t=document.createElement("div"),u=null,c=t;e.className&&(u=document.createElement("span"),u.className=e.className,c=u,t.appendChild(u)),e.htmlContent&&e.htmlContent.length>0?e.htmlContent.forEach(function(e){c.appendChild(s.renderHtml(e,void 0,function(e,t){var o,i=n._editor.getModel();return i.isDisposed()||(o=i.getMode()),a.tokenizeToHtmlContent(t,i.getMode())}))}):c.textContent=e.value,r.appendChild(t)}}),this._domNode.textContent="",this._domNode.appendChild(r),this.showAt({lineNumber:e.startLineNumber,column:o}),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:i,options:{className:"hoverHighlight"}}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t}(r.ContentHoverWidget);t.ModesContentHoverWidget=d}),define("vs/nls!vs/editor/contrib/inPlaceReplace/common/inPlaceReplace",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/inPlaceReplace/common/inPlaceReplace",t)}),define("vs/nls!vs/editor/contrib/linesOperations/common/linesOperations",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/linesOperations/common/linesOperations",t)}),define("vs/nls!vs/editor/contrib/links/browser/links",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/links/browser/links",t)}),define("vs/nls!vs/editor/contrib/multicursor/common/multicursor",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/multicursor/common/multicursor",t)}),define("vs/nls!vs/editor/contrib/parameterHints/browser/parameterHints",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/parameterHints/browser/parameterHints",t)}),define("vs/nls!vs/editor/contrib/quickFix/browser/quickFix",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickFix/browser/quickFix",t)}),define("vs/nls!vs/editor/contrib/quickFix/browser/quickFixSelectionWidget",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickFix/browser/quickFixSelectionWidget",t)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/quickFix/browser/quickFixSelectionWidget",["require","exports","vs/nls!vs/editor/contrib/quickFix/browser/quickFixSelectionWidget","vs/base/common/winjs.base","vs/base/common/errors","vs/base/browser/dom","vs/base/parts/tree/browser/treeImpl","vs/base/parts/tree/browser/treeDefaults","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","vs/css!./quickFix"],function(e,t,n,o,i,r,s,a,u,l){function c(e){return e&&e.id&&e.label}function d(e,t){var n=t;return t instanceof p||!n.documentation||!e.isFocused(n)?19:35}var h=r.emmet,p=function(){function e(e,t){this.parent=e,this.message=t}return e}();t.Message=p;var f=function(){function e(e){this.child=new p(this,e)}return e}();t.MessageRoot=f;var m=function(){function e(){this.root=null}return e.prototype.isRoot=function(e){return e instanceof f?!0:e instanceof p?!1:Array.isArray(e)?(this.root=e,!0):!1},e.prototype.getId=function(e,t){if(t instanceof f)return"messageroot";if(t instanceof p)return"message"+t.message;if(Array.isArray(t))return"root";if(c(t))return t.id;throw i.illegalArgument("element")},e.prototype.getParent=function(e,t){return t instanceof f?o.TPromise.as(null):t instanceof p?o.TPromise.as(t.parent):o.TPromise.as(this.isRoot(t)?null:this.root)},e.prototype.getChildren=function(e,t){return t instanceof f?o.TPromise.as([t.child]):t instanceof p?o.TPromise.as([]):o.TPromise.as(this.isRoot(t)?t:[]); +},e.prototype.hasChildren=function(e,t){return this.isRoot(t)},e}(),g=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.onLeftClick=function(e,t,n){return n.preventDefault(),n.stopPropagation(),t instanceof p||e.setSelection([t],{origin:"mouse"}),!0},t}(a.DefaultController),v=function(){function e(){}return e.prototype.getHeight=function(e,t){return d(e,t)},e.prototype.getTemplateId=function(e,t){return t instanceof p?"message":"default"},e.prototype.renderTemplate=function(e,t,n){if("message"===t){var o=r.append(n,h("span"));return o.style.opacity="0.7",o.style.paddingLeft="12px",{element:o}}var i={},s=r.append(n,h(".text"));i.main=r.append(s,h(".main"));var a=r.append(s,h(".docs"));return i.documentationLabel=r.append(a,h("span.docs-label")),i},e.prototype.renderElement=function(e,t,n,o){if("message"===n)return void(o.element.textContent=t.message);var i=t;o.main.textContent=i.label,o.documentationLabel.textContent=i.documentation||""},e.prototype.disposeTemplate=function(e,t,n){},e}(),y=function(){function e(t,n,o,r){var a=this;this.allowEditorOverflow=!0,this.editor=t,this._onShown=o,this._onHidden=r,this.shouldShowEmptyList=!0,this.isActive=!1,this.isLoading=!1,this.isAuto=!1,this.modelListenersToRemove=[],this.model=null,this.telemetryData=Object.create(null),this.telemetryService=n,this.listenersToRemove=[],this.domnode=h(".editor-widget.quickfix-widget.monaco-editor-background.no-icons"),this.domnode.style.width=e.WIDTH+"px",this.tree=new s.Tree(this.domnode,{dataSource:new m,renderer:new v,controller:new g},{twistiePixels:0,alwaysFocused:!0,verticalScrollMode:"visible",useShadows:!1}),this.listenersToRemove.push(this.tree.addListener("selection",function(e){if(e.selection&&e.selection.length>0){var t=e.selection[0];!c(t)||t instanceof f||t instanceof p||(a.telemetryData.selectedIndex=a.tree.getInput().indexOf(t),a.telemetryData.wasCancelled=!1,a.submitTelemetryData(),a.model.accept(t,a.range),a.editor.focus())}}));var u=null;this.listenersToRemove.push(this.tree.addListener("focus",function(e){var t=e.focus,n=e.payload;if(t!==u){var o=[];u&&o.push(u),t&&o.push(t),u=t,a.tree.refreshAll(o).done(function(){a.updateWidgetHeight(),t&&a.tree.reveal(t,n&&n.firstSuggestion?0:null)},i.onUnexpectedError)}})),this.editor.addContentWidget(this),this.listenersToRemove.push(this.editor.addListener(l.EventType.CursorSelectionChanged,function(e){a.isActive&&a.editor.layoutContentWidget(a)})),this.hide()}return e.prototype.setModel=function(t){var n=this;this.releaseModel(),this.model=t;var o,s=null;this.modelListenersToRemove.push(this.model.addListener("loading",function(t){n.isActive||(s=n.telemetryService.start("QuickFixSelectionWidgetLoadingTime"),n.isLoading=!0,n.isAuto=!!t.auto,n.isAuto||(o=setTimeout(function(){r.removeClass(n.domnode,"empty"),n.tree.setInput(e.LOADING_MESSAGE).done(null,i.onUnexpectedError),n.updateWidgetHeight(),n.show()},50)),t.retrigger||(n.telemetryData={wasAutomaticallyTriggered:t.characterTriggered}))})),this.modelListenersToRemove.push(this.model.addListener("suggest",function(e){n.isLoading=!1,"undefined"!=typeof o&&(clearTimeout(o),o=void 0);for(var t=e.fixes,a=-1,u=t[0],l=-1,c=0,d=t.length;d>c;c++){var h=t[c],p=h.score;p>l&&(l=p,u=h,a=c)}r.removeClass(n.domnode,"empty"),n.tree.setInput(t).done(null,i.onUnexpectedError),n.tree.setFocus(u,{firstSuggestion:!0}),n.updateWidgetHeight(),n.range=e.range,n.show(),n.telemetryData=n.telemetryData||{},n.telemetryData.suggestionCount=t.length,n.telemetryData.suggestedIndex=a,s&&(s.data={reason:"results"},s.stop(),s=null)})),this.modelListenersToRemove.push(this.model.addListener("empty",function(t){var a=n.isLoading;n.isLoading=!1,"undefined"!=typeof o&&(clearTimeout(o),o=void 0),t.auto?n.hide():a?n.shouldShowEmptyList?(r.removeClass(n.domnode,"empty"),n.tree.setInput(e.NO_SUGGESTIONS_MESSAGE).done(null,i.onUnexpectedError),n.updateWidgetHeight(),n.show()):n.hide():r.addClass(n.domnode,"empty"),s&&(s.data={reason:"empty"},s.stop(),s=null)})),this.modelListenersToRemove.push(this.model.addListener("cancel",function(e){n.isLoading=!1,"undefined"!=typeof o&&(clearTimeout(o),o=void 0),e.retrigger||(n.hide(),n.telemetryData&&(n.telemetryData.selectedIndex=-1,n.telemetryData.wasCancelled=!0,n.submitTelemetryData())),s&&(s.data={reason:"cancel"},s.stop(),s=null)}))},e.prototype.selectNextPage=function(){return this.isLoading?!this.isAuto:this.isActive?(this.tree.focusNextPage(),!0):!1},e.prototype.selectNext=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return this.tree.focusNext(1),e===this.tree.getFocus()&&this.tree.focusFirst(),!0}return!1},e.prototype.selectPreviousPage=function(){return this.isLoading?!this.isAuto:this.isActive?(this.tree.focusPreviousPage(),!0):!1},e.prototype.selectPrevious=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return this.tree.focusPrevious(1),e===this.tree.getFocus()&&this.tree.focusLast(),!0}return!1},e.prototype.acceptSelectedSuggestion=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return e?this.tree.setSelection([e]):this.model.cancelDialog(),!0}return!1},e.prototype.releaseModel=function(){for(var e;e=this.modelListenersToRemove.pop();)e();this.model=null},e.prototype.show=function(){this.isActive=!0,this.tree.layout(),this.editor.layoutContentWidget(this),this._onShown()},e.prototype.hide=function(){this._onHidden(),this.isActive=!1,this.editor.layoutContentWidget(this)},e.prototype.getPosition=function(){return this.isActive?{position:this.editor.getPosition(),preference:[u.ContentWidgetPositionPreference.BELOW,u.ContentWidgetPositionPreference.ABOVE]}:null},e.prototype.getDomNode=function(){return this.domnode},e.prototype.getId=function(){return e.ID},e.prototype.submitTelemetryData=function(){this.telemetryService.publicLog("QuickFixSelectionWidget",this.telemetryData),this.telemetryData=Object.create(null)},e.prototype.updateWidgetHeight=function(){var t,n=this.tree.getInput();if(n===e.LOADING_MESSAGE||n===e.NO_SUGGESTIONS_MESSAGE)t=19;else{var o=n;t=19*Math.min(o.length-1,11);var i=this.tree.getFocus();t+=i?d(this.tree,i):19}this.domnode.style.height=t+"px",this.tree.layout(t),this.editor.layoutContentWidget(this)},e.prototype.destroy=function(){this.releaseModel(),this.domnode=null,this.tree.dispose(),this.tree=null,this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=null},e.ID="editor.widget.QuickFixSelectionWidget",e.WIDTH=360,e.LOADING_MESSAGE=new f(n.localize(0,null)),e.NO_SUGGESTIONS_MESSAGE=new f(n.localize(1,null)),e}();t.QuickFixSelectionWidget=y}),define("vs/nls!vs/editor/contrib/quickOpen/browser/gotoLine",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/gotoLine",t)}),define("vs/nls!vs/editor/contrib/quickOpen/browser/gotoLine.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/gotoLine.contribution",t)}),define("vs/nls!vs/editor/contrib/quickOpen/browser/quickCommand",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/quickCommand",t)}),define("vs/nls!vs/editor/contrib/quickOpen/browser/quickCommand.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/quickCommand.contribution",t)}),define("vs/nls!vs/editor/contrib/quickOpen/browser/quickOutline",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/quickOutline",t)}),define("vs/nls!vs/editor/contrib/quickOpen/browser/quickOutline.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/quickOpen/browser/quickOutline.contribution",t)}),define("vs/nls!vs/editor/contrib/referenceSearch/browser/referenceSearch",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/referenceSearch/browser/referenceSearch",t)}),define("vs/nls!vs/editor/contrib/referenceSearch/browser/referenceSearchWidget",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/referenceSearch/browser/referenceSearchWidget",t)}),define("vs/nls!vs/editor/contrib/rename/browser/rename",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/rename/browser/rename",t)}),define("vs/nls!vs/editor/contrib/rename/browser/rename2",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/rename/browser/rename2",t)}),define("vs/nls!vs/editor/contrib/smartSelect/common/jumpToBracket",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/smartSelect/common/jumpToBracket",t)}),define("vs/nls!vs/editor/contrib/smartSelect/common/smartSelect",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/smartSelect/common/smartSelect",t)}),define("vs/nls!vs/editor/contrib/suggest/browser/suggest",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/suggest/browser/suggest",t)}),define("vs/nls!vs/editor/contrib/suggest/browser/suggestWidget",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/suggest/browser/suggestWidget",t)}),define("vs/nls!vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode",t)}),define("vs/nls!vs/editor/contrib/zoneWidget/browser/peekViewWidget",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/editor/contrib/zoneWidget/browser/peekViewWidget",t)}),define("vs/nls!vs/languages/css/common/css.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/css/common/css.contribution",t)}),define("vs/nls!vs/languages/css/common/services/lintRules",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/css/common/services/lintRules",t)}),define("vs/languages/css/common/services/lintRules",["require","exports","vs/nls!vs/languages/css/common/services/lintRules","vs/languages/css/common/level"],function(e,t,n,o){function i(e){var o={};o[e+".validate"]={type:"boolean","default":!0,description:n.localize(18,null)};for(var i in t.Rules){var r=t.Rules[i];o[e+".lint."+r.id]=r.getConfiguration()}return o}function r(e){var n={};for(var i in t.Rules){var r=t.Rules[i],s=o.toLevel(e[r.id]);s&&(n[r.id]=s)}return n}var s="warning",a="error",u="ignore",l=function(){function e(e,t,n){this.id=e,this.message=t,this.defaultValue=n}return e.prototype.getConfiguration=function(){return{type:"string","enum":[u,s,a],"default":this.defaultValue,description:this.message}},e}();t.Rule=l,t.Rules={AllVendorPrefixes:new l("compatibleVendorPrefixes",n.localize(0,null),u),IncludeStandardPropertyWhenUsingVendorPrefix:new l("vendorPrefix",n.localize(1,null),s),DuplicateDeclarations:new l("duplicateProperties",n.localize(2,null),u),EmptyRuleSet:new l("emptyRules",n.localize(3,null),s),ImportStatemement:new l("importStatement",n.localize(4,null),u),NoWidthOrHeightWhenPaddingOrBorder:new l("boxModel",n.localize(5,null),u),UniversalSelector:new l("universalSelector",n.localize(6,null),u),ZeroWithUnit:new l("zeroUnits",n.localize(7,null),u),RequiredPropertiesForFontFace:new l("fontFaceProperties",n.localize(8,null),s),HexColorLength:new l("hexColorLength",n.localize(9,null),a),ArgsInColorFunction:new l("argumentsInColorFunction",n.localize(10,null),a),UnknownProperty:new l("unknownProperties",n.localize(11,null),s),IEStarHack:new l("ieHack",n.localize(12,null),u),UnknownVendorSpecificProperty:new l("unknownVendorSpecificProperties",n.localize(13,null),u),PropertyIgnoredDueToDisplay:new l("propertyIgnoredDueToDisplay",n.localize(14,null),s),AvoidImportant:new l("important",n.localize(15,null),u),AvoidFloat:new l("float",n.localize(16,null),u),AvoidIdSelector:new l("idSelector",n.localize(17,null),u)},t.getConfigurationProperties=i,t.sanitize=r}),define("vs/nls!vs/languages/javascript/common/javascript.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/javascript/common/javascript.contribution",t)}),define("vs/nls!vs/languages/json/common/json.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/json/common/json.contribution",t)}),define("vs/nls!vs/languages/less/common/less.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/less/common/less.contribution",t)}),define("vs/nls!vs/languages/markdown/common/markdown.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/markdown/common/markdown.contribution",t)}),define("vs/nls!vs/languages/sass/common/sass.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/sass/common/sass.contribution",t)}),define("vs/nls!vs/languages/typescript/common/typescript.contribution",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/languages/typescript/common/typescript.contribution",t)}),define("vs/nls!vs/platform/configuration/common/configurationRegistry",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/configuration/common/configurationRegistry",t)}),define("vs/nls!vs/platform/keybinding/browser/keybindingServiceImpl",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/keybinding/browser/keybindingServiceImpl",t)}),define("vs/nls!vs/platform/message/common/message",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/message/common/message",t)}),define("vs/nls!vs/platform/plugins/common/abstractPluginService",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/plugins/common/abstractPluginService",t)}),define("vs/nls!vs/platform/plugins/common/pluginsRegistry",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/plugins/common/pluginsRegistry",t)}),define("vs/nls!vs/platform/theme/common/themes",["vs/nls","vs/nls!vs/editor/editor.main"],function(e,t){return e.create("vs/platform/theme/common/themes",t)}),define("vs/platform/contextview/browser/contextMenuHandler",["require","exports","vs/base/browser/builder","vs/base/common/lifecycle","vs/base/browser/mouseEvent","vs/base/common/actions","vs/base/browser/ui/menu/menu","vs/base/common/events","vs/base/common/severity","vs/css!./contextMenuHandler"],function(e,t,n,o,i,r,s,a,u){var l=n.$,c=function(){function e(e,t,n,o){var i=this;this.setContainer(e),this.contextViewService=t,this.telemetryService=n,this.messageService=o,this.actionRunner=new r.ActionRunner,this.menuContainerElement=null,this.toDispose=[];var s=!1;this.toDispose.push(this.actionRunner.addListener2(a.EventType.BEFORE_RUN,function(e){i.telemetryService&&i.telemetryService.publicLog("workbenchActionExecuted",{id:e.action.id,From:"contextMenu"}),s=!!e.retainActionItem,s||i.contextViewService.hideContextView(!1)})),this.toDispose.push(this.actionRunner.addListener2(a.EventType.RUN,function(e){s&&i.contextViewService.hideContextView(!1),s=!1,e.error&&i.messageService&&i.messageService.show(u["default"].Error,e.error)}))}return e.prototype.setContainer=function(e){var t=this;this.$el&&(this.$el.off(["click","mousedown"]),this.$el=null),e&&(this.$el=l(e),this.$el.on("mousedown",function(e){return t.onMouseDown(e)}))},e.prototype.showContextMenu=function(e){var t=this;e.getActions().done(function(n){t.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,render:function(i){t.menuContainerElement=i;var r=e.getMenuClassName?e.getMenuClassName():"";r&&(i.className+=" "+r);var u=new s.Menu(i,n,{actionItemProvider:e.getActionItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:t.actionRunner}),l=u.addListener2(a.EventType.CANCEL,function(e){t.contextViewService.hideContextView(!0)}),c=u.addListener2(a.EventType.BLUR,function(e){t.contextViewService.hideContextView(!0)});return u.focus(),o.combinedDispose(l,c,u)},onHide:function(n){e.onHide&&e.onHide(n),t.menuContainerElement=null}})})},e.prototype.onMouseDown=function(e){if(this.menuContainerElement){for(var t=new i.StandardMouseEvent(e),n=t.target;n;){if(n===this.menuContainerElement)return;n=n.parentElement}this.contextViewService.hideContextView()}},e.prototype.dispose=function(){this.setContainer(null)},e}();t.ContextMenuHandler=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/instantiation/common/descriptors",["require","exports","vs/base/common/errors","vs/base/common/marshalling","vs/base/common/hash"],function(e,t,n,o,i){var r=function(){function e(e){this._staticArguments=e}return e.prototype.appendStaticArguments=function(e){this._staticArguments.push.apply(this._staticArguments,e)},e.prototype.staticArguments=function(e){return isNaN(e)?this._staticArguments.slice(0):this._staticArguments[e]},e.prototype._validate=function(e){if(!e)throw n.illegalArgument("can not be falsy")},e}();t.AbstractDescriptor=r;var s=function(e){function t(t){for(var n=[],o=1;os;s++)if(""===n[s]){if(""===r)return!0}else if(i.startsWith(r,n[s]))return!0;return!1}t.Behaviour=r.Behaviour;var u=t.Behaviour.TextFocus|t.Behaviour.Writeable|t.Behaviour.UpdateOnModelChange,l=function(e){function n(n,o,i){void 0===i&&(i=u),e.call(this,n.id),this.editor=o,this._descriptor=n,this.label=n.label||"",this._enablementState=r.createActionEnablement(o,i,this),this._shouldShowInContextMenu=!!(i&t.Behaviour.ShowInContextMenu),this._supportsReadonly=!(i&t.Behaviour.Writeable)}return __extends(n,e),n.prototype.getId=function(){return this.id},n.prototype.dispose=function(){this._enablementState.dispose(),e.prototype.dispose.call(this)},n.prototype.getGroupId=function(){return this.id},n.prototype.shouldShowInContextMenu=function(){return this._shouldShowInContextMenu},n.prototype.getDescriptor=function(){return this._descriptor},Object.defineProperty(n.prototype,"enabled",{get:function(){return this._enablementState.value()},set:function(e){var t=new Error;console.log("setting EditorAction.enabled is UNCOOL. Use resetEnablementState and getEnablementState"),console.log(t.stack)},enumerable:!0,configurable:!0}),n.prototype.resetEnablementState=function(){this._enablementState.reset()},n.prototype.isSupported=function(){if(!this._supportsReadonly){if(this.editor.getConfiguration().readOnly)return!1;var e=this.editor.getModel();if(e&&e.hasEditableRange())return!1}return!0},n.prototype.getEnablementState=function(){return!0},n}(n.Action);t.EditorAction=l;var c=function(e){function t(t,n,o){e.call(this,t,n),this._handlerId=o}return __extends(t,e),t.prototype.run=function(){return this.editor.trigger(this.getId(),this._handlerId,null),o.TPromise.as(!0)},t}(l);t.HandlerEditorAction=c;var d=function(e){function n(t,o,i){var r=t.enablement||{};e.call(this,{id:t.id,label:t.label},o,n._transformBehaviour(r,t.contextMenuGroupId)),this._contextMenuGroupId=t.contextMenuGroupId,this._run=t.run,this._tokensAtPosition=r.tokensAtPosition,this._wordAtPosition=r.wordAtPosition}return __extends(n,e),n._transformBehaviour=function(e,n){var o=0;return n?o|=t.Behaviour.ShowInContextMenu:e.textFocus&&(o|=t.Behaviour.TextFocus),e.widgetFocus&&(o|=t.Behaviour.WidgetFocus),e.writeableEditor&&(o|=t.Behaviour.Writeable),"undefined"!=typeof e.tokensAtPosition&&(o|=t.Behaviour.UpdateOnCursorPositionChange),"undefined"!=typeof e.wordAtPosition&&(o|=t.Behaviour.UpdateOnCursorPositionChange),o},n.prototype.getGroupId=function(){return this._contextMenuGroupId},n.prototype.run=function(){return o.TPromise.as(this._run(this.editor))},n.prototype.getEnablementState=function(){return this._getEnablementOnTokens()&&this._getEnablementOnWord()},n.prototype._getEnablementOnTokens=function(){if(!this._tokensAtPosition)return!0;var e=this.editor.getModel(),t=this.editor.getSelection().getStartPosition(),n=e.getLineContext(t.lineNumber),o=t.column-1;return a(n,o,this._tokensAtPosition)},n.prototype._getEnablementOnWord=function(){if(!this._wordAtPosition)return!0;var e=this.editor.getModel(),t=this.editor.getSelection().getStartPosition(),n=e.getWordAtPosition(t);return!!n},n=__decorate([__param(2,s.INullService)],n)}(l);t.DynamicEditorAction=d}),define("vs/editor/common/services/codeEditorService",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.ID_CODE_EDITOR_SERVICE="codeEditorService",t.ICodeEditorService=n.createDecorator(t.ID_CODE_EDITOR_SERVICE)}),define("vs/editor/common/services/abstractCodeEditorService",["require","exports","vs/base/common/event","vs/editor/common/services/codeEditorService"],function(e,t,n,o){var i=function(){function e(){this.serviceId=o.ICodeEditorService,this._codeEditors=Object.create(null),this._onCodeEditorAdd=new n.Emitter,this._onCodeEditorRemove=new n.Emitter}return e.prototype.addCodeEditor=function(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorAdd",{get:function(){return this._onCodeEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeCodeEditor=function(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorRemove",{get:function(){return this._onCodeEditorRemove.event},enumerable:!0,configurable:!0}),e.prototype.getCodeEditor=function(e){return this._codeEditors[e]||null},e.prototype.listCodeEditors=function(){var e=this;return Object.keys(this._codeEditors).map(function(t){return e._codeEditors[t]})},e}();t.AbstractCodeEditorService=i});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/services/codeEditorServiceImpl",["require","exports","vs/editor/common/editorCommon","vs/editor/common/services/abstractCodeEditorService","vs/base/browser/dom","vs/base/common/objects","vs/base/common/strings"],function(e,t,n,o,i,r,s){function a(e){var t=r.deepClone(e);r.mixin(t,e.light);var n=r.deepClone(e);return r.mixin(n,e.dark),{light:t,dark:n}}var u=function(e){function t(){e.call(this),this._styleSheet=i.createStyleSheet(),this._decorationRenderOptions=Object.create(null)}return __extends(t,e),t.prototype.registerDecorationType=function(e,t){this._decorationRenderOptions[e]&&(this._decorationRenderOptions[e].dispose(),delete this._decorationRenderOptions[e]);var n=new c(this._styleSheet,e,t);this._decorationRenderOptions[e]=n},t.prototype.removeDecorationType=function(e){this._decorationRenderOptions[e]&&(this._decorationRenderOptions[e].dispose(),delete this._decorationRenderOptions[e],this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)}))},t.prototype.resolveDecorationType=function(e){if(this._decorationRenderOptions[e])return this._decorationRenderOptions[e];throw new Error("Unknown decoration type key: "+e)},t}(o.AbstractCodeEditorService);t.CodeEditorServiceImpl=u;var l,c=function(){function e(t,o,i){var r=a(i);this._styleSheet=t,this._key=o,this.className=e._handle(this._styleSheet,this._key,d.ClassName,e._getCSSTextForModelDecorationClassName(r.light),e._getCSSTextForModelDecorationClassName(r.dark)),this.inlineClassName=e._handle(this._styleSheet,this._key,d.InlineClassName,e._getCSSTextForModelDecorationInlineClassName(r.light),e._getCSSTextForModelDecorationInlineClassName(r.dark)),this.glyphMarginClassName=e._handle(this._styleSheet,this._key,d.GlyphMarginClassName,e._getCSSTextForModelDecorationGlyphMarginClassName(r.light),e._getCSSTextForModelDecorationGlyphMarginClassName(r.dark)),this.isWholeLine=Boolean(i.isWholeLine),("undefined"!=typeof r.light.overviewRulerColor||"undefined"!=typeof r.dark.overviewRulerColor)&&(this.overviewRuler={color:r.light.overviewRulerColor||r.dark.overviewRulerColor,darkColor:r.dark.overviewRulerColor||r.light.overviewRulerColor,position:i.overviewRulerLane||n.OverviewRulerLane.Center})}return e.prototype.dispose=function(){i.removeCSSRulesWithPrefix(h.getDeletionPrefixFor(l.Light,this._key),this._styleSheet),i.removeCSSRulesWithPrefix(h.getDeletionPrefixFor(l.Dark,this._key),this._styleSheet)},e._getCSSTextForModelDecorationClassName=function(e){var t=[];return"undefined"!=typeof e.backgroundColor&&t.push(s.format(this._CSS_MAP.backgroundColor,e.backgroundColor)),"undefined"!=typeof e.outlineColor&&t.push(s.format(this._CSS_MAP.outlineColor,e.outlineColor)),"undefined"!=typeof e.outlineStyle&&t.push(s.format(this._CSS_MAP.outlineStyle,e.outlineStyle)),"undefined"!=typeof e.outlineWidth&&t.push(s.format(this._CSS_MAP.outlineWidth,e.outlineWidth)),("undefined"!=typeof e.borderColor||"undefined"!=typeof e.borderRadius||"undefined"!=typeof e.borderSpacing||"undefined"!=typeof e.borderStyle||"undefined"!=typeof e.borderWidth)&&t.push(s.format("box-sizing: border-box;")),"undefined"!=typeof e.borderColor&&t.push(s.format(this._CSS_MAP.borderColor,e.borderColor)),"undefined"!=typeof e.borderRadius&&t.push(s.format(this._CSS_MAP.borderRadius,e.borderRadius)),"undefined"!=typeof e.borderSpacing&&t.push(s.format(this._CSS_MAP.borderSpacing,e.borderSpacing)),"undefined"!=typeof e.borderStyle&&t.push(s.format(this._CSS_MAP.borderStyle,e.borderStyle)),"undefined"!=typeof e.borderWidth&&t.push(s.format(this._CSS_MAP.borderWidth,e.borderWidth)),t.join("")},e._getCSSTextForModelDecorationInlineClassName=function(e){var t=[];return"undefined"!=typeof e.textDecoration&&t.push(s.format(this._CSS_MAP.textDecoration,e.textDecoration)),"undefined"!=typeof e.cursor&&t.push(s.format(this._CSS_MAP.cursor,e.cursor)),"undefined"!=typeof e.color&&t.push(s.format(this._CSS_MAP.color,e.color)),t.join("")},e._getCSSTextForModelDecorationGlyphMarginClassName=function(e){var t=[];return"undefined"!=typeof e.gutterIconPath&&t.push(s.format(this._CSS_MAP.gutterIconPath,e.gutterIconPath)),t.join("")},e._handle=function(e,t,n,o,i){return o.length>0||i.length>0?(o.length>0&&this._createCSSSelector(e,l.Light,t,n,o),i.length>0&&this._createCSSSelector(e,l.Dark,t,n,i),h.getClassName(t,n)):void 0},e._createCSSSelector=function(e,t,n,o,r){i.createCSSRule(h.getSelector(t,n,o),r,e)},e._CSS_MAP={color:"color:{0} !important;",backgroundColor:"background-color:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",gutterIconPath:"background:url('{0}') center center no-repeat;"},e}();!function(e){e[e.Light=0]="Light",e[e.Dark=1]="Dark"}(l||(l={}));var d;!function(e){e[e.ClassName=0]="ClassName",e[e.InlineClassName=1]="InlineClassName",e[e.GlyphMarginClassName=2]="GlyphMarginClassName"; +}(d||(d={}));var h=function(){function e(){}return e._getSelectorPrefixOf=function(e){return e===l.Light?".monaco-editor.vs":".monaco-editor.vs-dark"},e.getClassName=function(e,t){return"ced-"+e+"-"+t},e.getSelector=function(e,t,n){return this._getSelectorPrefixOf(e)+" ."+this.getClassName(t,n)},e.getDeletionPrefixFor=function(e,t){return this._getSelectorPrefixOf(e)+" .ced-"+t},e}()}),define("vs/editor/common/services/modeService",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IModeService=n.createDecorator("modeService")}),define("vs/editor/common/services/modelService",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IModelService=n.createDecorator("modelService")}),define("vs/editor/common/services/resourceService",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.ResourceEvents={ADDED:"resource.added",REMOVED:"resource.removed",CHANGED:"resource.changed"},t.IResourceService=n.createDecorator("resourceService")});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/smartSelect/common/tokenSelectionSupport",["require","exports","vs/base/common/winjs.base","./tokenTree","vs/editor/common/services/modelService","vs/editor/common/core/range"],function(e,t,n,o,i,r){var s=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){var o=this._modelService.getModel(e),i=[];return o&&this._doGetRangesToPosition(o,t).forEach(function(e){i.push({type:void 0,range:e})}),n.TPromise.as(i)},e.prototype._doGetRangesToPosition=function(e,t){var n,i,s=o.build(e);n=o.find(s,t);for(var a=[];n;)i&&r.Range.equalsRange(i,n.range)||a.push(n.range),i=n.range,n=n.parent;return a=a.reverse()},e=__decorate([__param(0,i.IModelService)],e)}();return s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/zoneWidget/browser/peekViewWidget",["require","exports","vs/nls!vs/editor/contrib/zoneWidget/browser/peekViewWidget","vs/base/browser/ui/actionbar/actionbar","vs/base/common/actions","vs/base/common/strings","vs/base/browser/builder","vs/base/browser/dom","./zoneWidget","vs/editor/common/services/codeEditorService","vs/platform/instantiation/common/instantiation","vs/css!./peekViewWidget"],function(e,t,n,o,i,r,s,a,u,l,c){function d(e,t){var n=t.context[p];return n?e.get(l.ICodeEditorService).getCodeEditor(n):null}t.IPeekViewService=c.createDecorator("peekViewService");var h;!function(e){e.Closed="closed"}(h=t.Events||(t.Events={}));var p="outerEditorId";t.getOuterEditor=d;var f=function(e){function u(n,o,i,r){void 0===r&&(r={}),e.call(this,n,r),this.serviceId=t.IPeekViewService,this.contextKey=i,o.createKey(p,n.getId())}return __extends(u,e),u.prototype.dispose=function(){this._isActive=!1,e.prototype.dispose.call(this)},Object.defineProperty(u.prototype,"isActive",{get:function(){return this._isActive},enumerable:!0,configurable:!0}),u.prototype.getActiveWidget=function(){return this},u.prototype.show=function(t,n){this._isActive=!0,e.prototype.show.call(this,t,n)},u.prototype.fillContainer=function(e){s.$(e).addClass("peekview-widget"),this._headElement=s.$(".head").getHTMLElement(),this._bodyElement=s.$(".body").getHTMLElement(),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},u.prototype._fillHead=function(e){var t=this,r=s.$(".peekview-title").on(a.EventType.CLICK,function(e){return t._onTitleClick(e)}).appendTo(this._headElement).getHTMLElement();this._primaryHeading=s.$("span.filename").appendTo(r).getHTMLElement(),this._secondaryHeading=s.$("span.dirname").appendTo(r).getHTMLElement(),this._actionbarWidget=new o.ActionBar(s.$(".peekview-actions").appendTo(this._headElement)),this._actionbarWidget.push(new i.Action("peekview.close",n.localize(0,null),"close-peekview-action",!0,function(){return t.dispose(),t.emit(h.Closed,t),null}),{label:!1,icon:!0})},u.prototype._onTitleClick=function(e){},u.prototype.setTitle=function(e,t){s.$(this._primaryHeading).safeInnerHtml(e),t?s.$(this._secondaryHeading).safeInnerHtml(t):a.clearNode(this._secondaryHeading)},u.prototype._fillBody=function(e){},u.prototype.doLayout=function(e){var t=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),n=e-(t+2);this._doLayoutHead(t),this._doLayoutBody(n)},u.prototype._doLayoutHead=function(e){this._headElement.style.height=r.format("{0}px",e),this._headElement.style.lineHeight=this._headElement.style.height},u.prototype._doLayoutBody=function(e){this._bodyElement.style.height=r.format("{0}px",e)},u}(u.ZoneWidget);t.PeekViewWidget=f}),define("vs/platform/configuration/common/configuration",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){function o(e,t){function n(e,t){for(var n=e,o=0;o>"));n[r.serviceId]=!0;var s=l._util.getServiceDependencies(r.desc.ctor);if(Array.isArray(s))for(var c=0;cn;n++)t[n-1]=arguments[n];return e instanceof a.SyncDescriptor?this._servicesMap.createInstance(e,t):e instanceof a.AsyncDescriptor?this._createInstanceAsync(e,t):this._servicesMap.createInstance(new a.SyncDescriptor(e),t)},t.prototype._createInstanceAsync=function(t,i){var r,s=this;return new n.TPromise(function(n,u,l){e([t.moduleName],function(e){if(r&&u(r),!e)return u(o.illegalArgument("module not found: "+t.moduleName));var l;if(l=t.ctorName?e[t.ctorName]:e,"function"!=typeof l)return u(o.illegalArgument("not a function: "+t.ctorName||t.moduleName));try{i.unshift.apply(i,t.staticArguments()),n(s._servicesMap.createInstance(new a.SyncDescriptor(l),i))}catch(c){return u(c)}},u)},function(){r=o.canceled()})},t.prototype.invokeFunction=function(e){for(var t=[],n=1;n0;){var t=this.toBeInstantiated.shift();this.instantiate(t)}},e.prototype.instantiate=function(e){var t=this.instantiationService.createInstance(e);this.instances.push(t)},e.prototype._register=function(e){this.instantiationService?this.instantiate(e):this.toBeInstantiated.push(e)},e.prototype._getInstances=function(){return this.instances.slice(0)},e.prototype._setInstances=function(e){this.instances=e},e}();t.BaseRegistry=r}),define("vs/editor/browser/editorBrowserExtensions",["require","exports","vs/platform/platform"],function(e,t,n){var o;!function(e){function t(e){n.Registry.as(r.EditorContributions).registerEditorBrowserContribution(e)}function o(){return n.Registry.as(r.EditorContributions).getEditorBrowserContributions()}e.registerEditorContribution=t,e.getEditorContributions=o}(o=t.EditorBrowserRegistry||(t.EditorBrowserRegistry={}));var i=function(){function e(e){this._ctor=e}return e.prototype.createInstance=function(e,t){return e.createInstance(this._ctor,t)},e}(),r={EditorContributions:"editor.contributions"},s=function(){function e(){this.editorContributions=[]}return e.prototype.registerEditorBrowserContribution=function(e){this.editorContributions.push(new i(e))},e.prototype.getEditorBrowserContributions=function(){return this.editorContributions.slice(0)},e}();n.Registry.add(r.EditorContributions,new s)});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/codelens/browser/codelens",["require","exports","vs/base/common/winjs.base","vs/base/common/strings","vs/base/common/lifecycle","vs/base/common/async","vs/base/browser/dom","vs/base/common/errors","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","vs/editor/browser/editorBrowserExtensions","vs/editor/common/services/modelService","vs/platform/configuration/common/configuration","vs/platform/keybinding/common/keybindingService","vs/editor/common/core/range","../common/codelens","vs/css!./codelens"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m){function g(e,t){for(var n=1,o=e.getModels().filter(function(e){return e.getMode().getId()===t}).map(function(e){return{url:e.getAssociatedResource().toString(),versionId:e.getVersionId()}}).sort(function(e,t){return e.urlt.url?1:0}),i=0;i{1}",n,i.title),this._commands[n]=i):r=o.format("{0}",i.title),t.push(r)}this._domNode.innerHTML=t.join(" | "),this._editor.layoutContentWidget(this)},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){this._symbolRange=e;var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[u.ContentWidgetPositionPreference.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e.ID=0,e}(),_=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,o=t.length;o>n;n++)this._addDecorationsCallbacks[n](t[n])},e}(),b=function(){function e(e,t,n,o,i){var r=this;this._editor=t,this._data=e,this._decorationIds=new Array(this._data.length);var s;this._data.forEach(function(e,t){n.addDecoration({range:e.symbol.range,options:{}},function(e){return r._decorationIds[t]=e});for(var o=0,i=r._data;oa||a>=o||(n&&n[n.length-1].symbol.range.startLineNumber===a?n.push(s):(n=[s],i.push(n)))}var u=this._editor.getCenteredRangeInViewport(),l=i.length!==this._lenses.length;this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var o=0,r=0,s=new _;ru?(t._lenses[o].dispose(s,n),t._lenses.splice(o,1)):u===a?(t._lenses[o].updateCodeLensSymbols(i[r]),r++,o++):(t._lenses.splice(o,0,new b(i[r],t._editor,s,n,t._keybindingService)),o++,r++)}for(;o0;)this._toUnhook.pop()();this._glyphWidget&&(this._glyphWidget.dispose(),this._glyphWidget=null),this._contentWidget&&(this._contentWidget.dispose(),this._contentWidget=null)},e.ID="editor.contrib.hover",e=__decorate([__param(1,a.INullService)],e)}();n.EditorBrowserRegistry.registerEditorContribution(l)});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard",["require","exports","vs/base/browser/browser","vs/editor/browser/editorBrowserExtensions","vs/base/browser/dom","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","vs/base/common/lifecycle","vs/platform/instantiation/common/instantiation","vs/css!./iPadShowKeyboard"],function(e,t,n,o,i,r,s,a,u){var l=function(){function e(e,t){var o=this;this.editor=e,this.toDispose=[],n.isIPad&&(this.toDispose.push(e.addListener2(s.EventType.ConfigurationChanged,function(){return o.update()})),this.update())}return e.prototype.update=function(){var e=!!this.widget,t=!this.editor.getConfiguration().readOnly;!e&&t?this.widget=new c(this.editor):e&&!t&&(this.widget.dispose(),this.widget=null)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toDispose=a.disposeAll(this.toDispose),this.widget&&(this.widget.dispose(),this.widget=null)},e.ID="editor.contrib.iPadShowKeyboard",e=__decorate([__param(1,u.INullService)],e)}();t.iPadShowKeyboard=l;var c=function(){function e(e){var t=this;this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._toDispose=[],this._toDispose.push(i.addDisposableListener(this._domNode,"touchstart",function(e){t.editor.focus()})),this._toDispose.push(i.addDisposableListener(this._domNode,"focus",function(e){t.editor.focus()})),this.editor.addOverlayWidget(this)}return e.prototype.dispose=function(){this.editor.removeOverlayWidget(this),this._toDispose=a.disposeAll(this._toDispose)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{preference:r.OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER}},e.ID="editor.contrib.ShowKeyboardWidget",e}();o.EditorBrowserRegistry.registerEditorContribution(l)});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/outlineMarker/browser/outlineMarker",["require","exports","vs/base/common/lifecycle","vs/base/common/async","vs/base/common/errors","vs/editor/common/editorCommon","vs/editor/browser/editorBrowserExtensions","vs/editor/common/core/range","vs/platform/instantiation/common/instantiation","vs/css!./outlineMarker"],function(e,t,n,o,i,r,s,a,u){var l=function(){function e(e,t){this.afterLineNumber=e.startLineNumber-1,this.heightInPx=4,this.suppressMouseDown=!0,this.domNode=document.createElement("div");var n=document.createElement("hr");n.className="outlineRule "+t,this.domNode.appendChild(n)}return 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,o=t.length;o>n;n++)this._addDecorationsCallbacks[n](t[n])},e}(),d=function(){function e(e,t,n,o,i){var r=this;this._editor=n,this._viewZone=new l(e,t),this._viewZoneId=i.addZone(this._viewZone),o.addDecoration({range:e,options:{}},function(e){r._decorationId=e})}return e.prototype.dispose=function(e,t){e.removeDecoration(this._decorationId),t.removeZone(this._viewZoneId)},e.prototype.getLine=function(){return this._viewZone.afterLineNumber},e.prototype.update=function(e){var t=this._editor.getModel().getDecorationRange(this._decorationId);this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId)},e}(),h=function(){function e(e,t){var n=this;this._editor=e,this._globalToDispose=[],this._localToDispose=[],this._markers=[],this._currentOutlinePromise=null,this._globalToDispose.push(this._editor.addListener2(r.EventType.ModelChanged,function(){return n.onChange(!0)})),this._globalToDispose.push(this._editor.addListener2(r.EventType.ModelModeChanged,function(){return n.onChange(!1)})),this._globalToDispose.push(this._editor.addListener2(r.EventType.ModelModeSupportChanged,function(e){e.outlineSupport&&n.onChange(!1)})),this._globalToDispose.push(this._editor.addListener2(r.EventType.ConfigurationChanged,function(e){e.outlineMarkers&&n.onChange(!1)})),this.onChange(!1)}return e.prototype.dispose=function(){this.localDispose(),this._globalToDispose=n.disposeAll(this._globalToDispose)},e.prototype.localDispose=function(){this._currentOutlinePromise&&this._currentOutlinePromise.cancel(),this._localToDispose=n.disposeAll(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype.onChange=function(e){var t=this;if(e&&(this._markers=[]),this.localDispose(),this._editor.getConfiguration().outlineMarkers){var n=this._editor.getModel();if(n){var r=n.getMode();if(r.outlineSupport){var s=new o.RunOnceScheduler(function(){t._currentOutlinePromise&&t._currentOutlinePromise.cancel(),t._currentOutlinePromise=r.outlineSupport.getOutline(n.getAssociatedResource()),t._currentOutlinePromise.then(function(e){t.renderOutlines(e)},function(e){i.onUnexpectedError(e)})},250);this._localToDispose.push(s),this._localToDispose.push(this._editor.addListener2("change",function(){t._editor.changeViewZones(function(e){t._markers.forEach(function(t){t.update(e)})}),s.schedule()})),this._localToDispose.push({dispose:function(){if(t._markers.length>0){var e=new c;t._editor.changeViewZones(function(n){t._markers.forEach(function(t){return t.dispose(e,n)}),t._markers=[]}),t._editor.changeDecorations(function(t){e.commit(t)})}}}),s.schedule()}}}},e.prototype.renderOutlines=function(e){var t=this,n=this._editor.getCenteredRangeInViewport(),o=this._markers.length;this._editor.changeDecorations(function(n){var o=new c;t._editor.changeViewZones(function(n){t._markers.forEach(function(e){return e.dispose(o,n)}),t._markers=[],t.renderOutlinesRecursive(e,o,n)}),o.commit(n)});var i=this._markers.length;Math.abs(o-i)>1&&this._editor.revealRangeInCenter(n)},e.prototype.renderOutlinesRecursive=function(e,t,n){var o=this;e&&e.forEach(function(e){if("class"===e.type||"method"===e.type||"function"===e.type){var i=a.Range.lift(e.range);if(!o.alreadyHasMarkerAtRange(i)){var r=new d(i,e.type,o._editor,t,n);o._markers.push(r)}}o.renderOutlinesRecursive(e.children,t,n)})},e.prototype.alreadyHasMarkerAtRange=function(e){for(var t=0;t1?n.localize(0,null,t.lineNumber,t.column):n.localize(1,null,t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>r.getLineCount()?n.localize(2,null,r.getLineCount()):n.localize(3,null,r.getLineMaxColumn(t.lineNumber)),{position:t,isValid:u,label:a}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.run=function(e,t){return e===r.Mode.OPEN?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),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),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return{startLineNumber:this._parseResult.position.lineNumber,startColumn:this._parseResult.position.column,endLineNumber:this._parseResult.position.lineNumber,endColumn:this._parseResult.position.column}},t}(i.QuickOpenEntry);t.GotoLineEntry=u;var l=function(e){function t(t,o,i){e.call(this,t,o,n.localize(4,null))}return __extends(t,e),t.prototype._getModel=function(e){var t=new i.QuickOpenModel,n=[new u(e,this.editor,this)];return t.addEntries(n),t},t.prototype._getAutoFocus=function(e){return{autoFocusFirstEntry:e.length>0}},t.prototype._getInputAriaLabel=function(){return n.localize(5,null)},t.ID="editor.action.gotoLine",t=__decorate([__param(2,a.INullService)],t)}(s.BaseEditorQuickOpenAction);t.GotoLineAction=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/quickOpen/browser/quickCommand",["require","exports","vs/base/common/winjs.base","vs/nls!vs/editor/contrib/quickOpen/browser/quickCommand","vs/base/common/errors","vs/base/parts/quickopen/browser/quickOpenModel","vs/base/parts/quickopen/browser/quickOpen","vs/base/common/strings","vs/base/common/filters","vs/editor/common/editorAction","./editorQuickOpen","vs/platform/keybinding/common/keybindingService"],function(e,t,n,o,i,r,s,a,u,l,c,d){var h=function(e){function t(t,n,o,i){e.call(this),this.key=t,this.setHighlights(n),this.action=o,this.editor=i}return __extends(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var o=this;return e===s.Mode.OPEN?(n.TPromise.timeout(50).done(function(){if(o.editor.focus(),o.action.enabled)try{var e=o.action.run()||n.TPromise.as(null);e.done(null,i.onUnexpectedError)}catch(t){i.onUnexpectedError(t)}},i.onUnexpectedError),!0):!1},t}(r.QuickOpenEntryGroup);t.EditorActionCommandEntry=h;var p=function(e){function t(t,n,i){e.call(this,t,n,o.localize(0,null),l.Behaviour.WidgetFocus|l.Behaviour.ShowInContextMenu),this._keybindingService=i}return __extends(t,e),t.prototype._getModel=function(e){var t=new r.QuickOpenModel,n=this.editor.getActions(),o=this._editorActionsToEntries(n,e);return t.addEntries(o),t},t.prototype.getGroupId=function(){return"4_tools/1_commands"},t.prototype._sort=function(e,t){var n=e.getLabel().toLowerCase(),o=t.getLabel().toLowerCase();return a.localeCompare(n,o)},t.prototype._editorActionsToEntries=function(e,t){for(var n=[],o=0;o0?s.join(", "):"",a,i,this.editor))}}}return n=n.sort(this._sort)},t.prototype._getAutoFocus=function(e){return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:e}},t.prototype._getInputAriaLabel=function(){return o.localize(1,null)},t.ID="editor.action.quickCommand",t=__decorate([__param(2,d.IKeybindingService)],t)}(c.BaseEditorQuickOpenAction);t.QuickCommandAction=p});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/quickOpen/browser/quickOutline",["require","exports","vs/nls!vs/editor/contrib/quickOpen/browser/quickOutline","vs/base/common/arrays","vs/base/common/winjs.base","vs/base/common/errors","vs/base/common/strings","vs/base/common/filters","vs/base/parts/quickopen/browser/quickOpen","vs/base/parts/quickopen/browser/quickOpenModel","./editorQuickOpen","vs/editor/common/editorAction","vs/platform/instantiation/common/instantiation","vs/css!./quickOutline"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p=":",f=function(e){function t(t,n,o,i,r,s,a,u){e.call(this),this.name=t,this.meta=n,this.type=o,this.description=i,this.range=r,this.setHighlights(s),this.editor=a,this.decorator=u}return __extends(t,e),t.prototype.getLabel=function(){return this.name},t.prototype.getMeta=function(){return this.meta},t.prototype.getIcon=function(){return this.type},t.prototype.getDescription=function(){return this.description},t.prototype.getType=function(){return this.type},t.prototype.getRange=function(){return this.range},t.prototype.run=function(e,t){return e===u.Mode.OPEN?this.runOpen(t):this.runPreview()},t.prototype.runOpen=function(e){var t=this.toSelection();return this.editor.setSelection(t),this.editor.revealRangeInCenter(t),this.editor.focus(),!0},t.prototype.runPreview=function(){var e=this.toSelection();return this.editor.revealRangeInCenter(e),this.decorator.decorateLine(this.range,this.editor),!1},t.prototype.toSelection=function(){return{startLineNumber:this.range.startLineNumber,startColumn:this.range.startColumn||1,endLineNumber:this.range.startLineNumber,endColumn:this.range.startColumn||1}},t}(l.QuickOpenEntryGroup),m=function(e){function t(t,o,i){e.call(this,t,o,n.localize(0,null),d.Behaviour.WidgetFocus|d.Behaviour.ShowInContextMenu)}return __extends(t,e),t.prototype.getGroupId=function(){return"1_goto/5_visitSymbol"},t.prototype.isSupported=function(){var t=this.editor.getModel().getMode();return!!t&&!!t.outlineSupport&&e.prototype.isSupported.call(this)},t.prototype.run=function(){var t=this,n=this.editor.getModel(),o=n.getMode(),s=o.outlineSupport;if(!s)return null;var a=s.getOutline(n.getAssociatedResource());return a.then(function(n){return Array.isArray(n)&&n.length>0?(t.cachedResult=n,e.prototype.run.call(t)):i.TPromise.as(!0)},function(e){return r.onUnexpectedError(e),!1})},t.prototype._getModel=function(e){var t=new l.QuickOpenModel,n=this.toQuickOpenEntries(this.cachedResult,e);return t.addEntries(n),t},t.prototype._getAutoFocus=function(e){return 0===e.indexOf(p)&&(e=e.substr(p.length)),{autoFocusPrefixMatch:e,autoFocusFirstEntry:!!e}},t.prototype._getInputAriaLabel=function(){return n.localize(1,null)},t.prototype.toQuickOpenEntries=function(e,t){var i=[],r=[];e&&this.flatten(e,r);var u=t;0===t.indexOf(p)&&(u=u.substr(p.length));for(var l=0;l0?(h=d.substr(m),d=d.substr(0,m)):h="()"}var g=a.matchesFuzzy(u,d);if(g){var v=null;c.parentScope&&(v=o.tail(c.parentScope)),i.push(new f(d,h,c.type,v,c.range,g,this.editor,this))}}if(t&&(i=0===t.indexOf(p)?i.sort(this.sortScoped.bind(this,t.toLowerCase())):i.sort(this.sortNormal.bind(this,t.toLowerCase()))),i.length>0&&0===t.indexOf(p)){for(var y=null,_=null,b=0,l=0;l0)):b++}_&&_.setGroupLabel(this.typeToLabel(y,b))}else i.length>0&&i[0].setGroupLabel(n.localize(2,null,i.length));return i},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.localize(3,null,t);case"class":return n.localize(4,null,t);case"interface":return n.localize(5,null,t);case"method":return n.localize(6,null,t);case"function":return n.localize(7,null,t);case"property":return n.localize(8,null,t);case"variable":return n.localize(9,null,t);case"var":return n.localize(10,null,t);case"constructor":return n.localize(11,null,t);case"call":return n.localize(12,null,t)}return e},t.prototype.flatten=function(e,t,n){for(var o=0;o0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e}t.Extensions={JSONContribution:"base.contributions.json"};var r=function(){function e(){this.schemasById={},this.schemaAssociations={},this.eventEmitter=new o.EventEmitter}return e.prototype.addRegistryChangedListener=function(e){return this.eventEmitter.addListener2("registryChanged",e)},e.prototype.registerSchema=function(e,t){this.schemasById[i(e)]=t,this.eventEmitter.emit("registryChanged",{})},e.prototype.addSchemaFileAssociation=function(e,t){var n=this.schemaAssociations[e];n||(n=[],this.schemaAssociations[e]=n),n.push(t),this.eventEmitter.emit("registryChanged",{})},e.prototype.getSchemaContributions=function(){return{schemas:this.schemasById,schemaAssociations:this.schemaAssociations}},e}(),s=new r;n.Registry.add(t.Extensions.JSONContribution,s)}),define("vs/platform/keybinding/common/keybindingsRegistry",["require","exports","vs/platform/platform","vs/platform/keybinding/common/keybindingsUtils","vs/base/common/keyCodes","vs/base/common/platform"],function(e,t,n,o,i,r){var s=function(){function e(){this.KEYBINDING_CONTEXT_OPERATOR_EQUAL="equal",this.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL="not_equal",this.WEIGHT={editorCore:function(e){return void 0===e&&(e=0),0+e},editorContrib:function(e){return void 0===e&&(e=0),100+e},workbenchContrib:function(e){return void 0===e&&(e=0),200+e},builtinExtension:function(e){return void 0===e&&(e=0),300+e},externalExtension:function(e){return void 0===e&&(e=0),400+e}},this._keybindings=[],this._commands=Object.create(null)}return e.prototype.registerCommandRule=function(e){var t=this,n=o.KeybindingsUtils.bindToCurrentPlatform(e);n&&n.primary&&this.registerDefaultKeybinding(n.primary,e.id,e.weight,0,e.context),n&&Array.isArray(n.secondary)&&n.secondary.forEach(function(n,o){return t.registerDefaultKeybinding(n,e.id,e.weight,-o-1,e.context)})},e.prototype.registerCommandDesc=function(e){this.registerCommandRule(e),this._commands[e.id]=e.handler},e.prototype.getCommands=function(){return this._commands},e.prototype.registerDefaultKeybinding=function(e,t,n,o,s){r.isWindows&&i.BinaryKeybindings.hasCtrlCmd(e)&&!i.BinaryKeybindings.hasShift(e)&&i.BinaryKeybindings.hasAlt(e)&&!i.BinaryKeybindings.hasWinCtrl(e)&&/^[A-Z0-9\[\]\|\;\'\,\.\/\`]$/.test(i.KeyCode.toString(i.BinaryKeybindings.extractKeyCode(e)))&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",e," for ",t),r.isLinux&&(i.BinaryKeybindings.hasCtrlCmd(e)||i.BinaryKeybindings.hasShift(e)||!i.BinaryKeybindings.hasAlt(e)||i.BinaryKeybindings.hasWinCtrl(e)||console.warn("Alt+ keybindings should not be used by default under Linux. Offender: ",e," for ",t)),this._keybindings.push({keybinding:e,command:t,context:s,weight1:n,weight2:o +})},e.prototype.getDefaultKeybindings=function(){return this._keybindings},e}();t.KeybindingsRegistry=new s,t.Extensions={EditorModes:"platform.keybindingsRegistry"},n.Registry.add(t.Extensions.EditorModes,t.KeybindingsRegistry)}),define("vs/editor/common/config/config",["require","exports","vs/platform/keybinding/common/keybindingsRegistry","vs/platform/editor/common/editor","vs/editor/common/services/codeEditorService","vs/editor/common/editorCommon","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s){function a(e,t,n,o){var r=t.get(i.ICodeEditorService),s=n.context.editorId;if(!s)return o&&console.warn("Cannot execute "+e+" because no editor is focused."),null;var a=r.getCodeEditor(s);return a?a:(o&&console.warn("Cannot execute "+e+" because editor `"+s+"` could not be found."),null)}function u(e,t,n,o){var i=a(e,t,n,!0);i&&o(i)}function l(e){var t=e.get(o.IEditorService),n=t.getActiveEditor&&t.getActiveEditor();if(n){var i=n.getControl();if(i&&"function"==typeof i.getEditorType){var r=i;return r}}return null}function c(e,t,n){u(e,t,n,function(t){t.trigger("keyboard",e,n)})}function d(e,t,o,i){void 0===o&&(o=n.KeybindingsRegistry.WEIGHT.editorCore());var s={id:e,handler:c.bind(null,e),weight:o,context:i?i:[{key:r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS}],primary:t.primary,secondary:t.secondary,win:t.win,mac:t.mac,linux:t.linux};n.KeybindingsRegistry.registerCommandDesc(s)}function h(e,t){return e?s.KeyMod.Shift|s.KeyMod.Alt|t:s.KeyMod.Alt|t}function p(e,t){return e?s.KeyMod.CtrlCmd|s.KeyMod.Shift|t:s.KeyMod.CtrlCmd|t}function f(e,t,n){d(e,{primary:p(t,n),mac:{primary:h(t,n)}})}function m(e,t){var n=r.Handler.SelectAll;if(t.context[r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS]){var o=a(n,e,t,!1);if(o)return void o.trigger("keyboard",n,t)}var i=document.activeElement;if(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)return void i.select();var s=l(e);return s?void s.trigger("keyboard",n,t):void 0}t.findFocusedEditor=a,t.withCodeEditorFromCommandHandler=u,t.getActiveEditor=l;var g=r.Handler;d(g.CursorLeft,{primary:s.KeyCode.LeftArrow,mac:{primary:s.KeyCode.LeftArrow,secondary:[s.KeyMod.WinCtrl|s.KeyCode.KEY_B]}}),d(g.CursorLeftSelect,{primary:s.KeyMod.Shift|s.KeyCode.LeftArrow}),d(g.CursorRight,{primary:s.KeyCode.RightArrow,mac:{primary:s.KeyCode.RightArrow,secondary:[s.KeyMod.WinCtrl|s.KeyCode.KEY_F]}}),d(g.CursorRightSelect,{primary:s.KeyMod.Shift|s.KeyCode.RightArrow}),d(g.CursorUp,{primary:s.KeyCode.UpArrow,mac:{primary:s.KeyCode.UpArrow,secondary:[s.KeyMod.WinCtrl|s.KeyCode.KEY_P]}}),d(g.CursorUpSelect,{primary:s.KeyMod.Shift|s.KeyCode.UpArrow,secondary:[p(!0,s.KeyCode.UpArrow)],mac:{primary:s.KeyMod.Shift|s.KeyCode.UpArrow}}),d(g.CursorDown,{primary:s.KeyCode.DownArrow,mac:{primary:s.KeyCode.DownArrow,secondary:[s.KeyMod.WinCtrl|s.KeyCode.KEY_N]}}),d(g.CursorDownSelect,{primary:s.KeyMod.Shift|s.KeyCode.DownArrow,secondary:[p(!0,s.KeyCode.DownArrow)],mac:{primary:s.KeyMod.Shift|s.KeyCode.DownArrow}}),d(g.CursorPageUp,{primary:s.KeyCode.PageUp}),d(g.CursorPageUpSelect,{primary:s.KeyMod.Shift|s.KeyCode.PageUp}),d(g.CursorPageDown,{primary:s.KeyCode.PageDown}),d(g.CursorPageDownSelect,{primary:s.KeyMod.Shift|s.KeyCode.PageDown}),d(g.CursorHome,{primary:s.KeyCode.Home,mac:{primary:s.KeyCode.Home,secondary:[s.KeyMod.CtrlCmd|s.KeyCode.LeftArrow,s.KeyMod.WinCtrl|s.KeyCode.KEY_A]}}),d(g.CursorHomeSelect,{primary:s.KeyMod.Shift|s.KeyCode.Home,mac:{primary:s.KeyMod.Shift|s.KeyCode.Home,secondary:[s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.LeftArrow]}}),d(g.CursorEnd,{primary:s.KeyCode.End,mac:{primary:s.KeyCode.End,secondary:[s.KeyMod.CtrlCmd|s.KeyCode.RightArrow,s.KeyMod.WinCtrl|s.KeyCode.KEY_E]}}),d(g.CursorEndSelect,{primary:s.KeyMod.Shift|s.KeyCode.End,mac:{primary:s.KeyMod.Shift|s.KeyCode.End,secondary:[s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.RightArrow]}}),d(g.Tab,{primary:s.KeyCode.Tab},n.KeybindingsRegistry.WEIGHT.editorCore(),[{key:r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS},{key:r.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS,operator:n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL,operand:!0}]),d(g.Outdent,{primary:s.KeyMod.Shift|s.KeyCode.Tab},n.KeybindingsRegistry.WEIGHT.editorCore(),[{key:r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS},{key:r.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS,operator:n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL,operand:!0}]),d(g.DeleteLeft,{primary:s.KeyCode.Backspace,secondary:[s.KeyMod.Shift|s.KeyCode.Backspace],mac:{primary:s.KeyCode.Backspace,secondary:[s.KeyMod.Shift|s.KeyCode.Backspace,s.KeyMod.WinCtrl|s.KeyCode.KEY_H,s.KeyMod.WinCtrl|s.KeyCode.Backspace]}}),d(g.DeleteRight,{primary:s.KeyCode.Delete,mac:{primary:s.KeyCode.Delete,secondary:[s.KeyMod.WinCtrl|s.KeyCode.KEY_D,s.KeyMod.WinCtrl|s.KeyCode.Delete]}}),d(g.DeleteAllLeft,{primary:null,mac:{primary:s.KeyMod.CtrlCmd|s.KeyCode.Backspace}}),d(g.DeleteAllRight,{primary:null,mac:{primary:s.KeyMod.WinCtrl|s.KeyCode.KEY_K,secondary:[s.KeyMod.CtrlCmd|s.KeyCode.Delete]}}),f(g.CursorWordLeft,!1,s.KeyCode.LeftArrow),f(g.CursorWordLeftSelect,!0,s.KeyCode.LeftArrow),f(g.CursorWordRight,!1,s.KeyCode.RightArrow),f(g.CursorWordRightSelect,!0,s.KeyCode.RightArrow),f(g.DeleteWordLeft,!1,s.KeyCode.Backspace),f(g.DeleteWordRight,!1,s.KeyCode.Delete),d(g.CancelSelection,{primary:s.KeyCode.Escape},n.KeybindingsRegistry.WEIGHT.editorCore(),[{key:r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS},{key:r.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION}]),d(g.RemoveSecondaryCursors,{primary:s.KeyCode.Escape},n.KeybindingsRegistry.WEIGHT.editorCore(1),[{key:r.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS},{key:r.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS}]),d(g.CursorTop,{primary:s.KeyMod.CtrlCmd|s.KeyCode.Home,mac:{primary:s.KeyMod.CtrlCmd|s.KeyCode.UpArrow}}),d(g.CursorTopSelect,{primary:s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.Home,mac:{primary:s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.UpArrow}}),d(g.CursorBottom,{primary:s.KeyMod.CtrlCmd|s.KeyCode.End,mac:{primary:s.KeyMod.CtrlCmd|s.KeyCode.DownArrow}}),d(g.CursorBottomSelect,{primary:s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.End,mac:{primary:s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.DownArrow}}),d(g.LineBreakInsert,{primary:null,mac:{primary:s.KeyMod.WinCtrl|s.KeyCode.KEY_O}}),d(g.Undo,{primary:s.KeyMod.CtrlCmd|s.KeyCode.KEY_Z}),d(g.CursorUndo,{primary:s.KeyMod.CtrlCmd|s.KeyCode.KEY_U}),d(g.Redo,{primary:s.KeyMod.CtrlCmd|s.KeyCode.KEY_Y,secondary:[s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.KEY_Z],mac:{primary:s.KeyMod.CtrlCmd|s.KeyMod.Shift|s.KeyCode.KEY_Z}}),n.KeybindingsRegistry.registerCommandDesc({id:"editor.action.selectAll",handler:m,weight:n.KeybindingsRegistry.WEIGHT.editorCore(),context:null,primary:s.KeyMod.CtrlCmd|s.KeyCode.KEY_A})}),define("vs/platform/keybinding/common/commonKeybindingResolver",["require","exports","vs/platform/keybinding/common/keybindingsRegistry","vs/base/common/platform","vs/base/common/keyCodes"],function(e,t,n,o,i){function r(e,t){return e.lengtht.command?1:e.weight2-t.weight2}var a=function(){function e(t,n){t=t.slice(0).sort(s),this._defaultKeybindings=t,this._defaultBoundCommands=Object.create(null);for(var o=0,r=t.length;r>o;o++)this._defaultBoundCommands[t[o].command]=!0;this._map=Object.create(null),this._lookupMap=Object.create(null),this._lookupMapUnreachable=Object.create(null),this._chords=Object.create(null);for(var a=t.length,u=t.concat(n),o=0,r=u.length;r>o;o++){var l=u[o];if(0!==l.keybinding){l.context&&(l.context=l.context.map(e.normalizeRule));var c={context:l.context,keybinding:l.keybinding,commandId:l.command};if(i.BinaryKeybindings.hasChord(l.keybinding)){var d=i.BinaryKeybindings.extractFirstPart(l.keybinding),h=i.BinaryKeybindings.extractChordPart(l.keybinding);this._chords[d]=this._chords[d]||Object.create(null),this._chords[d][h]=this._chords[d][h]||[],this._chords[d][h].push(c),this._addKeyPress(d,c,l,a>o)}else this._addKeyPress(l.keybinding,c,l,a>o)}}}return e.prototype._addKeyPress=function(t,n,o,r){if(!this._map[t])return this._map[t]=[n],void this._addToLookupMap(o);for(var s=this._map[t],a=s.length-1;a>=0;a--){var u=s[a];u.commandId!==o.command&&(i.BinaryKeybindings.hasChord(u.keybinding)&&i.BinaryKeybindings.hasChord(n.keybinding)&&u.keybinding!==n.keybinding||e.contextIsEntirelyIncluded(!0,u.context,o.context)&&(r&&console.warn("Conflict detected, command `"+u.commandId+"` cannot be triggered by "+i.Keybinding.toUserSettingsLabel(t)),this._lookupMapUnreachable[u.commandId]=this._lookupMapUnreachable[u.commandId]||[],this._lookupMapUnreachable[u.commandId].push(u.keybinding)))}s.push(n),this._addToLookupMap(o)},e.contextIsEntirelyIncluded=function(t,n,o){if(!o||0===o.length)return!0;if(!n||0===n.length)return!1;t||(n=n.map(e.normalizeRule),o=o.map(e.normalizeRule));for(var i=Object.create(null),r=0,s=n.length;s>r;r++)i[e._ruleToString(n[r])]=!0;for(var r=0,s=o.length;s>r;r++)if(!i[e._ruleToString(o[r])])return!1;return!0},e._ruleToString=function(e){var t=e.key;return t+="undefined"==typeof e.operator?";"+n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_EQUAL:";"+e.operator,t+="undefined"==typeof e.operand?";"+!0:";"+e.operand},e.normalizeRule=function(e){return e.operator===n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL&&"boolean"==typeof e.operand?{key:e.key,operator:n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_EQUAL,operand:!e.operand}:e},e.prototype._addToLookupMap=function(e){e.command&&(this._lookupMap[e.command]=this._lookupMap[e.command]||[],this._lookupMap[e.command].push(e))},e.prototype.getDefaultBoundCommands=function(){return this._defaultBoundCommands},e.prototype.getDefaultKeybindings=function(){var e=new u;return e.writeLine("["),this._defaultKeybindings.forEach(function(t){l.writeKeybindingItem(e,t),e.writeLine(",")}),e.writeLine("]"),e.toString()},e.prototype.lookupKeybinding=function(e){var t=this._lookupMap[e];if(!t)return[];var n=t.map(function(e){return e.keybinding}),o=this._lookupMapUnreachable[e];o&&(n=n.filter(function(e){return-1===o.indexOf(e)}));var r=[],s=n.filter(function(e){return r.indexOf(e)>=0?!1:(r.push(e),!0)});return s.map(function(e){return new i.Keybinding(e)}).reverse()},e.prototype.resolve=function(e,t,n){var o=null;if(0!==t){var r=this._chords[t];if(!r)return null;o=r[n]}else o=this._map[n];var s=this._findCommand(e,o);return s?0===t&&i.BinaryKeybindings.hasChord(s.keybinding)?{enterChord:n,commandId:null}:{enterChord:0,commandId:s.commandId}:null},e.prototype._findCommand=function(t,n){if(!n)return null;for(var o=n.length-1;o>=0;o--){var i=n[o];if(e.contextMatchesRules(t,i.context))return i}return null},e.contextMatchesRules=function(t,n){if(!n||0===n.length)return!0;for(var o=0,i=n.length;i>o;o++)if(!e.contextMatchesRule(t,n[o]))return!1;return!0},e.contextMatchesRule=function(e,t){var o="undefined"==typeof t.operator?n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_EQUAL:t.operator,i="undefined"==typeof t.operand?!0:t.operand;switch(o){case n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_EQUAL:return i===!1?!e[t.key]:e[t.key]===i;case n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL:return e[t.key]!==i;default:console.warn("Unknown operator "+o)}return!0},e}();t.CommonKeybindingResolver=a;var u=function(){function e(){this._lines=[],this._currentLine=""}return e.prototype.write=function(e){this._currentLine+=e},e.prototype.writeLine=function(e){void 0===e&&(e=""),this._lines.push(this._currentLine+e),this._currentLine=""},e.prototype.toString=function(){return this.writeLine(),this._lines.join("\n")},e}();t.OutputBuilder=u;var l=function(){function e(){}return e.writeKeybindingItem=function(t,n){t.write('{ "key": '+r('"'+e.writeKeybinding(n.keybinding).replace(/\\/g,"\\\\")+'",',25)+' "command": '),n.context?(t.write('"'+n.command+'",'),t.writeLine(),n.context.length>0?(t.write(' "when": "'),e.writeKeybindingContexts(t,n.context),t.write('" ')):t.write('"when": "" ')):t.write('"'+n.command+'" '),t.write("}")},e.readKeybindingItem=function(t,n){var o=e.readKeybinding(t.key),i=e.readKeybindingContexts(t.when);return{keybinding:o,command:t.command,context:i,weight1:1e3,weight2:n}},e.writeKeybinding=function(e){var t=i.Keybinding.toUserSettingsLabel(e).toLowerCase().replace(/arrow/g,"");return o.isMacintosh?t=t.replace(/meta/g,"cmd"):o.isWindows&&(t=t.replace(/meta/g,"win")),t},e.readKeybinding=function(t){if(!t)return null;t=t.toLowerCase().trim();for(var n=!1,r=!1,s=!1,a=!1,u="";/^(ctrl|shift|alt|meta|win|cmd)(\+|\-)/.test(t);)/^ctrl(\+|\-)/.test(t)&&(o.isMacintosh?a=!0:n=!0,t=t.substr("ctrl-".length)),/^shift(\+|\-)/.test(t)&&(r=!0,t=t.substr("shift-".length)),/^alt(\+|\-)/.test(t)&&(s=!0,t=t.substr("alt-".length)),/^meta(\+|\-)/.test(t)&&(o.isMacintosh?n=!0:a=!0,t=t.substr("meta-".length)),/^win(\+|\-)/.test(t)&&(o.isMacintosh?n=!0:a=!0,t=t.substr("win-".length)),/^cmd(\+|\-)/.test(t)&&(o.isMacintosh?n=!0:a=!0,t=t.substr("cmd-".length));/^(up|down|left|right)/.test(t)&&(t=t.replace(/^(up|down|left|right)/,function(e){return e+"arrow"}));var l=0,c=t.indexOf(" ");c>0?(u=t.substring(0,c),l=e.readKeybinding(t.substring(c))):u=t;var d=i.KeyCode.fromString(e.capitalizeKey(u)),h=0;return n&&(h|=i.KeyMod.CtrlCmd),r&&(h|=i.KeyMod.Shift),s&&(h|=i.KeyMod.Alt),a&&(h|=i.KeyMod.WinCtrl),h|=d,i.KeyMod.chord(h,l)},e.capitalizeKey=function(e){if(!e||0===e.length)return e;switch(e){case"pausebreak":return"PauseBreak";case"capslock":return"CapsLock";case"pageup":return"PageUp";case"pagedown":return"PageDown";case"leftarrow":return"LeftArrow";case"uparrow":return"UpArrow";case"rightarrow":return"RightArrow";case"downarrow":return"DownArrow";case"contextmenu":return"ContextMenu";case"numlock":return"NumLock";case"scrolllock":return"ScrollLock"}return e.charAt(0).toUpperCase()+e.substr(1)},e.writeKeybindingContexts=function(t,n){var o=n.length-1;n.forEach(function(n,i){e.writeKeybindingContent(t,n),i!==o&&t.write(" && ")})},e.readKeybindingContexts=function(t){if(!t)return void 0;for(var n=[],o=t.split("&&"),i=0;i=0)t=e.split("!="),o=n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL;else{if(!(e.indexOf("==")>=0))return/^\!\s*/.test(e)?{key:e.substr(1).trim(),operator:n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_NOT_EQUAL,operand:!0}:{key:e};t=e.split("=="),o=n.KeybindingsRegistry.KEYBINDING_CONTEXT_OPERATOR_EQUAL}var i=t[1].trim();if("true"===i)i=!0;else if("false"===i)i=!1;else{var r=/^'([^']*)'$/.exec(i);r&&(i=r[1])}return{key:t[0].trim(),operator:o,operand:i}},e}();t.IOSupport=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/keybinding/browser/keybindingServiceImpl",["require","exports","vs/base/common/severity","vs/base/common/winjs.base","vs/nls!vs/platform/keybinding/browser/keybindingServiceImpl","vs/base/browser/dom","vs/base/browser/keyboardEvent","vs/platform/keybinding/common/keybindingsRegistry","vs/platform/keybinding/common/keybindingService","vs/platform/keybinding/common/commonKeybindingResolver","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c){var d="data-keybinding-context",h=function(){function e(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}return e.prototype.setValue=function(e,t){this._value[e]=t},e.prototype.removeValue=function(e){delete this._value[e]},e.prototype.getValue=function(){var e=this._parent?this._parent.getValue():Object.create(null);for(var t in this._value)e[t]=this._value[t];return e},e}();t.KeybindingContext=h;var p=function(){function e(e,t,n){this._parent=e,this._key=t,this._defaultValue=n,"undefined"!=typeof this._defaultValue&&this._parent.setContext(this._key,this._defaultValue)}return e.prototype.set=function(e){this._parent.setContext(this._key,e)},e.prototype.reset=function(){"undefined"==typeof this._defaultValue?this._parent.removeContext(this._key):this._parent.setContext(this._key,this._defaultValue)},e}(),f=function(){function e(e){this.serviceId=u.IKeybindingService,this._myContextId=e,this._instantiationService=null,this._messageService=null}return e.prototype.setMessageService=function(e){this._messageService=e},e.prototype.createKey=function(e,t){return new p(this,e,t)},e.prototype.setInstantiationService=function(e){this._instantiationService=e},e.prototype.createScoped=function(e){return new g(this,e)},e.prototype.setContext=function(e,t){this.getContext(this._myContextId).setValue(e,t)},e.prototype.removeContext=function(e){this.getContext(this._myContextId).removeValue(e)},e.prototype.customKeybindingsCount=function(){throw new Error("Not implemented")},e.prototype.getContext=function(e){throw new Error("Not implemented")},e.prototype.createChildContext=function(e){throw new Error("Not implemented")},e.prototype.disposeContext=function(e){throw new Error("Not implemented")},e.prototype.getDefaultKeybindings=function(){throw new Error("Not implemented")},e.prototype.lookupKeybindings=function(e){throw new Error("Not implemented")},e.prototype.executeCommand=function(e,t){throw new Error("Not implemented")},e}();t.AbstractKeybindingService=f;var m=function(e){function t(t){var n=this;this._lastContextId=-1,e.call(this,++this._lastContextId),this._domNode=t,this._contexts=Object.create(null),this._contexts[String(this._myContextId)]=new h(this._myContextId,null),this._toDispose=r.addDisposableListener(this._domNode,r.EventType.KEY_DOWN,function(e){var t=new s.StandardKeyboardEvent(e);n._dispatch(t)}),this._createOrUpdateResolver(!0),this._currentChord=0,this._currentChordStatusMessage=null}return __extends(t,e),t.prototype.dispose=function(){this._toDispose.dispose(),this._toDispose=null},t.prototype.updateResolver=function(){this._createOrUpdateResolver(!1)},t.prototype._createOrUpdateResolver=function(e){this._resolver=new v(a.KeybindingsRegistry.getDefaultKeybindings(),this._getExtraKeybindings(e))},t.prototype._getExtraKeybindings=function(e){return[]},t.prototype.getDefaultKeybindings=function(){return this._resolver.getDefaultKeybindings()+"\n\n"+this._getAllCommandsAsComment()},t.prototype.customKeybindingsCount=function(){return 0},t.prototype.lookupKeybindings=function(e){return this._resolver.lookupKeybinding(e)},t.prototype._getAllCommandsAsComment=function(){var e=this._resolver.getDefaultBoundCommands(),t=Object.keys(a.KeybindingsRegistry.getCommands()).filter(function(t){return!e[t]}),n=t.join("\n// - ");return"// "+i.localize(0,null)+"\n// - "+n},t.prototype._getCommandHandler=function(e){return a.KeybindingsRegistry.getCommands()[e]},t.prototype._dispatch=function(e){var t=this,o=e.keyCode===c.KeyCode.Ctrl||e.keyCode===c.KeyCode.Shift||e.keyCode===c.KeyCode.Alt||e.keyCode===c.KeyCode.Meta;if(!o){var r=this._findContextAttr(e.target),s=this.getContext(r),a=s.getValue(),u=this._resolver.resolveKeyboardEvent(a,this._currentChord,e);if(u&&u.enterChord){if(e.preventDefault(),this._currentChord=u.enterChord,this._messageService){var l=c.Keybinding.toLabel(this._currentChord);this._currentChordStatusMessage=this._messageService.setStatusMessage(i.localize(1,null,l))}}else{if(this._messageService&&this._currentChord&&(!u||!u.commandId)){var l=c.Keybinding.toLabel(this._currentChord),d=c.Keybinding.toLabel(e.asKeybinding());this._messageService.setStatusMessage(i.localize(2,null,l,d),1e4),e.preventDefault()}if(this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChord=0,u&&u.commandId){/^\^/.test(u.commandId)||e.preventDefault();var h=u.commandId.replace(/^\^/,"");this._invokeHandler(h,{context:a}).done(void 0,function(e){t._messageService.show(n["default"].Warning,e)})}}}},t.prototype._invokeHandler=function(e,t){var n=this._getCommandHandler(e);if(!n)return o.TPromise.wrapError(new Error("No handler found for the command: '"+e+"'"));var i=this._instantiationService.invokeFunction(n,t);return o.TPromise.as(i)},t.prototype._findContextAttr=function(e){for(;e;){if(e.hasAttribute(d))return parseInt(e.getAttribute(d),10);e=e.parentElement}return this._myContextId},t.prototype.getContext=function(e){return this._contexts[String(e)]},t.prototype.createChildContext=function(e){void 0===e&&(e=this._myContextId);var t=++this._lastContextId;return this._contexts[String(t)]=new h(t,this.getContext(e)),t},t.prototype.disposeContext=function(e){delete this._contexts[String(e)]},t.prototype.executeCommand=function(e,t){var o=this;if(void 0===t&&(t={}),!t.context){var i=this._findContextAttr(document.activeElement),r=this.getContext(i),s=r.getValue();t.context=s}return this._invokeHandler(e,t).done(void 0,function(e){o._messageService.show(n["default"].Warning,e)})},t}(f);t.KeybindingService=m;var g=function(e){function t(t,n){this._parent=t,this._domNode=n,e.call(this,this._parent.createChildContext()),this._domNode.setAttribute(d,String(this._myContextId))}return __extends(t,e),t.prototype.dispose=function(){this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(d)},t.prototype.getDefaultKeybindings=function(){return this._parent.getDefaultKeybindings()},t.prototype.customKeybindingsCount=function(){return this._parent.customKeybindingsCount()},t.prototype.lookupKeybindings=function(e){return this._parent.lookupKeybindings(e)},t.prototype.getContext=function(e){return this._parent.getContext(e)},t.prototype.createChildContext=function(e){return void 0===e&&(e=this._myContextId),this._parent.createChildContext(e)},t.prototype.disposeContext=function(e){this._parent.disposeContext(e)},t.prototype.executeCommand=function(e,t){this._parent.executeCommand(e,t)},t}(f),v=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.resolveKeyboardEvent=function(e,t,n){return this.resolve(e,t,n.asKeybinding())},t}(l.CommonKeybindingResolver);t.KeybindingResolver=v}),define("vs/platform/plugins/common/plugins",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IPluginService=n.createDecorator("pluginService"),t.INSTANCE=null}),define("vs/platform/plugins/common/pluginsRegistry",["require","exports","vs/platform/platform","vs/base/common/errors","vs/languages/json/common/jsonContributionRegistry","vs/nls!vs/platform/plugins/common/pluginsRegistry","vs/base/common/paths","vs/base/common/severity"],function(e,t,n,o,i,r,s,a){function u(e,t,n){if(!t)return n.push(r.localize(0,null)),!1;if("string"!=typeof t.publisher)return n.push(r.localize(1,null,"publisher")),!1;if("string"!=typeof t.name)return n.push(r.localize(2,null,"name")),!1;if(!t.engines)return n.push(r.localize(3,null,"engines")),!1;if("string"!=typeof t.engines.vscode)return n.push(r.localize(4,null,"engines.vscode")),!1;if("undefined"!=typeof t.extensionDependencies&&!l(t.extensionDependencies))return n.push(r.localize(5,null,"extensionDependencies")),!1;if("undefined"!=typeof t.activationEvents){if(!l(t.activationEvents))return n.push(r.localize(6,null,"activationEvents")),!1;if("undefined"==typeof t.main)return n.push(r.localize(7,null,"activationEvents","main")),!1}if("undefined"!=typeof t.main){if("string"!=typeof t.main)return n.push(r.localize(8,null,"main")),!1;var o=s.normalize(s.join(e,t.main));if(o.indexOf(e)&&n.push(r.localize(9,null,o,e)),"undefined"==typeof t.activationEvents)return n.push(r.localize(10,null,"activationEvents","main")),!1}return!0}function l(e){if(!Array.isArray(e))return!1;for(var t=0,n=e.length;n>t;t++)if("string"!=typeof e[t])return!1;return!0}var c=function(){function e(e,t){this._scope=e,this._actual=t}return e.prototype.error=function(e){this._actual.error(this._scope,e)},e.prototype.warn=function(e){this._actual.warn(this._scope,e)},e.prototype.info=function(e){this._actual.info(this._scope,e)},e}(),d=function(){function e(e){this._handler=e}return e.prototype._pushMessage=function(e,t,n){this._handler(e,t,this._ensureString(n))},e.prototype._ensureString=function(e){return e&&e.message&&e.stack?e.message+"\n\n"+e.stack:String(e)},e.prototype.error=function(e,t){this._pushMessage(a["default"].Error,e,t)},e.prototype.warn=function(e,t){this._pushMessage(a["default"].Warning,e,t)},e.prototype.info=function(e,t){this._pushMessage(a["default"].Info,e,t)},e.prototype.scopeTo=function(e){return new c(e,this)},e}(),h=function(){function e(){this._messages=[]}return e.prototype.getMessages=function(){return this._messages},e.prototype._pushMessage=function(e,t,n){this._messages.push({type:e,message:this._ensureString(n),source:t})},e.prototype._ensureString=function(e){return e&&e.message&&e.stack?e.message+"\n\n"+e.stack:String(e)},e.prototype.error=function(e,t){this._pushMessage(a["default"].Error,e,t)},e.prototype.warn=function(e,t){this._pushMessage(a["default"].Warning,e,t)},e.prototype.info=function(e,t){this._pushMessage(a["default"].Info,e,t)},e.prototype.scopeTo=function(e){return new c(e,this)},e}();t.PluginsMessageCollector=h,t.isValidPluginDescription=u;var p=Object.hasOwnProperty,f=n.Registry.as(i.Extensions.JSONContribution),m=function(){function e(e,t){this.name=e,this._registry=t,this._handler=null,this._collector=null}return e.prototype.setHandler=function(e){if(this._handler)throw new Error("Handler already set!");this._handler=e,this._handle()},e.prototype.handle=function(e){this._collector=e,this._handle()},e.prototype._handle=function(){var e=this;this._handler&&this._collector&&this._registry.registerPointListener(this.name,function(t){var n=t.map(function(t){return{description:t,value:t.contributes[e.name],collector:e._collector.scopeTo(t.extensionFolderPath)}});e._handler(n)})},e}(),g=function(){function e(){this._pluginsMap={},this._pluginsArr=[],this._activationMap={},this._pointListeners=[],this._extensionPoints={},this._oneTimeActivationEventListeners={}}return e.prototype.registerPointListener=function(t,n){var o={extensionPoint:t,listener:n};this._pointListeners.push(o),this._triggerPointListener(o,e._filterWithExtPoint(this.getAllPluginDescriptions(),t))},e.prototype.registerExtensionPoint=function(e,t){if(p.call(this._extensionPoints,e))throw new Error("Duplicate extension point: "+e);var n=new m(e,this);return this._extensionPoints[e]=n,_.properties.contributes.properties[e]=t,f.registerSchema(y,_),n},e.prototype.handleExtensionPoints=function(e){var t=this,n=new d(e);Object.keys(this._extensionPoints).forEach(function(e){t._extensionPoints[e].handle(n)})},e.prototype._triggerPointListener=function(e,t){if(t&&0!==t.length)try{e.listener(t)}catch(n){o.onUnexpectedError(n)}},e.prototype.registerPlugins=function(t){for(var n=0,o=t.length;o>n;n++){var i=t[n];if(p.call(this._pluginsMap,i.id))console.error("Plugin `"+i.id+"` is already registered");else if(this._pluginsMap[i.id]=i,this._pluginsArr.push(i),Array.isArray(i.activationEvents))for(var r=0,s=i.activationEvents.length;s>r;r++){var a=i.activationEvents[r];this._activationMap[a]=this._activationMap[a]||[],this._activationMap[a].push(i)}}for(var n=0,o=this._pointListeners.length;o>n;n++){var u=this._pointListeners[n],l=e._filterWithExtPoint(t,u.extensionPoint);this._triggerPointListener(u,l)}},e._filterWithExtPoint=function(e,t){return e.filter(function(e){return e.contributes&&p.call(e.contributes,t)})},e.prototype.getPluginDescriptionsForActivationEvent=function(e){return p.call(this._activationMap,e)?this._activationMap[e].slice(0):[]},e.prototype.getAllPluginDescriptions=function(){return this._pluginsArr.slice(0)},e.prototype.getPluginDescription=function(e){return p.call(this._pluginsMap,e)?this._pluginsMap[e]:null},e.prototype.registerOneTimeActivationEventListener=function(e,t){p.call(this._oneTimeActivationEventListeners,e)||(this._oneTimeActivationEventListeners[e]=[]),this._oneTimeActivationEventListeners[e].push(t)},e.prototype.triggerActivationEventListeners=function(e){if(p.call(this._oneTimeActivationEventListeners,e)){var t=this._oneTimeActivationEventListeners[e];delete this._oneTimeActivationEventListeners[e];for(var n=0,i=t.length;i>n;n++){var r=t[n];try{r()}catch(s){o.onUnexpectedError(s)}}}},e}(),v={PluginsRegistry:"PluginsRegistry"};n.Registry.add(v.PluginsRegistry,new g),t.PluginsRegistry=n.Registry.as(v.PluginsRegistry);var y="local://schemas/vscode-extension",_={"default":{name:"{{name}}",description:"{{description}}",author:"{{author}}",version:"{{1.0.0}}",main:"{{pathToMain}}",dependencies:{}},properties:{publisher:{description:r.localize(11,null),type:"string"},activationEvents:{description:r.localize(12,null),type:"array",items:{type:"string"}},extensionDependencies:{description:r.localize(13,null),type:"array",items:{type:"string"}},scripts:{type:"object",properties:{"vscode:prepublish":{description:r.localize(14,null),type:"string"}}},contributes:{description:r.localize(15,null),type:"object","default":{languages:[{id:"",extensions:[]}]},properties:{outputChannels:{description:r.localize(16,null),type:"array",items:{type:"string",description:r.localize(17,null)}}}}},definitions:{}};f.registerSchema(y,_),f.addSchemaFileAssociation("/package.json",y)}),define("vs/platform/configuration/common/configurationRegistry",["require","exports","vs/nls!vs/platform/configuration/common/configurationRegistry","vs/base/common/event","vs/platform/platform","vs/base/common/objects","vs/base/common/strings","vs/platform/plugins/common/pluginsRegistry","vs/languages/json/common/jsonContributionRegistry"],function(e,t,n,o,i,r,s,a,u){t.Extensions={Configuration:"base.contributions.configuration"};var l=function(){function e(){this.configurationContributors=[],this.hasJSONContributions=!1,this._onDidRegisterConfiguration=new o.Emitter}return Object.defineProperty(e.prototype,"onDidRegisterConfiguration",{get:function(){return this._onDidRegisterConfiguration.event},enumerable:!0,configurable:!0}),e.prototype.registerConfiguration=function(e){this.configurationContributors.push(e),this.registerJSONConfiguration(e),this._onDidRegisterConfiguration.fire(this)},e.prototype.getConfigurations=function(){return this.configurationContributors.slice(0)},e.prototype.registerJSONConfiguration=function(e){var t=s.format("local://schemas/settings/{0}",e.id),n=r.clone(e);n.id=t;var o=i.Registry.as(u.Extensions.JSONContribution);o.registerSchema(t,n),o.addSchemaFileAssociation("inmemory://defaults/settings.json",t),o.addSchemaFileAssociation("%APP_SETTINGS_HOME%/settings.json",t),o.addSchemaFileAssociation("/.vscode/settings.json",t)},e}(),c=new l;i.Registry.add(t.Extensions.Configuration,c);var d=a.PluginsRegistry.registerExtensionPoint("configuration",{description:n.localize(0,null),type:"object","default":{title:"",type:"object",properties:{}},properties:{title:{description:n.localize(1,null),type:"string"},type:{description:n.localize(2,null),"enum":["object"]},properties:{description:n.localize(3,null),type:"object"}}});d.setHandler(function(e){for(var t=0;t=0?-1:1e4;var y;y="undefined"!=typeof n.stopRenderingLineAfter?m(n.stopRenderingLineAfter,-1):v>=0?-1:1e4;var _=f(n.mouseWheelScrollSensitivity,1),b=this._sanitizeScrollbarOpts(n.scrollbar,_),C=h(n.glyphMargin),w=n.lineNumbers,E=m(n.lineNumbersMinChars,1),S=m(n.lineDecorationsWidth,0),T=d.EditorLayoutProvider.compute({outerWidth:e,outerHeight:t,showGlyphMargin:C,lineHeight:u.lineHeight,showLineNumbers:!!w,lineNumbersMinChars:E,lineDecorationsWidth:S,maxDigitWidth:u.maxDigitWidth,lineCount:c,verticalScrollbarWidth:b.verticalScrollbarSize,horizontalScrollbarHeight:b.horizontalScrollbarSize,scrollbarArrowSize:b.arrowSize,verticalScrollbarHasArrows:b.verticalHasArrows}),L=Math.floor(T.height/u.lineHeight)-2;l&&v>0&&(v=0);var x;return x=0===v?{isViewportWrapping:!0,wrappingColumn:Math.max(1,Math.floor((T.contentWidth-T.verticalScrollbarWidth)/u.typicalHalfwidthCharacterWidth))}:v>0?{isViewportWrapping:!1,wrappingColumn:v}:{isViewportWrapping:!1,wrappingColumn:-1},{lineNumbers:w,selectOnLineNumbers:h(n.selectOnLineNumbers),glyphMargin:C,revealHorizontalRightPadding:m(n.revealHorizontalRightPadding,0),roundedSelection:h(n.roundedSelection),theme:n.theme,readOnly:h(n.readOnly),scrollbar:b,overviewRulerLanes:m(n.overviewRulerLanes,0,3),hideCursorInOverviewRuler:h(n.hideCursorInOverviewRuler),scrollBeyondLastLine:h(n.scrollBeyondLastLine),wrappingIndent:n.wrappingIndent,wordWrapBreakBeforeCharacters:n.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:n.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:n.wordWrapBreakObtrusiveCharacters,tabFocusMode:h(n.tabFocusMode),stopLineTokenizationAfter:g,stopRenderingLineAfter:y,longLineBoundary:m(n.longLineBoundary),forcedTokenizationBoundary:m(n.forcedTokenizationBoundary),hover:h(n.hover),contextmenu:h(n.contextmenu),quickSuggestions:h(n.quickSuggestions),quickSuggestionsDelay:m(n.quickSuggestionsDelay),iconsInSuggestions:h(n.iconsInSuggestions),autoClosingBrackets:h(n.autoClosingBrackets),formatOnType:h(n.formatOnType),suggestOnTriggerCharacters:h(n.suggestOnTriggerCharacters),selectionHighlight:h(n.selectionHighlight),outlineMarkers:h(n.outlineMarkers),referenceInfos:h(n.referenceInfos),renderWhitespace:h(n.renderWhitespace),layoutInfo:T,stylingInfo:{editorClassName:o,fontFamily:i,fontSize:r,lineHeight:a},wrappingInfo:x,indentInfo:p,observedOuterWidth:e,observedOuterHeight:t,lineHeight:u.lineHeight,pageSize:L,typicalHalfwidthCharacterWidth:u.typicalHalfwidthCharacterWidth,typicalFullwidthCharacterWidth:u.typicalFullwidthCharacterWidth,fontSize:u.fontSize}},e._sanitizeScrollbarOpts=function(e,t){var n=g(e.horizontalScrollbarSize,10),o=g(e.verticalScrollbarSize,14);return{vertical:v(e.vertical,["auto","visible","hidden"],"auto"),horizontal:v(e.horizontal,["auto","visible","hidden"],"auto"),arrowSize:g(e.arrowSize,11),useShadows:p(e.useShadows,!0),verticalHasArrows:p(e.verticalHasArrows,!1),horizontalHasArrows:p(e.horizontalHasArrows,!1),horizontalScrollbarSize:n,horizontalSliderSize:g(e.horizontalSliderSize,n),verticalScrollbarSize:o,verticalSliderSize:g(e.verticalSliderSize,o),handleMouseWheel:p(e.handleMouseWheel,!0),mouseWheelScrollSensitivity:t}},e.createConfigurationChangedEvent=function(e,t){return{layoutInfo:!d.EditorLayoutProvider.layoutEqual(e.layoutInfo,t.layoutInfo),stylingInfo:!this._stylingInfoEqual(e.stylingInfo,t.stylingInfo),wrappingInfo:!this._wrappingInfoEqual(e.wrappingInfo,t.wrappingInfo),indentInfo:!this._indentInfoEqual(e.indentInfo,t.indentInfo),observedOuterWidth:e.observedOuterWidth!==t.observedOuterWidth,observedOuterHeight:e.observedOuterHeight!==t.observedOuterHeight,lineHeight:e.lineHeight!==t.lineHeight,pageSize:e.pageSize!==t.pageSize,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth!==t.typicalHalfwidthCharacterWidth,typicalFullwidthCharacterWidth:e.typicalFullwidthCharacterWidth!==t.typicalFullwidthCharacterWidth,fontSize:e.fontSize!==t.fontSize,lineNumbers:e.lineNumbers!==t.lineNumbers,selectOnLineNumbers:e.selectOnLineNumbers!==t.selectOnLineNumbers,glyphMargin:e.glyphMargin!==t.glyphMargin,revealHorizontalRightPadding:e.revealHorizontalRightPadding!==t.revealHorizontalRightPadding,roundedSelection:e.roundedSelection!==t.roundedSelection,theme:e.theme!==t.theme,readOnly:e.readOnly!==t.readOnly,scrollbar:!this._scrollbarOptsEqual(e.scrollbar,t.scrollbar),overviewRulerLanes:e.overviewRulerLanes!==t.overviewRulerLanes,hideCursorInOverviewRuler:e.hideCursorInOverviewRuler!==t.hideCursorInOverviewRuler,scrollBeyondLastLine:e.scrollBeyondLastLine!==t.scrollBeyondLastLine,wrappingIndent:e.wrappingIndent!==t.wrappingIndent,wordWrapBreakBeforeCharacters:e.wordWrapBreakBeforeCharacters!==t.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:e.wordWrapBreakAfterCharacters!==t.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:e.wordWrapBreakObtrusiveCharacters!==t.wordWrapBreakObtrusiveCharacters,tabFocusMode:e.tabFocusMode!==t.tabFocusMode,stopLineTokenizationAfter:e.stopLineTokenizationAfter!==t.stopLineTokenizationAfter,stopRenderingLineAfter:e.stopRenderingLineAfter!==t.stopRenderingLineAfter,longLineBoundary:e.longLineBoundary!==t.longLineBoundary,forcedTokenizationBoundary:e.forcedTokenizationBoundary!==t.forcedTokenizationBoundary,hover:e.hover!==t.hover,contextmenu:e.contextmenu!==t.contextmenu,quickSuggestions:e.quickSuggestions!==t.quickSuggestions,quickSuggestionsDelay:e.quickSuggestionsDelay!==t.quickSuggestionsDelay,iconsInSuggestions:e.iconsInSuggestions!==t.iconsInSuggestions,autoClosingBrackets:e.autoClosingBrackets!==t.autoClosingBrackets,formatOnType:e.formatOnType!==t.formatOnType,suggestOnTriggerCharacters:e.suggestOnTriggerCharacters!==t.suggestOnTriggerCharacters,selectionHighlight:e.selectionHighlight!==t.selectionHighlight,outlineMarkers:e.outlineMarkers!==t.outlineMarkers,referenceInfos:e.referenceInfos!==t.referenceInfos}},e._scrollbarOptsEqual=function(e,t){return e.arrowSize===t.arrowSize&&e.vertical===t.vertical&&e.horizontal===t.horizontal&&e.useShadows===t.useShadows&&e.verticalHasArrows===t.verticalHasArrows&&e.horizontalHasArrows===t.horizontalHasArrows&&e.handleMouseWheel===t.handleMouseWheel&&e.horizontalScrollbarSize===t.horizontalScrollbarSize&&e.horizontalSliderSize===t.horizontalSliderSize&&e.verticalScrollbarSize===t.verticalScrollbarSize&&e.verticalSliderSize===t.verticalSliderSize&&e.mouseWheelScrollSensitivity===t.mouseWheelScrollSensitivity},e._stylingInfoEqual=function(e,t){return e.editorClassName===t.editorClassName&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.lineHeight===t.lineHeight},e._wrappingInfoEqual=function(e,t){return e.isViewportWrapping===t.isViewportWrapping&&e.wrappingColumn===t.wrappingColumn},e._indentInfoEqual=function(e,t){return e.insertSpaces===t.insertSpaces&&e.tabSize===t.tabSize},e}(),b=function(e){function t(t,n){void 0===n&&(n=null),e.call(this,[u.EventType.ConfigurationChanged]),this._configWithDefaults=new y(t),this._indentationGuesser=n,this._cachedGuessedIndentationTabSize=-1,this._cachedGuessedIndentation=null,this._isDominatedByLongLines=!1,this._lineCount=1,this.handlerDispatcher=new c.HandlerDispatcher,this.editor=this._computeInternalOptions()}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._recomputeOptions=function(){var e=this.editor;this.editor=this._computeInternalOptions();var t=_.createConfigurationChangedEvent(e,this.editor),n=!1;for(var o in t)if(t.hasOwnProperty(o)&&t[o]){n=!0;break}n&&this.emit(u.EventType.ConfigurationChanged,t)},t.prototype.getRawOptions=function(){return this._configWithDefaults.getEditorOptions()},t.prototype._computeInternalOptions=function(){var e=this,n=this._configWithDefaults.getEditorOptions(),o=this._getEditorClassName(n.theme),i=n.fontFamily||"",r=m(n.fontSize,0,100),s=m(n.lineHeight,0,150),a=s;r>0&&0===s&&(a=Math.round(1.3*r));var u=t._computeIndentationOptions(n,function(t){return e._guessIndentationOptionsCached(t)});return _.createInternalEditorOptions(this.getOuterWidth(),this.getOuterHeight(),n,o,i,r,s,a,this.readConfiguration(o,i,r,a),this._isDominatedByLongLines,this._lineCount,u)},t.prototype.updateOptions=function(e){this._configWithDefaults.updateOptions(e),this._recomputeOptions()},t.prototype._getEditorClassName=function(e){return"monaco-editor"},t.prototype.setIsDominatedByLongLines=function(e){this._isDominatedByLongLines=e,this._recomputeOptions()},t.prototype.setLineCount=function(e){this._lineCount=e,this._recomputeOptions()},t.prototype.resetIndentationOptions=function(){this._cachedGuessedIndentationTabSize=-1,this._cachedGuessedIndentation=null,this._recomputeOptions()},t.prototype._guessIndentationOptionsCached=function(e){return this._cachedGuessedIndentation&&this._cachedGuessedIndentationTabSize===e||(this._cachedGuessedIndentationTabSize=e,this._indentationGuesser?this._cachedGuessedIndentation=this._indentationGuesser(e):this._cachedGuessedIndentation=null),this._cachedGuessedIndentation},t._getValidatedIndentationOptions=function(e){var t={tabSizeIsAuto:!1,tabSize:4,insertSpacesIsAuto:!1,insertSpaces:!1};return"auto"===e.tabSize?t.tabSizeIsAuto=!0:t.tabSize=m(e.tabSize,1,20),"auto"===e.insertSpaces?t.insertSpacesIsAuto=!0:t.insertSpaces=h(e.insertSpaces),t},t._computeIndentationOptions=function(e,t){var n=this._getValidatedIndentationOptions(e),o=null;(n.tabSizeIsAuto||n.insertSpacesIsAuto)&&(o=t(n.tabSize));var i={insertSpaces:n.insertSpaces,tabSize:n.tabSize};return o&&n.tabSizeIsAuto&&(i.tabSize=o.tabSize),o&&n.insertSpacesIsAuto&&(i.insertSpaces=o.insertSpaces),i},t.prototype.getIndentationOptions=function(){return this.editor.indentInfo},t.prototype._normalizeIndentationFromWhitespace=function(e){var t,n=this.getIndentationOptions(),o=0;for(t=0;tt;t++)i+=" "}for(t=0;o>t;t++)i+=" ";return i},t.prototype.normalizeIndentation=function(e){var t=r.firstNonWhitespaceIndex(e);return-1===t&&(t=e.length),this._normalizeIndentationFromWhitespace(e.substring(0,t))+e.substring(t)},t.prototype.getOneIndent=function(){var e=this.getIndentationOptions();if(e.insertSpaces){for(var t="",n=0;nr;r++)i+=i;return o.textContent=i,o},e._createTestElements=function(t){var n=document.createElement("div");l.applyEditorStyling(n,t),n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";for(var o=0,i=e._USUAL_CHARS.length;i>o;o++)n.appendChild(document.createElement("br")),n.appendChild(e._createTestElement(o,e._USUAL_CHARS[o]));var r=e._testElementId(e._USUAL_CHARS.length),s=document.createElement("div");return s.id=r,s.appendChild(document.createTextNode("heightTestContent")),n.appendChild(document.createElement("br")),n.appendChild(s),n},e._readTestElementWidth=function(t){return document.getElementById(e._testElementId(t)).offsetWidth/256},e._readFromTestElements=function(){for(var t=[],n=0,o=e._USUAL_CHARS.length;o>n;n++)t.push(e._readTestElementWidth(n));return t},e._actualReadConfiguration=function(t){var n=e._createTestElements(t);document.body.appendChild(n);var o=e._readFromTestElements(),r=document.getElementById(e._testElementId(0)),s=i.getComputedStyle(r),a=e._getFontFromComputedStyle(s),u=s?parseInt(s.fontSize,10):0,l=document.getElementById(e._testElementId(e._USUAL_CHARS.length)),c=l.clientHeight;document.body.removeChild(n);for(var d=0,h=0,p=0,f=0,m=e._USUAL_CHARS.length;m>f;f++){var g=e._USUAL_CHARS.charAt(f);g>="0"&&"9">=g?d=Math.max(d,o[f]):g===e._HALF_WIDTH_TYPICAL?h=o[f]:g===e._FULL_WIDTH_TYPICAL&&(p=o[f])}return{typicalHalfwidthCharacterWidth:h,typicalFullwidthCharacterWidth:p,maxDigitWidth:d,lineHeight:c,font:a,fontSize:u}},e._getFontFromComputedStyle=function(e){return e?e.font?e.font:e.fontFamily+" "+e.fontSize+" "+e.fontSizeAdjust+" "+e.fontStretch+" "+e.fontStyle+" "+e.fontVariant+" "+e.fontWeight+" ":"unknown"},e._HALF_WIDTH_TYPICAL="n",e._FULL_WIDTH_TYPICAL="m",e._USUAL_CHARS="0123456789"+e._HALF_WIDTH_TYPICAL+e._FULL_WIDTH_TYPICAL,e._CACHE=new a,e._CHANGE_LISTENERS=[],e._CHANGE_MONITOR_TIMEOUT=-1,e}(),l=function(e){function t(t,n,o){var i=this;void 0===n&&(n=null),void 0===o&&(o=null),this._elementSizeObserver=new r.ElementSizeObserver(n,function(){return i._onReferenceDomElementSizeChanged()}),e.call(this,t,o),this._cssBasedConfigurationChangeListener=function(){return i._onCSSBasedConfigurationChanged()},u.addChangeListener(this._cssBasedConfigurationChangeListener),this._configWithDefaults.getEditorOptions().automaticLayout&&this._elementSizeObserver.startObserving()}return __extends(t,e),t.applyEditorStyling=function(e,t){e.className=t.editorClassName,t.fontFamily&&t.fontFamily.length>0?e.style.fontFamily=t.fontFamily:e.style.fontFamily="",t.fontSize>0?e.style.fontSize=t.fontSize+"px":e.style.fontSize="",t.lineHeight>0?e.style.lineHeight=t.lineHeight+"px":e.style.lineHeight=""},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){u.removeChangeListener(this._cssBasedConfigurationChangeListener),this._elementSizeObserver.dispose(),e.prototype.dispose.call(this)},t.prototype._getEditorClassName=function(e){var t="";return o.isIE11orEarlier?t+="ie ":o.isFirefox&&(t+="ff "),o.isIE9&&(t+="ie9 "),n.isMacintosh&&(t+="mac "),"monaco-editor "+t+e},t.prototype.getOuterWidth=function(){return this._elementSizeObserver.getWidth()},t.prototype.getOuterHeight=function(){return this._elementSizeObserver.getHeight()},t.prototype.readConfiguration=function(e,t,n,o){return u.readConfiguration(e,t,n,o)},t}(s.CommonEditorConfiguration);t.Configuration=l}),define("vs/platform/plugins/common/abstractPluginService",["require","exports","vs/nls!vs/platform/plugins/common/abstractPluginService","vs/platform/plugins/common/plugins","vs/base/common/winjs.base","vs/platform/plugins/common/pluginsRegistry","vs/base/common/severity"],function(e,t,n,o,i,r,s){function a(t){return new i.TPromise(function(n,o,i){e([t],function(e){n(e)},o)})}var u=Object.hasOwnProperty,l=this,c=function(){function e(e,t,n,o){this.activationFailed=e,this.module=t,this.exports=n,this.subscriptions=o}return e}();t.ActivatedPlugin=c;var d=function(){function e(e){var t=this;this.serviceId=o.IPluginService,e?(this._onReady=i.TPromise.as(!0),this._onReadyC=function(e){}):this._onReady=new i.TPromise(function(e,n,o){t._onReadyC=e},function(){console.warn("You should really not try to cancel this ready promise!")}),this.activatingPlugins={},this.activatedPlugins={}}return e.prototype.showMessage=function(e,t,n){this._showMessage(e,(t?"["+t+"]: ":"")+n)},e.prototype.registrationDone=function(e){var t=this;e.forEach(function(e){t.showMessage(e.type,e.source,e.message)}),this._onReadyC(!0)},e.prototype.registerOneTimeActivationEventListener=function(e,t){r.PluginsRegistry.registerOneTimeActivationEventListener(e,t)},e.prototype.onReady=function(){return this._onReady},e.prototype.get=function(e){if(!u.call(this.activatedPlugins,e))throw new Error("Plugin `"+e+"` is not known or not activated");return this.activatedPlugins[e].exports},e.prototype.isActivated=function(e){return u.call(this.activatedPlugins,e)},e.prototype.activateByEvent=function(e){var t=this;return this._onReady.then(function(){r.PluginsRegistry.triggerActivationEventListeners(e);var n=r.PluginsRegistry.getPluginDescriptionsForActivationEvent(e);return t._activatePlugins(n,0)})},e.prototype.activateAndGet=function(e){var t=this;return this._onReady.then(function(){var n=r.PluginsRegistry.getPluginDescription(e);if(!n)throw new Error("Plugin `"+e+"` is not known");return t._activatePlugins([n],0).then(function(){return t.get(e)})})},e.prototype._handleActivateRequest=function(e,t,o){for(var i="undefined"==typeof e.extensionDependencies?[]:e.extensionDependencies,a=!0,l=0,d=i.length;d>l;l++){var h=i[l],p=r.PluginsRegistry.getPluginDescription(h);if(!p)return this._showMessage(s["default"].Error,n.localize(0,null,h,e.id)),void(this.activatedPlugins[e.id]=new c(!0,{activate:void 0,deactivate:void 0},{},[]));if(u.call(this.activatedPlugins,h)){var f=this.activatedPlugins[h];if(f.activationFailed)return this._showMessage(s["default"].Error,n.localize(1,null,h,e.id)),void(this.activatedPlugins[e.id]=new c(!0,{activate:void 0,deactivate:void 0},{},[]))}else a=!1,t[h]=p}a?t[e.id]=e:o.push(e)},e.prototype._activatePlugins=function(e,t){var o=this;if(0===e.length)return i.TPromise.as(void 0);if(e=e.filter(function(e){return!u.call(o.activatedPlugins,e.id)}),0===e.length)return i.TPromise.as(void 0);if(t>10){for(var r=0,a=e.length;a>r;r++)this._showMessage(s["default"].Error,n.localize(2,null,e[r].id)),this.activatedPlugins[e[r].id]=new c(!0,{activate:void 0,deactivate:void 0},{},[]);return i.TPromise.as(void 0)}for(var l=Object.create(null),d=[],r=0,a=e.length;a>r;r++)this._handleActivateRequest(e[r],l,d);for(var r=0,a=d.length;a>r;r++)l[d[r].id]&&delete l[d[r].id];var h=Object.keys(l).map(function(e){return l[e]});return 0===d.length?i.TPromise.join(h.map(function(e){return o._activatePlugin(e)})).then(function(e){return void 0}):this._activatePlugins(h,t+1).then(function(e){return o._activatePlugins(d,t+1)})},e.prototype._activatePlugin=function(e){var t=this;return u.call(this.activatedPlugins,e.id)?i.TPromise.as(this.activatedPlugins[e.id].exports):u.call(this.activatingPlugins,e.id)?this.activatingPlugins[e.id]:(this.activatingPlugins[e.id]=this._actualActivatePlugin(e).then(null,function(o){return t._showMessage(s["default"].Error,n.localize(3,null,e.id,o.message)),console.error("Activating extension `"+e.id+"` failed: ",o.message),console.log("Here is the error stack: ",o.stack),new c(!0,{activate:void 0,deactivate:void 0},{},[])}).then(function(n){return t.activatedPlugins[e.id]=n,delete t.activatingPlugins[e.id],n.exports}),this.activatingPlugins[e.id])},e.prototype._actualActivatePlugin=function(t){var n=this;return t.main?this._loadPluginModule(t).then(function(o){return n._loadPluginContext(t).then(function(t){return e._callActivate(o,t)})}):i.TPromise.as(new c(!1,{activate:void 0,deactivate:void 0},{},[]))},e.prototype._loadPluginModule=function(e){return a(e.main)},e.prototype._loadPluginContext=function(e){return i.TPromise.as(void 0)},e._callActivate=function(e,t){return e=e||{activate:void 0,deactivate:void 0},this._callActivateOptional(e,t).then(function(n){return new c(!1,e,n,t.subscriptions)})},e._callActivateOptional=function(e,t){if("function"!=typeof e.activate)return i.TPromise.as(e);try{return i.TPromise.as(e.activate.apply(l,[t]))}catch(n){return i.TPromise.wrapError(n)}},e}();t.AbstractPluginService=d,t.loadAMDModule=a}),define("vs/platform/progress/common/progress",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IProgressService=n.createDecorator("progressService")}),define("vs/platform/request/common/request",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IRequestService=n.createDecorator("requestService")}),define("vs/platform/request/common/baseRequestService",["require","exports","vs/base/common/network","vs/base/common/strings","vs/base/common/timer","vs/base/common/async","vs/base/common/http","vs/base/common/winjs.base","vs/base/common/objects","vs/platform/request/common/request"],function(e,t,n,o,i,r,s,a,u,l){var c=function(){function e(e,t){this.serviceId=l.IRequestService;var n=null,e=e,i=e.getWorkspace();this._serviceMap=i||Object.create(null),this._telemetryService=t,i&&(n=o.rtrim(i.resource.toString(),"/")+"/"),this.computeOrigin(n)}return e.prototype.computeOrigin=function(e){if(e){this._origin=e;var t=new n.URL(this._origin).getPath();t&&t.length>0&&(this._origin=this._origin.substring(0,this._origin.length-t.length+1)),o.endsWith(this._origin,"/")||(this._origin+="/")}else this._origin="/"},e.prototype.getRequestUrl=function(e,t,i){if(this._serviceMap[e]){var r=this._serviceMap[e]+o.normalizePath(t),s=new n.URL(r);return s.getScheme()?r:i?this._origin+o.ltrim(r,"/"):r}return null},e.prototype.getPath=function(e,t){var n=this.getRequestUrl(e,"/",!0);if(!n)return null;var o=t.toString().indexOf(n);return 0===o?t.toString().substr(n.length-1):null},e.prototype.makeCrossOriginRequest=function(e){return null},e.prototype.makeRequest=function(e){var t=i.nullEvent,n=!1,s=e.url;if(!s)throw new Error("IRequestService.makeRequest: Url is required");if((o.startsWith(s,"http://")||o.startsWith(s,"https://"))&&this._origin&&!o.startsWith(s,this._origin)){var l=this.makeCrossOriginRequest(e);if(l)return l;n=!0}var c=e;if(!n){var d={};this._telemetryService&&(d["X-TelemetrySession"]=this._telemetryService.getSessionId()),d["X-Requested-With"]="XMLHttpRequest",c.headers=u.mixin(c.headers,d)}return e.timeout&&(c.customRequestInitializer=function(t){t.timeout=e.timeout}),r.always(a.xhr(c),function(e){t.data&&(t.data.status=e.status),t.stop()})},e.prototype.makeChunkedRequest=function(e){var t,n,o,i=this,r=0,u=!1;return new a.TPromise(function(a,u,l){t=a,n=u,o=l,i.makeRequest(e).done(function(e){var n={request:e,chunks:[]};r=s.parseChunkedData(e,n.chunks,r),t(n)},function(e){n(e)},function(e){})},function(){u=!0})},e}();t.BaseRequestService=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/standalone/simpleServices",["require","exports","vs/base/common/winjs.base","vs/base/common/errors","vs/base/common/network","vs/base/common/eventEmitter","vs/editor/common/editorCommon","vs/base/common/severity","vs/platform/keybinding/browser/keybindingServiceImpl","vs/platform/request/common/baseRequestService","vs/platform/editor/common/editor","vs/platform/message/common/message","vs/platform/plugins/common/abstractPluginService","vs/platform/keybinding/common/commonKeybindingResolver","vs/platform/plugins/common/pluginsRegistry"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f){var m=function(){function e(e){this._widget=e}return e.prototype.getId=function(){return"editor"},e.prototype.getControl=function(){return this._widget},e.prototype.getSelection=function(){return this._widget.getSelection()},e.prototype.focus=function(){this._widget.focus()},e.prototype.withTypedEditor=function(e,t){return this._widget.getEditorType()===s.EditorType.ICodeEditor?e(this._widget):t(this._widget)},e}();t.SimpleEditor=m;var g=function(e){function t(t){e.call(this),this.model=t}return __extends(t,e),Object.defineProperty(t.prototype,"textEditorModel",{get:function(){return this.model},enumerable:!0,configurable:!0}),t}(r.EventEmitter);t.SimpleModel=g;var v=function(){function e(){this.serviceId=c.IEditorService,this.openEditorDelegate=null}return e.prototype.setEditor=function(e){this.editor=new m(e)},e.prototype.setOpenEditorDelegate=function(e){this.openEditorDelegate=e},e.prototype.openEditor=function(e,t){var o=this;return n.TPromise.as(this.editor.withTypedEditor(function(t){return o.doOpenEditor(t,e)},function(t){return o.doOpenEditor(t.getOriginalEditor(),e)||o.doOpenEditor(t.getModifiedEditor(),e)}))},e.prototype.doOpenEditor=function(e,t){var n=this.findModel(e,t);if(!n){if(t.resource){if(this.openEditorDelegate)return this.openEditorDelegate(t.resource.toString()),null;var o=t.resource.scheme;if(o===i.schemas.http||o===i.schemas.https)return window.open(t.resource.toString()),this.editor}return null}var r=t.options.selection;if(r)if("number"==typeof r.endLineNumber&&"number"==typeof r.endColumn)e.setSelection(r),e.revealRangeInCenter(r);else{var s={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(s),e.revealPositionInCenter(s)}return this.editor},e.prototype.findModel=function(e,t){var n=e.getModel();return n.getAssociatedResource().equals(t.resource)?n:null},e.prototype.resolveEditorModel=function(e,t){var o,i=this;return o=this.editor.withTypedEditor(function(t){return i.findModel(t,e)},function(t){return i.findModel(t.getOriginalEditor(),e)||i.findModel(t.getModifiedEditor(),e)}),o?n.TPromise.as(new g(o)):n.TPromise.as(null)},e}();t.SimpleEditorService=v;var y=function(){function e(){this.serviceId=d.IMessageService}return e.prototype.show=function(t,n){switch(t){case a["default"].Error:console.error(o.toErrorMessage(n,!0)); +break;case a["default"].Warning:console.warn(n);break;default:console.log(n)}return e.Empty},e.prototype.hideAll=function(){},e.prototype.confirm=function(e){var t=e.message;return e.detail&&(t=t+"\n\n"+e.detail),window.confirm(t)},e.prototype.setStatusMessage=function(e,t){return void 0===t&&(t=-1),{dispose:function(){}}},e.Empty=function(){},e}();t.SimpleMessageService=y;var _=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),t.prototype.getPath=function(e,t){return t.toString()},t}(l.BaseRequestService);t.SimpleEditorRequestService=_;var b=function(e){function t(t){this._dynamicKeybindings=[],this._dynamicCommands=Object.create(null),e.call(this,t)}return __extends(t,e),t.prototype.addDynamicKeybinding=function(e,n,o,i){void 0===i&&(i=null),null===i&&(i="DYNAMIC_"+ ++t.LAST_GENERATED_ID);var r=p.IOSupport.readKeybindingContexts(o);return this._dynamicKeybindings.push({keybinding:e,command:i,context:r,weight1:1e3,weight2:0}),this._dynamicCommands[i]=n,this.updateResolver(),i},t.prototype._getExtraKeybindings=function(e){return this._dynamicKeybindings},t.prototype._getCommandHandler=function(t){return e.prototype._getCommandHandler.call(this,t)||this._dynamicCommands[t]},t.LAST_GENERATED_ID=0,t}(u.KeybindingService);t.StandaloneKeybindingService=b;var C=function(e){function t(){var t=this;e.call(this,!0),f.PluginsRegistry.handleExtensionPoints(function(e,n,o){t.showMessage(e,n,o)})}return __extends(t,e),t.prototype._showMessage=function(e,t){switch(e){case a["default"].Error:console.error(t);break;case a["default"].Warning:console.warn(t);break;case a["default"].Info:console.info(t);break;default:console.log(t)}},t}(h.AbstractPluginService);t.SimplePluginService=C}),define("vs/platform/search/common/search",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.ID="searchService",t.ISearchService=n.createDecorator(t.ID),function(e){e[e.File=1]="File",e[e.Text=2]="Text"}(t.QueryType||(t.QueryType={}));var o=(t.QueryType,function(){function e(e){this.resource=e,this.lineMatches=[]}return e}());t.FileMatch=o;var i=function(){function e(e,t,n){this.preview=e,this.lineNumber=t,this.offsetAndLengths=n}return e}();t.LineMatch=i}),define("vs/platform/telemetry/common/telemetry",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){function o(e){if(!e)return e;for(var t="",n=0;n="0"&&"9">=o?"0":o>="a"&&"z">=o?"a":o>="A"&&"Z">=o?"A":o}return t}t.ID="telemetryService",t.ITelemetryService=n.createDecorator(t.ID),t.anonymize=o}),define("vs/editor/common/editorCommonExtensions",["require","exports","vs/editor/common/editorCommon","vs/platform/telemetry/common/telemetry","vs/platform/platform","vs/base/common/errors","vs/platform/keybinding/common/keybindingsRegistry","vs/editor/common/config/config","vs/platform/instantiation/common/descriptors"],function(e,t,n,o,i,r,s,a,u){function l(e,t,n){a.withCodeEditorFromCommandHandler(e,t,n,function(t){t.trigger("keyboard",e,n)})}function c(e,t,n){var i=a.findFocusedEditor(e,t,n,!1);if(i)return void i.trigger("keyboard",e,n);var s=a.getActiveEditor(t);if(s){var u=s.getAction(e);return void(u&&(t.get(o.ITelemetryService).publicLog("editorActionInvoked",{name:u.label}),u.run().done(null,r.onUnexpectedError)))}}function d(e,t){return e?[{key:n.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS},{key:t}]:[{key:n.KEYBINDING_CONTEXT_EDITOR_FOCUS},{key:t}]}function h(e,t){return function(n,o){a.withCodeEditorFromCommandHandler(e,n,o,function(e){t(n,e,o)})}}!function(e){e[e.None=0]="None",e[e.EditorTextFocus=1]="EditorTextFocus",e[e.EditorFocus=2]="EditorFocus"}(t.ContextKey||(t.ContextKey={}));var p=t.ContextKey,f=function(){function e(e,t,n,o){void 0===o&&(o=b),this.ctor=e,this.id=t,this.label=n,this.kbOpts=o}return e}();t.EditorActionDescriptor=f;var m;!function(e){function t(e){i.Registry.as(y.EditorCommonContributions).registerEditorAction(e)}function n(e){i.Registry.as(y.EditorCommonContributions).registerEditorContribution2(e)}function o(){return i.Registry.as(y.EditorCommonContributions).getEditorContributions2()}function r(e){return void 0===e&&(e=0),s.KeybindingsRegistry.WEIGHT.editorContrib(e)}function a(e,t,n,o,i,r){var a={id:e,handler:h(e,r),weight:t,context:d(o,i),primary:n.primary,secondary:n.secondary,win:n.win,linux:n.linux,mac:n.mac};s.KeybindingsRegistry.registerCommandDesc(a)}e.registerEditorAction=t,e.registerEditorContribution=n,e.getEditorContributions=o,e.commandWeight=r,e.registerEditorCommand=a}(m=t.CommonEditorRegistry||(t.CommonEditorRegistry={}));var g=function(){function e(e){this._ctor=e}return e.prototype.createInstance=function(e,t){return e.createInstance(this._ctor,t)},e}(),v=function(){function e(e,t,n){this._descriptor=u.createSyncDescriptor(e,{id:t,label:n})}return e.prototype.createInstance=function(e,t){return e.createInstance(this._descriptor,t)},e}(),y={EditorCommonContributions:"editor.commonContributions"},_=function(){function e(){this.editorContributions=[]}return e.prototype.registerEditorContribution2=function(e){this.editorContributions.push(new g(e))},e.prototype.registerEditorAction=function(e){var t=e.kbOpts.handler;t||(t=e.kbOpts.context===p.EditorTextFocus||e.kbOpts.context===p.EditorFocus?l.bind(null,e.id):c.bind(null,e.id));var o=null;e.kbOpts.context===p.EditorTextFocus?o=[{key:n.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS}]:e.kbOpts.context===p.EditorFocus&&(o=[{key:n.KEYBINDING_CONTEXT_EDITOR_FOCUS}]);var i={id:e.id,handler:t,weight:s.KeybindingsRegistry.WEIGHT.editorContrib(),context:o,primary:e.kbOpts.primary,secondary:e.kbOpts.secondary,win:e.kbOpts.win,linux:e.kbOpts.linux,mac:e.kbOpts.mac};s.KeybindingsRegistry.registerCommandDesc(i),this.editorContributions.push(new v(e.ctor,e.id,e.label))},e.prototype.getEditorContributions2=function(){return this.editorContributions.slice(0)},e}();i.Registry.add(y.EditorCommonContributions,new _);var b={primary:null,context:p.EditorTextFocus}});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/clipboard/browser/clipboard",["require","exports","vs/nls!vs/editor/contrib/clipboard/browser/clipboard","vs/base/common/lifecycle","vs/base/common/winjs.base","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/base/browser/browser","vs/editor/common/editorCommon","vs/editor/common/config/config","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes","vs/css!./clipboard"],function(e,t,n,o,i,r,s,a,u,l,c,d){function h(e){var t=e.getModel();if(!t)return!1;var n=t.hasEditableRange();if(!n)return!0;var o=t.getEditableRange(),i=e.getPosition();return o.containsPosition(i)}function p(e){a.supportsExecCommand(e.execCommand)&&r.CommonEditorRegistry.registerEditorAction(new r.EditorActionDescriptor(e.ctor,e.id,e.label,{handler:f.bind(null,e.id,e.execCommand),context:r.ContextKey.None,primary:e.primary,secondary:e.secondary,win:e.win,linux:e.linux,mac:e.mac}))}function f(e,t,n,o){if(o.context[u.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS]){var i=l.findFocusedEditor(e,n,o,!1);if(i)return void i.trigger("keyboard",e,o)}document.execCommand(t)}var m=function(e){function t(t,n,o,i){var r=this;e.call(this,t,n,o),this.toUnhook=[],this.toUnhook.push(this.editor.addListener(u.EventType.CursorSelectionChanged,function(e){r.resetEnablementState()}))}return __extends(t,e),t.prototype.dispose=function(){this.toUnhook=o.cAll(this.toUnhook),e.prototype.dispose.call(this)},t.prototype.getEnablementState=function(){return a.enableEmptySelectionClipboard?!0:!this.editor.getSelection().isEmpty()},t=__decorate([__param(3,c.INullService)],t)}(s.EditorAction),g=function(e){function t(t,n,o){e.call(this,t,n,s.Behaviour.Writeable|s.Behaviour.WidgetFocus|s.Behaviour.ShowInContextMenu|s.Behaviour.UpdateOnCursorPositionChange,o)}return __extends(t,e),t.prototype.getGroupId=function(){return"3_edit/2_cut"},t.prototype.getEnablementState=function(){return e.prototype.getEnablementState.call(this)&&h(this.editor)},t.prototype.run=function(){return this.editor.focus(),document.execCommand("cut"),i.TPromise.as(!0)},t=__decorate([__param(2,c.INullService)],t)}(m),v=function(e){function t(t,n,o){e.call(this,t,n,s.Behaviour.WidgetFocus|s.Behaviour.ShowInContextMenu,o)}return __extends(t,e),t.prototype.getGroupId=function(){return"3_edit/1_copy"},t.prototype.run=function(){return this.editor.focus(),document.execCommand("copy"),i.TPromise.as(!0)},t=__decorate([__param(2,c.INullService)],t)}(m),y=function(e){function t(t,n,o){e.call(this,t,n,s.Behaviour.Writeable|s.Behaviour.WidgetFocus|s.Behaviour.ShowInContextMenu|s.Behaviour.UpdateOnCursorPositionChange)}return __extends(t,e),t.prototype.getGroupId=function(){return"3_edit/3_paste"},t.prototype.getEnablementState=function(){return h(this.editor)},t.prototype.run=function(){return this.editor.focus(),document.execCommand("paste"),null},t=__decorate([__param(2,c.INullService)],t)}(s.EditorAction);p({ctor:g,id:"editor.action.clipboardCutAction",label:n.localize(0,null),execCommand:"cut",primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_X,win:{primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_X,secondary:[d.KeyMod.Shift|d.KeyCode.Delete]}}),p({ctor:v,id:"editor.action.clipboardCopyAction",label:n.localize(1,null),execCommand:"copy",primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_C,win:{primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_C,secondary:[d.KeyMod.CtrlCmd|d.KeyCode.Insert]}}),p({ctor:y,id:"editor.action.clipboardPasteAction",label:n.localize(2,null),execCommand:"paste",primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_V,win:{primary:d.KeyMod.CtrlCmd|d.KeyCode.KEY_V,secondary:[d.KeyMod.Shift|d.KeyCode.Insert]}})});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/color/browser/color",["require","exports","vs/base/common/lifecycle","vs/base/common/async","vs/base/browser/dom","vs/base/common/errors","vs/base/common/strings","vs/editor/common/editorCommon","vs/editor/common/editorCommonExtensions","vs/platform/instantiation/common/instantiation","vs/css!./color"],function(e,t,n,o,i,r,s,a,u,l){var c=function(){function e(e,t){this.renderingDecorationId=e,this.trackingDecorationId=t}return e.createRenderingDecoration=function(e,t){return{range:{startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.startLineNumber,endColumn:e.startColumn+1},options:{inlineClassName:"inline-color-decoration "+t,stickiness:a.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}},e.createTrackingDecoration=function(e){return{range:e,options:{stickiness:a.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}},e.prototype.getColorValue=function(e){var t=e.getDecorationRange(this.trackingDecorationId);return t?e.getValueInRange(t):""},e}(),d=function(){function e(t,n){var r=this;this._instanceCount=++e.INSTANCE_COUNT,this._editor=t,this._callOnDispose=[],this._callOnModelChange=[],this._currentDecorations=[],this._currentDynamicColors=[],this._contentChangedScheduler=new o.RunOnceScheduler(null,250),this._decorationsChangedScheduler=new o.RunOnceScheduler(function(){return r.onDecorationsChanged()},250),this._currentFindColorDeclarationsPromise=null,this._callOnDispose.push(this._contentChangedScheduler),this._callOnDispose.push(this._decorationsChangedScheduler),this._callOnDispose.push(this._editor.addListener2(a.EventType.ModelChanged,function(){return r.onModelChange()})),this._callOnDispose.push(this._editor.addListener2(a.EventType.ModelModeChanged,function(){return r.onModelChange()})),this._callOnDispose.push(this._editor.addListener2(a.EventType.ModelModeSupportChanged,function(e){r.onModelChange()})),this._style=i.createStyleSheet(),this.onModelChange()}return e.prototype.dispose=function(){var e=this;this._currentDecorations.length>0&&this._editor.changeDecorations(function(t){for(var n=[],o=0,i=e._currentDecorations.length;i>o;o++)n.push(e._currentDecorations[o].renderingDecorationId),n.push(e._currentDecorations[o].trackingDecorationId);t.deltaDecorations(n,[]),e._currentDecorations=null}),this._style.parentNode.removeChild(this._style),this._style=null,this._callOnDispose=n.disposeAll(this._callOnDispose)},e.prototype.getId=function(){return e.ID},e.prototype.onModelChange=function(){var e=this;n.cAll(this._callOnModelChange);var t=this._editor.getModel();if(t){var o=t.getMode();"function"==typeof o.findColorDeclarations&&(this._contentChangedScheduler.setRunner(function(){e._currentFindColorDeclarationsPromise&&e._currentFindColorDeclarationsPromise.cancel(),e._currentFindColorDeclarationsPromise=o.findColorDeclarations(t.getAssociatedResource());var n=e._editor.getModel().getVersionId();e._currentFindColorDeclarationsPromise.then(function(t){n===e._editor.getModel().getVersionId()&&e.renderAndTrackColors(t)},function(e){r.onUnexpectedError(e)})}),this._contentChangedScheduler.schedule(),this._callOnModelChange.push(function(){e._contentChangedScheduler.cancel(),e._decorationsChangedScheduler.cancel()}),this._callOnModelChange.push(function(){e._currentFindColorDeclarationsPromise&&e._currentFindColorDeclarationsPromise.cancel(),e._currentFindColorDeclarationsPromise=null}),this._callOnModelChange.push(this._editor.addListener(a.EventType.ModelContentChanged,function(t){return e._contentChangedScheduler.schedule()})),this._callOnModelChange.push(t.addListener(a.EventType.ModelDecorationsChanged,function(t){return e._decorationsChangedScheduler.schedule()})))}},e.prototype.renderAndTrackColors=function(e){var t=this;e=e.slice(0,500),this._editor.changeDecorations(function(n){for(var o=[],i=0,r=t._currentDecorations.length;r>i;i++)o.push(t._currentDecorations[i].renderingDecorationId),o.push(t._currentDecorations[i].trackingDecorationId);for(var s=[],i=0,r=e.length;r>i;i++)s.push(c.createRenderingDecoration(e[i].range,t.getCSSRuleName(i))),s.push(c.createTrackingDecoration(e[i].range));var a=n.deltaDecorations(o,s);t._currentDecorations=[];for(var i=0,r=e.length;r>i;i++)t._currentDecorations.push(new c(a[2*i],a[2*i+1]))}),this.onDecorationsChanged()},e.prototype.onDecorationsChanged=function(){var e,t,n,o,i,r,s=this,a=this._editor.getModel(),u=[];this._editor.changeDecorations(function(l){for(e=0,t=s._currentDecorations.length;t>e;e++)r=s._currentDecorations[e],n=a.getDecorationRange(r.trackingDecorationId),n&&!n.isEmpty()?(u[e]=a.getValueInRange(n).replace(/[^%#a-z0-9.,()]/gi,""),o=a.getDecorationRange(r.renderingDecorationId),i=a.validateRange({startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.startLineNumber,endColumn:n.startColumn+1}),o&&o.equalsRange(i)||l.changeDecoration(r.renderingDecorationId,i)):u[e]="";s.ensureColors(u)})},e.prototype.getCSSRuleName=function(e){return 0>e?".monaco-css-dynamic-"+this._instanceCount+"-":".monaco-css-dynamic-"+this._instanceCount+"-"+e+":before"},e.prototype._changeCost=function(e){if(this._currentDynamicColors.length!==e.length)return Number.MAX_VALUE;for(var t=0,n=0;nn){for(t=0;t0&&this._doShowContextMenu(o,e)}}},e.prototype._getMenuActions=function(){var e=this._editor.getModel();if(!e)return[];var t=this._editor.getActions(),n=t.filter(function(e){return"function"==typeof e.shouldShowInContextMenu&&e.shouldShowInContextMenu()&&e.isSupported()});return this._prepareActions(n)},e.prototype._prepareActions=function(e){var t=new d.SortedList;e.forEach(function(e){var n=e.getGroupId().split("/"),o=t.getValue(n[0]);o||(o=new d.SortedList,t.add(n[0],o)),o.add(n[1]||n[0],e)});for(var n=[],o=t.getIterator();o.moveNext();){for(var i=o.current.value,r=i.getIterator();r.moveNext();){var s=r.current.value;n.push(s)}o.hasNext()&&n.push(new l.Separator)}return n},e.prototype._doShowContextMenu=function(e,t){var n=this;void 0===t&&(t=null),this._editor.beginForcedWidgetFocus();var r=this._editor.getConfiguration().hover;this._editor.updateOptions({hover:!1});var s=t;if(!s){var a=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),u=o.getDomNodePosition(this._editor.getDomNode()),c=u.left+a.left,d=u.top+a.top+a.height;s={x:c,y:d}}this.contextMenuService.showContextMenu({getAnchor:function(){return s},getActions:function(){return i.TPromise.as(e)},getActionItem:function(e){var t=n._keybindingFor(e);if(t)return new l.ActionItem(e,e,{label:!0,keybinding:t.toLabel()});var o=e;return"function"==typeof o.getActionItem?o.getActionItem():null},getKeyBinding:function(e){return n._keybindingFor(e)},onHide:function(e){n._contextMenuIsBeingShownCount--,n._editor.focus(),n._editor.endForcedWidgetFocus(),n._editor.updateOptions({hover:r})}})},e.prototype._keybindingFor=function(e){var t=this.keybindingService.lookupKeybindings(e.id);return t.length>0?t[0]:null},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._contextMenuIsBeingShownCount>0&&this.contextViewService.hideContextView(),this._toDispose=c.disposeAll(this._toDispose)},e.ID="editor.contrib.contextmenu",e=__decorate([__param(1,h.IContextMenuService),__param(2,h.IContextViewService),__param(3,p.IKeybindingService)],e)}(),v=function(e){function t(t,n,o){e.call(this,t,n,a.Behaviour.TextFocus)}return __extends(t,e),t.prototype.run=function(){var e=this.editor.getContribution(g.ID);return e?(e.showContextMenu(),i.TPromise.as(null)):i.TPromise.as(null)},t.ID="editor.action.showContextMenu",t=__decorate([__param(2,f.INullService)],t)}(a.EditorAction);r.EditorBrowserRegistry.registerEditorContribution(g),s.CommonEditorRegistry.registerEditorAction(new s.EditorActionDescriptor(v,v.ID,n.localize(0,null),{context:s.ContextKey.EditorTextFocus,primary:m.KeyMod.Shift|m.KeyCode.F10}))});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/find/browser/find",["require","exports","vs/base/common/winjs.base","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","./findWidget","./findModel","vs/nls!vs/editor/contrib/find/browser/find","vs/base/common/lifecycle","vs/editor/common/editorCommon","vs/editor/common/core/selection","vs/platform/keybinding/common/keybindingService","vs/platform/contextview/browser/contextView","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m){function g(e,t){var n,o,i=v.getFindController(e),r=i.getFindState(),s=!1,a=!1,u=!1;if(r&&(s=r.properties.isRegex,a=r.properties.wholeWord,u=r.properties.matchCase),!e.isFocused()&&r&&r.searchString.length>0)n=r.searchString;else{var l=e.getSelection();if(l.startLineNumber!==l.endLineNumber)return null;if(l.isEmpty()){var c=e.getModel().getWordAtPosition(l.getStartPosition());if(!c)return null;n=c.word,o=d.Selection.createSelection(l.startLineNumber,c.startColumn,l.startLineNumber,c.endColumn)}else n=e.getModel().getValueInRange(l);t&&i.setSearchString(n)}return{searchText:n,isRegex:s,matchCase:u,wholeWord:a,nextMatch:o}}var v=function(){function e(e,t,n){var o=this;this._findWidgetVisible=n.createKey(M,!1),this.editor=e,this.model=null,this.widgetIsVisible=!1,this.lastState=null,this.widget=new s.FindWidget(this.editor,this,t),this.widgetListeners=[],this.widgetListeners.push(this.widget.addUserInputEventListener(function(e){return o.onWidgetUserInput(e)})),this.widgetListeners.push(this.widget.addClosedEventListener(function(){return o.onWidgetClosed()})),this.editorListeners=[],this.editorListeners.push(this.editor.addListener(c.EventType.ModelChanged,function(){o.disposeBindingAndModel(),o.editor.getModel()&&o.lastState&&o.widgetIsVisible&&o._start(!1,!1,!1,!1)})),this.editorListeners.push(this.editor.addListener(c.EventType.Disposed,function(){o.editorListeners.forEach(function(e){e()}),o.editorListeners=[]}))}return e.getFindController=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widgetListeners=l.disposeAll(this.widgetListeners),this.widget&&(this.widget.dispose(),this.widget=null),this.disposeBindingAndModel()},e.prototype.disposeBindingAndModel=function(){this._findWidgetVisible.reset(),this.widget&&this.widget.setModel(null),this.model&&(this.model.dispose(),this.model=null)},e.prototype.closeFindWidget=function(){this.widgetIsVisible=!1,this.disposeBindingAndModel(),this.editor.focus()},e.prototype.onWidgetClosed=function(){this.widgetIsVisible=!1,this.disposeBindingAndModel()},e.prototype.getFindState=function(){return this.lastState},e.prototype.setSearchString=function(e){this.widget.setSearchString(e),this.lastState=this.widget.getState(),this.model&&this.model.recomputeMatches(this.lastState,!1)},e.prototype.onWidgetUserInput=function(e){this.lastState=this.widget.getState(),this.model&&this.model.recomputeMatches(this.lastState,e.jumpToNextMatch)},e.prototype._start=function(e,t,n,o){this.model||(this.model=new a.FindModelBoundToEditorModel(this.editor),this.widget.setModel(this.model)),this._findWidgetVisible.set(!0),this.lastState=this.lastState||this.widget.getState();var i=this.editor.getSelection();if(i){if(t&&i.startLineNumber===i.endLineNumber)if(i.isEmpty()){var r=this.editor.getModel().getWordAtPosition(i.getStartPosition());r&&(this.lastState.searchString=r.word)}else this.lastState.searchString=this.editor.getModel().getValueInRange(i);var s=null;n&&i.startLineNumber0&&this.editor.setSelections(t.map(function(e){return d.Selection.createSelection(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)})),n.TPromise.as(!0)},t.ID="editor.action.selectHighlights",t=__decorate([__param(2,f.INullService)],t)}(r.EditorAction),x=function(){function e(e,t){var n=this;this.editor=e,this.model=this.editor.getModel(),this.decorations=[],this.toUnhook=[],this.toUnhook.push(e.addListener(c.EventType.CursorPositionChanged,function(e){return n.onPositionChanged(e)})),this.toUnhook.push(e.addListener(c.EventType.ModelChanged,function(e){n.removeDecorations(),n.model=n.editor.getModel()}))}return e.prototype.getId=function(){return e.ID},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.onPositionChanged=function(e){if(this.editor.getConfiguration().selectionHighlight){var t=g(this.editor,!1);if(!t)return void this.removeDecorations();if(t.nextMatch)return void this.removeDecorations();if(/^[ \t]+$/.test(t.searchText))return void this.removeDecorations();if(t.searchText.length>200)return void this.removeDecorations();var n=this.editor.getModel().findMatches(t.searchText,!0,t.isRegex,t.matchCase,t.wholeWord),o=n.map(function(e){return{range:e,options:{stickiness:c.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}}});this.decorations=this.editor.deltaDecorations(this.decorations,o)}},e.prototype.dispose=function(){for(this.removeDecorations();this.toUnhook.length>0;)this.toUnhook.pop()()},e.ID="editor.contrib.selectionHighlighter",e=__decorate([__param(1,f.INullService)],e)}();t.SelectionHighlighter=x,i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(L,L.ID,u.localize(0,null),{context:i.ContextKey.EditorFocus,primary:m.KeyMod.CtrlCmd|m.KeyMod.Shift|m.KeyCode.KEY_L}));var M="findWidgetVisible";i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(_,a.START_FIND_ID,u.localize(1,null),{context:i.ContextKey.None,primary:m.KeyMod.CtrlCmd|m.KeyCode.KEY_F,secondary:[m.KeyMod.CtrlCmd|m.KeyCode.F3]})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(b,a.NEXT_MATCH_FIND_ID,u.localize(2,null),{context:i.ContextKey.EditorFocus,primary:m.KeyCode.F3,mac:{primary:m.KeyMod.CtrlCmd|m.KeyCode.KEY_G,secondary:[m.KeyCode.F3]}})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(C,a.PREVIOUS_MATCH_FIND_ID,u.localize(3,null),{context:i.ContextKey.EditorFocus,primary:m.KeyMod.Shift|m.KeyCode.F3,mac:{primary:m.KeyMod.CtrlCmd|m.KeyMod.Shift|m.KeyCode.KEY_G,secondary:[m.KeyMod.Shift|m.KeyCode.F3]}})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(w,a.START_FIND_REPLACE_ID,u.localize(4,null),{context:i.ContextKey.None,primary:m.KeyMod.CtrlCmd|m.KeyCode.KEY_H,mac:{primary:m.KeyMod.CtrlCmd|m.KeyMod.Alt|m.KeyCode.KEY_F}})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(T,T.ID,u.localize(5,null),{context:i.ContextKey.EditorFocus,primary:m.KeyMod.chord(m.KeyMod.CtrlCmd|m.KeyCode.KEY_K,m.KeyMod.CtrlCmd|m.KeyCode.KEY_D)})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(S,S.ID,u.localize(6,null),{context:i.ContextKey.EditorFocus,primary:m.KeyMod.CtrlCmd|m.KeyCode.KEY_D})),o.EditorBrowserRegistry.registerEditorContribution(v),o.EditorBrowserRegistry.registerEditorContribution(x),i.CommonEditorRegistry.registerEditorCommand("closeFindWidget",i.CommonEditorRegistry.commandWeight(5),{primary:m.KeyCode.Escape},!1,M,function(e,t,n){v.getFindController(t).closeFindWidget()})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/format/common/formatActions",["require","exports","vs/base/common/winjs.base","vs/editor/common/editorCommon","vs/base/common/lifecycle","vs/base/common/arrays","vs/nls!vs/editor/contrib/format/common/formatActions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","./formatCommand","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes","../common/format"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p=function(){function e(e,t){var n=this;this.editor=e,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.addListener2(o.EventType.ConfigurationChanged,function(){return n.update()})),this.callOnDispose.push(e.addListener2(o.EventType.ModelChanged,function(){return n.update()})),this.callOnDispose.push(e.addListener2(o.EventType.ModelModeChanged,function(){return n.update()})),this.callOnDispose.push(e.addListener2(o.EventType.ModelModeSupportChanged,function(e){e.formattingSupport&&n.update()})),this.callOnDispose.push(h.FormatOnTypeRegistry.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=i.cAll(this.callOnModel),this.editor.getConfiguration().formatOnType&&this.editor.getModel()){var t=this.editor.getModel(),n=h.FormatOnTypeRegistry.ordered(t)[0];n&&n.autoFormatTriggerCharacters&&(this.formattingOptions=this.editor.getIndentationOptions(),n.autoFormatTriggerCharacters.forEach(function(t){e.callOnModel.push(e.editor.addTypingListener(t,e.trigger.bind(e,n,t)))}))}},e.prototype.trigger=function(e,t){var n=this;if(!(this.editor.getSelections().length>1)){var i=this.editor.getModel(),s=this.editor.getPosition(),a=!1,u=this.editor.addListener(o.EventType.ModelContentChanged,function(e){if(e.changeType===o.EventType.ModelContentChangedFlush)a=!0;else if(e.changeType===o.EventType.ModelContentChangedLineChanged){var t=e.lineNumber;a=t<=s.lineNumber}else if(e.changeType===o.EventType.ModelContentChangedLinesInserted){var n=e.fromLineNumber;a=n<=s.lineNumber}else if(e.changeType===o.EventType.ModelContentChangedLinesDeleted){var i=e.toLineNumber;a=i<=s.lineNumber}a&&u()});e.formatAfterKeystroke(i.getAssociatedResource(),s,t,this.formattingOptions).then(function(e){u(),a||r.isFalsyOrEmpty(e)||n.editor.executeCommand(n.getId(),new l.EditOperationsCommand(e,n.editor.getSelection()))},function(e){throw u(),e})}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){for(this.callOnDispose=i.disposeAll(this.callOnDispose);this.callOnModel.length>0;)this.callOnModel.pop()()},e.ID="editor.contrib.autoFormat",e=__decorate([__param(1,c.INullService)],e)}(),f=function(e){function t(t,n,o){var i=this;e.call(this,t,n,u.Behaviour.WidgetFocus|u.Behaviour.Writeable|u.Behaviour.UpdateOnModelChange|u.Behaviour.ShowInContextMenu),this._disposable=h.FormatRegistry.onDidChange(function(){return i.resetEnablementState()})}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._disposable.dispose()},t.prototype.getGroupId=function(){return"2_change/2_format"},t.prototype.isSupported=function(){return h.FormatRegistry.has(this.editor.getModel())&&e.prototype.isSupported.call(this)},t.prototype.run=function(){var e,t=this,i=this.editor.getModel(),r=h.FormatRegistry.ordered(i)[0],s="function"==typeof r.formatRange,a="function"==typeof r.formatDocument,u=this.editor.getSelection(),l=this.editor.getIndentationOptions();if(s){var c=u;c.isEmpty()?c=i.getFullModelRange():c.startColumn=1,e=r.formatRange(i.getAssociatedResource(),c,l)}else{if(!a)return n.TPromise.as(!1);e=r.formatDocument(i.getAssociatedResource(),l)}var d=this.editor.captureState(o.CodeEditorStateFlag.Value,o.CodeEditorStateFlag.Position);return e.then(function(e){return d.validate(t.editor)&&e&&0!==e.length?(t.apply(t.editor,u,e),t.editor.focus(),!0):!1})},t.prototype.apply=function(e,t,n){var o=null;t.isEmpty()&&(o=e.saveViewState());var i=new l.EditOperationsCommand(n,t);e.executeCommand(this.id,i),o&&e.restoreViewState(o)},t.ID="editor.action.format",t=__decorate([__param(2,c.INullService)],t)}(u.EditorAction);t.FormatAction=f,a.CommonEditorRegistry.registerEditorAction(new a.EditorActionDescriptor(f,f.ID,s.localize(0,null),{context:a.ContextKey.EditorTextFocus,primary:d.KeyMod.Shift|d.KeyMod.Alt|d.KeyCode.KEY_F,linux:{primary:d.KeyMod.CtrlCmd|d.KeyMod.Shift|d.KeyCode.KEY_I}})),a.CommonEditorRegistry.registerEditorContribution(p)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/gotoError/browser/gotoError",["require","exports","vs/nls!vs/editor/contrib/gotoError/browser/gotoError","vs/base/common/lifecycle","vs/base/common/strings","vs/base/common/errors","vs/base/common/severity","vs/base/browser/dom","vs/base/common/winjs.base","vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/base/browser/builder","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/editor/common/editorCommon","vs/base/browser/htmlContentRenderer","vs/base/common/event","vs/editor/common/core/position","vs/platform/markers/common/markers","vs/platform/telemetry/common/telemetry","vs/platform/keybinding/common/keybindingService","vs/platform/event/common/event","vs/platform/editor/common/editor","vs/editor/common/services/bulkEdit","vs/base/common/keyCodes","vs/css!./gotoError"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E,S){var T=c.$,L=function(){function e(e,t){var n=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new g.Emitter,this._onMarkerSetChanged=new g.Emitter,this.setMarkers(t),this._toUnbind.push(this._editor.addListener(f.EventType.Disposed,function(){return n.dispose()})),this._toUnbind.push(this._editor.addListener(f.EventType.CursorPositionChanged,function(){n._ignoreSelectionChange||(n._nextIdx=-1)}))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){this._markers=e||[],this._markers.sort(function(e,t){return e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber}),this._nextIdx=-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(),o=0,i=this._markers.length;i>o&&!t;o++){var r={lineNumber:this._markers[o].startLineNumber,column:this._markers[o].startColumn};n.isBeforeOrEqual(r)&&(this._nextIdx=o+(e?0:-1),t=!0)}t||(this._nextIdx=e?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)},e.prototype.move=function(e){if(!this.canNavigate())return void this._onCurrentMarkerChanged.fire(void 0);-1===this._nextIdx?this.initIdx(e):e?(this._nextIdx+=1,this._nextIdx>=this._markers.length&&(this._nextIdx=0)):(this._nextIdx-=1,this._nextIdx<0&&(this._nextIdx=this._markers.length-1));var t=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(t)},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.next=function(){this.move(!0)},e.prototype.previous=function(){this.move(!1)},e.prototype.goTo=function(e){for(var t=0;t=e.lineNumber&&n.startColumn<=e.column&&n.endColumn>=e.column)return void this._onCurrentMarkerChanged.fire(n)}return null},e.prototype.indexOf=function(e){return this._markers.indexOf(e)},e.prototype.length=function(){return this._markers.length},e.prototype.reveal=function(){var e=this;-1!==this._nextIdx&&this.withoutWatchingEditorPosition(function(){var t=new v.Position(e._markers[e._nextIdx].startLineNumber,e._markers[e._nextIdx].startColumn);e._editor.setPosition(t),e._editor.revealPositionInCenter(t)})},e.prototype.dispose=function(){this._toUnbind=o.cAll(this._toUnbind)},e}(),x={showFrame:!0,showArrow:!0},M=function(e){function t(t,n,o,i){e.call(this,o,x),this._model=i,this._callOnDispose=[],this._eventService=t,this._editorService=n,this.create(),this._wireModelAndView()}return __extends(t,e),t.prototype.fillContainer=function(e){var t=this,n=T(e).addClass("marker-widget");n.div({"class":"descriptioncontainer"},function(e){t._element=e}),n.div(function(e){t._quickFixSection=e}),n.on(a.EventType.CLICK,function(){t.editor.focus()})},t.prototype._wireModelAndView=function(){this._model.onCurrentMarkerChanged(this.showAtMarker,this,this._callOnDispose)},t.prototype.showAtMarker=function(e){var t=this;if(e){switch(e.severity){case s["default"].Error:this.options.frameColor="#ff5a5a";break;case s["default"].Warning:case s["default"].Info:this.options.frameColor="#5aac5a"}this._element.text(i.format("({0}/{1}) ",this._model.indexOf(e)+1,this._model.length()));var o=this._element.getHTMLElement();m.renderHtml2(e.message).forEach(function(e){o.appendChild(e)});var u=this.editor.getModel().getMode();if(this._quickFixSection.hide(),u.quickFixSupport){var l=u.quickFixSupport.getQuickFixes(this.editor.getModel().getAssociatedResource(),e);l.then(function(o){if(t._quickFixSection.clearChildren(),o.length>0){var i=T(t._quickFixSection);i.span({"class":"quickfixhead",text:o.length>1?n.localize(0,null):n.localize(1,null)}).span({"class":"quickfixcontainer"},function(n){o.forEach(function(o,i,r){var s=T(n);i>0&&(s=s.span({text:", "})),s.span({"class":"quickfixentry",text:o.label}).on(a.EventType.CLICK,function(){return u.quickFixSupport.runQuickFixAction(t.editor.getModel().getAssociatedResource(),e,o.id).then(function(e){return E.bulkEdit(t._eventService,t._editorService,t.editor,e.edits)}),!0})})}),t._quickFixSection.show(),t.show(new v.Position(e.startLineNumber,e.startColumn),4)}},function(e){r.onUnexpectedError(e)})}this._model.withoutWatchingEditorPosition(function(){t.show(new v.Position(e.startLineNumber,e.startColumn),3)})}},t.prototype.dispose=function(){this._callOnDispose=o.disposeAll(this._callOnDispose),e.prototype.dispose.call(this)},t}(l.ZoneWidget),I=function(e){function t(t,n,o,i){e.call(this,t,n,p.Behaviour.WidgetFocus|p.Behaviour.Writeable|p.Behaviour.UpdateOnModelChange),this.telemetryService=i,this._isNext=o}return __extends(t,e),t.prototype.run=function(){var e=N.getMarkerController(this.editor).getOrCreateModel();return this.telemetryService.publicLog("zoneWidgetShown",{mode:"go to error"}),e&&(this._isNext?e.next():e.previous(),e.reveal()),u.TPromise.as(!0)},t=__decorate([__param(3,_.ITelemetryService)],t)}(p.EditorAction),N=function(){function e(e,t,n,o,i){this._callOnClose=[],this.markerService=t,this.eventService=o,this.editorService=i,this.editor=e,this._markersNavigationVisible=n.createKey(O,!1)}return e.getMarkerController=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._cleanUp()},e.prototype._cleanUp=function(){this._markersNavigationVisible.reset(),this._callOnClose=o.disposeAll(this._callOnClose),this._zone=null,this._model=null},e.prototype.getOrCreateModel=function(){var e=this;if(this._model)return this._model;var t=this._getMarkers();return this._model=new L(this.editor,t),this._zone=new M(this.eventService,this.editorService,this.editor,this._model),this._markersNavigationVisible.set(!0),this._callOnClose.push(this._model),this._callOnClose.push(this._zone),this._callOnClose.push(this.editor.addListener2(f.EventType.ModelChanged,function(){e._cleanUp()})),this._model.onCurrentMarkerChanged(function(t){return!t&&e._cleanUp()},void 0,this._callOnClose),this.markerService.onMarkerChanged(this._onMarkerChanged,this,this._callOnClose),this._model},e.prototype.closeMarkersNavigation=function(){this._cleanUp()},e.prototype._onMarkerChanged=function(e){var t=this;e.some(function(e){return t.editor.getModel().getAssociatedResource().equals(e)})&&this._model.setMarkers(this._getMarkers())},e.prototype._getMarkers=function(){var e=this.editor.getModel().getAssociatedResource(),t=this.markerService.read({resource:e});return t},e.ID="editor.contrib.markerController",e=__decorate([__param(1,y.IMarkerService),__param(2,b.IKeybindingService),__param(3,C.IEventService),__param(4,w.IEditorService)],e)}(),R=function(e){function t(t,n,o){e.call(this,t,n,!0,o)}return __extends(t,e),t.ID="editor.action.marker.next",t=__decorate([__param(2,_.ITelemetryService)],t)}(I),k=function(e){function t(t,n,o){e.call(this,t,n,!1,o)}return __extends(t,e),t.ID="editor.action.marker.prev",t=__decorate([__param(2,_.ITelemetryService)],t)}(I),O="markersNavigationVisible";h.CommonEditorRegistry.registerEditorAction(new h.EditorActionDescriptor(R,R.ID,n.localize(2,null),{context:h.ContextKey.EditorFocus,primary:S.KeyCode.F8})),h.CommonEditorRegistry.registerEditorAction(new h.EditorActionDescriptor(k,k.ID,n.localize(3,null),{context:h.ContextKey.EditorFocus,primary:S.KeyMod.Shift|S.KeyCode.F8})),h.CommonEditorRegistry.registerEditorCommand("closeMarkersNavigation",h.CommonEditorRegistry.commandWeight(50),{primary:S.KeyCode.Escape},!1,O,function(e,t,n){var o=N.getMarkerController(t);o.closeMarkersNavigation()}),d.EditorBrowserRegistry.registerEditorContribution(N)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/inPlaceReplace/common/inPlaceReplace",["require","exports","vs/nls!vs/editor/contrib/inPlaceReplace/common/inPlaceReplace","vs/base/common/winjs.base","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/editor/common/editorCommon","./inPlaceReplaceCommand","vs/editor/common/core/range","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c){var d=function(e){function t(t,n,i,r){e.call(this,t,n),this.up=i,this.requestIdPool=0,this.currentRequest=o.TPromise.as(null),this.decorationRemover=o.TPromise.as(null),this.decorationIds=[]}return __extends(t,e),t.prototype.isSupported=function(){return!!this.editor.getModel().getMode().inplaceReplaceSupport&&e.prototype.isSupported.call(this)},t.prototype.run=function(){var e=this;this.currentRequest.cancel();var n=this.editor.getSelection(),i=this.editor.getModel(),r=i.getMode().inplaceReplaceSupport;if(n.startLineNumber!==n.endLineNumber)return null;var l=this.editor.captureState(s.CodeEditorStateFlag.Value,s.CodeEditorStateFlag.Position);return this.currentRequest=r.navigateValueSet(i.getAssociatedResource(),n,this.up),this.currentRequest.then(function(i){if(i&&i.range&&i.value&&l.validate(e.editor)){var r=u.Range.lift(i.range),s=i.range,c=i.value.length-(n.endColumn-n.startColumn);s.endColumn=s.startColumn+i.value.length,n.endColumn+=c>1?c-1:0;var d=new a.InPlaceReplaceCommand(r,n,i.value);return e.editor.executeCommand(e.id,d),e.decorationIds=e.editor.deltaDecorations(e.decorationIds,[{range:s,options:t.DECORATION}]),e.decorationRemover.cancel(),e.decorationRemover=o.TPromise.timeout(350),e.decorationRemover.then(function(){e.editor.changeDecorations(function(t){e.decorationIds=t.deltaDecorations(e.decorationIds,[])})}),!0}})},t.DECORATION={className:"valueSetReplacement"},t=__decorate([__param(3,l.INullService)],t)}(r.EditorAction),h=function(e){function t(t,n,o){e.call(this,t,n,!0,o)}return __extends(t,e),t.ID="editor.action.inPlaceReplace.up",t=__decorate([__param(2,l.INullService)],t)}(d),p=function(e){function t(t,n,o){e.call(this,t,n,!1,o)}return __extends(t,e),t.ID="editor.action.inPlaceReplace.down",t=__decorate([__param(2,l.INullService)],t)}(d);i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(h,h.ID,n.localize(0,null),{context:i.ContextKey.EditorTextFocus,primary:c.KeyMod.CtrlCmd|c.KeyMod.Shift|c.KeyCode.US_COMMA})),i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(p,p.ID,n.localize(1,null),{context:i.ContextKey.EditorTextFocus,primary:c.KeyMod.CtrlCmd|c.KeyMod.Shift|c.KeyCode.US_DOT}))});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/linesOperations/common/linesOperations",["require","exports","vs/nls!vs/editor/contrib/linesOperations/common/linesOperations","vs/base/common/winjs.base","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","./copyLinesCommand","./deleteLinesCommand","./moveLinesCommand","vs/editor/common/editorCommon","vs/editor/common/commands/trimTrailingWhitespaceCommand","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){var p=function(e){function t(t,n,o){e.call(this,t,n),this.down=o}return __extends(t,e),t.prototype.run=function(){for(var e=[],t=this.editor.getSelections(),n=0;nl;l++){var r=new f(e[l],u[l]);t.currentOccurences[r.decorationId]=r}})},e.prototype.onEditorKeyDown=function(t){t.keyCode===e.TRIGGER_KEY_VALUE&&this.lastMouseEvent&&this.onEditorMouseMove(this.lastMouseEvent,t)},e.prototype.onEditorKeyUp=function(t){t.keyCode===e.TRIGGER_KEY_VALUE&&this.cleanUpActiveLinkDecoration()},e.prototype.onEditorMouseMove=function(e,t){var n=this;if(this.lastMouseEvent=e,this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();var o=this.getLinkOccurence(e.target.position);o&&this.editor.changeDecorations(function(e){o.activate(e),n.activeLinkDecorationId=o.decorationId})}else this.cleanUpActiveLinkDecoration()},e.prototype.cleanUpActiveLinkDecoration=function(){if(this.activeLinkDecorationId){var e=this.currentOccurences[this.activeLinkDecorationId];e&&this.editor.changeDecorations(function(t){e.deactivate(t)}),this.activeLinkDecorationId=null}},e.prototype.onEditorMouseUp=function(e){if(this.isEnabled(e)){var t=this.getLinkOccurence(e.target.position);t&&this.openLinkOccurence(t,e.event.altKey)}},e.prototype.openLinkOccurence=function(e,t){if(this.editorService){var o=e.link,i=o.url,a=i.indexOf("#"),u=-1,l=-1;if(a>=0){var c=i.substr(a+1),d=c.split(",");d.length>0&&(u=Number(d[0])),d.length>1&&(l=Number(d[1])),(u>=0||l>=0)&&(i=i.substr(0,a))}var p;try{p=new s.URL(i)}catch(f){return void this.messageService.show(h["default"].Warning,n.localize(2,null,i))}var m={resource:p};u>=0&&(m.options={selection:{startLineNumber:u,startColumn:l}}),this.editorService.openEditor(m,t).done(null,r.onUnexpectedError)}},e.prototype.getLinkOccurence=function(e){for(var t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},null,!0),n=0;nr;r++){var a="linked-editing-placeholder";o.push({range:n[r],options:{className:a}})}i.decorations=e.deltaDecorations([],o)}),this.editor.setSelections(t),this.listenersToRemove=[],this.listenersToRemove.push(this.editor.addListener(r.EventType.CursorPositionChanged,function(e){if(!i.isDisposed){var t=1+e.secondaryPositions.length;t!==i.decorations.length&&i.dispose()}}))}return e.prototype.onEnterOrEscape=function(){return this.isDisposed?void 0:(this.editor.setSelection(this.editor.getSelection()),this.dispose(),!0)},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._onDispose(),this.decorations=this.editor.deltaDecorations(this.decorations,[]),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[])},e}(),p=function(){function e(e){this._editor=e,this.serviceId=l.IProgressService}return e.prototype.showWhile=function(e,t){var n,o,i=this;return o=setTimeout(function(){n=i._addDecoration()},t||0),e.then(function(e){return clearTimeout(o),i._removeDecoration(n),e},function(e){throw clearTimeout(o),i._removeDecoration(n),e})},e.prototype._addDecoration=function(){var e=this._editor.getPosition(),t=this._editor.getModel().getWordAtPosition(e),n=this._editor.deltaDecorations([],[{range:{startLineNumber:e.lineNumber,startColumn:t.startColumn,endLineNumber:e.lineNumber,endColumn:t.endColumn},options:{inlineClassName:"word-level-progress"}}]);return n[0]},e.prototype._removeDecoration=function(e){e&&this._editor.changeDecorations(function(t){t.deltaDecorations([e],[])})},e.prototype.show=function(){for(var e=[],t=0;t1&&l.isLineToken(n,t.column-2,e.filter)?!0:void 0:!0})},t.prototype.run=function(e){var t=this,o=this.editor.getSelection(),i=this.editor.getModel().getWordAtPosition(o.getStartPosition());if(i){var s,a=o.startLineNumber,u=0,l=i.word.length;return s={startLineNumber:a,startColumn:i.startColumn,endLineNumber:a,endColumn:i.endColumn},o.isEmpty()||o.startLineNumber!==o.endLineNumber||(u=Math.max(0,o.startColumn-i.startColumn),l=Math.min(i.endColumn,o.endColumn)-i.startColumn),this._renameInputVisible.set(!0),this._renameInputField.getInput(s,i.word,u,l).then(function(e){return t._renameInputVisible.reset(),t._prepareRename(e).then(function(e){return e.finish().then(function(e){t.editor.focus(),e&&t.editor.setSelection(e)})},function(e){return"string"!=typeof e?n.TPromise.wrapError(e):void t._messageService.show(d["default"].Info,e)})},function(e){return t._renameInputVisible.reset(),t.editor.focus(),r.isPromiseCanceledError(e)?void 0:n.TPromise.wrapError(e)})}},t.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},t.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput()},t.prototype._prepareRename=function(e){var t=this,r=this.editor.getModel().getAssociatedResource(),s=(this.editor.getSelections(),v.RenameRegistry.ordered(this.editor.getModel())),a=!1,l=[],c=s.map(function(n){return function(){return a?void 0:n.rename(r,t.editor.getPosition(),e).then(function(e){if(e){if(!e.rejectReason)return a=!0,e;l.push(e.rejectReason)}else;})}}),d=u.createBulkEdit(this._eventService,this._editorService,this.editor);return i.sequence(c).then(function(e){var t=e[0];return l.length>0?n.TPromise.wrapError(l.join("\n")):t?(d.add(t.edits),d):n.TPromise.wrapError(o.localize(0,null))})},t.ID="editor.action.rename",t=__decorate([__param(2,h.IMessageService),__param(3,p.IKeybindingService),__param(4,f.IEventService),__param(5,m.IEditorService)],t)}(a.EditorAction);t.RenameAction=y;var _="renameInputVisible",b=s.CommonEditorRegistry.commandWeight(99);s.CommonEditorRegistry.registerEditorAction(new s.EditorActionDescriptor(y,y.ID,o.localize(1,null),{context:s.ContextKey.EditorTextFocus,primary:g.KeyCode.F2})),s.CommonEditorRegistry.registerEditorCommand("acceptRenameInput",b,{primary:g.KeyCode.Enter},!1,_,function(e,t,n){var o=t.getAction(y.ID);o.acceptRenameInput()}),s.CommonEditorRegistry.registerEditorCommand("cancelRenameInput",b,{primary:g.KeyCode.Escape},!1,_,function(e,t,n){var o=t.getAction(y.ID);o.cancelRenameInput()})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/smartSelect/common/jumpToBracket",["require","exports","vs/nls!vs/editor/contrib/smartSelect/common/jumpToBracket","vs/base/common/winjs.base","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/editor/common/editorCommon","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u){var l=function(e){function t(t,n,o){e.call(this,t,n,r.Behaviour.TextFocus)}return __extends(t,e),t.prototype.run=function(){return this.editor.trigger(this.id,s.Handler.JumpToBracket,{}),o.TPromise.as(!0)},t.ID="editor.action.jumpToBracket",t=__decorate([__param(2,a.INullService)],t)}(r.EditorAction);i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(l,l.ID,n.localize(0,null),{context:i.ContextKey.EditorTextFocus,primary:u.KeyMod.CtrlCmd|u.KeyMod.Shift|u.KeyCode.US_CLOSE_SQUARE_BRACKET}))});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/smartSelect/common/smartSelect",["require","exports","vs/nls!vs/editor/contrib/smartSelect/common/smartSelect","vs/base/common/arrays","vs/base/common/winjs.base","vs/editor/common/editorCommon","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","./tokenSelectionSupport","vs/editor/common/core/range","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d){var h=function(){function e(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()}return e}(),p=null,f=!1,m=function(e){function t(t,n,o,i){e.call(this,t,n,a.Behaviour.TextFocus|a.Behaviour.UpdateOnModelChange),this._tokenSelectionSupport=i.createInstance(u),this._forward=o}return __extends(t,e),t.prototype.run=function(){var e=this,t=this.editor.getSelection(),n=this.editor.getModel(),s=n.getMode().logicalSelectionSupport||this._tokenSelectionSupport;p&&p.editor!==this.editor&&(p=null);var a=i.TPromise.as(null);return p||(a=s.getRangesToPosition(n.getAssociatedResource(),t.getStartPosition()).then(function(t){if(!o.isFalsyOrEmpty(t)){var n;t.filter(function(t){var n=e.editor.getSelection(),o=new l.Range(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn); +return o.containsPosition(n.getStartPosition())&&o.containsPosition(n.getEndPosition())}).forEach(function(t){var o=t.range,i=new h(e.editor);i.selection=new l.Range(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn),n&&(i.next=n,n.previous=i),n=i});var i=new h(e.editor);i.next=n,n&&(n.previous=i),p=i;var s=e.editor.addListener(r.EventType.CursorPositionChanged,function(e){f||(p=null,s())})}})),a.then(function(){if(p&&(p=e._forward?p.next:p.previous)){f=!0;try{e.editor.setSelection(p.selection)}finally{f=!1}return!0}})},t}(a.EditorAction),g=function(e){function t(t,n,o){e.call(this,t,n,!0,o)}return __extends(t,e),t.ID="editor.action.smartSelect.grow",t=__decorate([__param(2,c.IInstantiationService)],t)}(m),v=function(e){function t(t,n,o){e.call(this,t,n,!1,o)}return __extends(t,e),t.ID="editor.action.smartSelect.shrink",t=__decorate([__param(2,c.IInstantiationService)],t)}(m);s.CommonEditorRegistry.registerEditorAction(new s.EditorActionDescriptor(g,g.ID,n.localize(0,null),{context:s.ContextKey.EditorTextFocus,primary:d.KeyMod.Shift|d.KeyMod.Alt|d.KeyCode.RightArrow,mac:{primary:d.KeyMod.CtrlCmd|d.KeyMod.WinCtrl|d.KeyMod.Shift|d.KeyCode.RightArrow}})),s.CommonEditorRegistry.registerEditorAction(new s.EditorActionDescriptor(v,v.ID,n.localize(1,null),{context:s.ContextKey.EditorTextFocus,primary:d.KeyMod.Shift|d.KeyMod.Alt|d.KeyCode.LeftArrow,mac:{primary:d.KeyMod.CtrlCmd|d.KeyMod.WinCtrl|d.KeyMod.Shift|d.KeyCode.LeftArrow}}))});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/snippet/common/snippet",["require","exports","vs/base/common/collections","vs/base/common/strings","vs/editor/common/editorCommon","vs/editor/common/editorCommonExtensions","vs/editor/common/core/range","vs/editor/common/core/selection","vs/editor/common/commands/replaceCommand","vs/platform/keybinding/common/keybindingService","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c){function d(e){return e.getContribution(m.ID)}!function(e){e[e.TextMateSnippet=0]="TextMateSnippet",e[e.EmmetSnippet=1]="EmmetSnippet"}(t.ExternalSnippetType||(t.ExternalSnippetType={}));var h=t.ExternalSnippetType,p=function(){function e(e){this.lines=[],this.placeHolders=[],this._lastGeneratedId=0,this.startPlaceHolderIndex=0,this.finishPlaceHolderIndex=-1,this.parseTemplate(e)}return e.prototype.parseTemplate=function(e){var t,o,i,r,a={},u=e.split("\n");for(t=0,o=u.length;o>t;t++){var l=this.parseLine(u[t],function(e){return n.contains(a,e)?a[e].value:""});for(i=0,r=l.placeHolders.length;r>i;i++){var c,d=l.placeHolders[i],h=new s.Range(t+1,d.startColumn,t+1,d.endColumn);n.contains(a,d.id)?c=a[d.id]:(c={id:d.id,value:d.value,occurences:[]},this.placeHolders.push(c),""===d.value&&(this.finishPlaceHolderIndex=this.placeHolders.length-1),a[d.id]=c),c.occurences.push(h)}this.lines.push(l.line)}if(this.placeHolders.length>this.startPlaceHolderIndex){var p=this.placeHolders[this.startPlaceHolderIndex];""===p.value&&""===p.id&&this.placeHolders.length>1&&this.startPlaceHolderIndex++}},e.prototype.parseLine=function(e,t){for(var n=[{placeHolderId:"",placeHolderText:""}],o=[],i=0,r=e.length,s=0;r>i;){var a=e.substr(i);if(/^{{/.test(a)){i+=2,n.push({placeHolderId:"",placeHolderText:""});var u=a.match(/^{{(\w+):/);Array.isArray(u)&&2===u.length&&(n[n.length-1].placeHolderId=u[1],i+=u[1].length+1)}else if(n.length>1&&/^}}/.test(a)){if(i+=2,0===n[n.length-1].placeHolderId.length&&(n[n.length-1].placeHolderId=n[n.length-1].placeHolderText,"_"===n[n.length-1].placeHolderId&&(n[n.length-1].placeHolderId="TAB_STOP_"+String(++this._lastGeneratedId),n[n.length-1].placeHolderText="",--s)),0===n[n.length-1].placeHolderText.length){var l=t(n[n.length-1].placeHolderId);n[n.length-1].placeHolderText=l,s+=l.length}o.push({id:n[n.length-1].placeHolderId,value:n[n.length-1].placeHolderText,startColumn:s+1-n[n.length-1].placeHolderText.length,endColumn:s+1}),n[n.length-2].placeHolderText+=n[n.length-1].placeHolderText,n.pop()}else/^\\./.test(a)&&("{"===a.charAt(1)||"}"===a.charAt(1)||"\\"===a.charAt(1)?++i:(n[n.length-1].placeHolderText+=e.charAt(i),++s,++i)),n[n.length-1].placeHolderText+=e.charAt(i),++s,++i}return o.sort(function(e,t){return e.startColumnt.startColumn?1:e.endColumnt.endColumn?1:0}),{line:n[0].placeHolderText,placeHolders:o}},e.convertExternalSnippet=function(e,t){for(var n=0,o="",i=0,r=e.length;r>i;){var s=e.substr(i);if(/^\$0/.test(s))i+=2,o+=t===h.EmmetSnippet?"{{_}}":"{{}}";else if(/^\$\{0\}/.test(s))i+=4,o+=t===h.EmmetSnippet?"{{_}}":"{{}}";else if(t===h.EmmetSnippet&&/^\|/.test(s))++i,o+="{{}}";else{var a=s.match(/^\$(\d+)/);Array.isArray(a)&&2===a.length?(i+=1+a[1].length,o+="{{"+a[1]+":}}"):(a=s.match(/^\$\{(\d+)\}/),Array.isArray(a)&&2===a.length?(i+=3+a[1].length,o+="{{"+a[1]+":}}"):/^\${/.test(s)?(i+=2,++n,o+="{{"):n>0&&/^}/.test(s)?(i+=1,--n,o+="}}"):/^\\./.test(s)?(i+=2,o+=s.substr(0,2)):(a=s.match(/^({|})/),Array.isArray(a)&&2===a.length?(i+=1,o+="\\"+a[1]):(i+=1,o+=s.charAt(0))))}}return o},e.prototype.extractLineIndentation=function(e,t){void 0===t&&(t=Number.MAX_VALUE);var n=o.getLeadingWhitespace(e);return n.length>t-1?n.substring(0,t-1):n},e.prototype.bind=function(e,t,n,o){var i,r,s,a,u,l,c,d,h=[],p=[],f=this.extractLineIndentation(e,n+1),m=[];for(u=0,l=this.lines.length;l>u;u++)i=this.lines[u],0===u?(m[u+1]=n,h[u]=i):(r=this.extractLineIndentation(i),s=i.substr(r.length),a=o.normalizeIndentation(f+r),m[u+1]=a.length-r.length,h[u]=a+s);var g,v,y;for(u=0,l=this.placeHolders.length;l>u;u++){for(g=this.placeHolders[u],y=[],c=0,d=g.occurences.length;d>c;c++)v=g.occurences[c],y.push({startLineNumber:v.startLineNumber+t,startColumn:v.startColumn+m[v.startLineNumber],endLineNumber:v.endLineNumber+t,endColumn:v.endColumn+m[v.endLineNumber]});p.push({id:g.id,value:g.value,occurences:y})}return{lines:h,placeHolders:p,startPlaceHolderIndex:this.startPlaceHolderIndex,finishPlaceHolderIndex:this.finishPlaceHolderIndex}},e}();t.CodeSnippet=p;var f=function(){function e(e,t,n,o,i){this.editor=e,this._onStop=i,this.model=e.getModel(),this.finishPlaceHolderIndex=t.finishPlaceHolderIndex,this.trackedPlaceHolders=[],this.placeHolderDecorations=[],this.currentPlaceHolderIndex=t.startPlaceHolderIndex,this.highlightDecorationId=null,this.isFinished=!1,this._initialAlternativeVersionId=o,this.initialize(t,n)}return e.prototype.dispose=function(){this.stopAll()},e.prototype.initialize=function(e,t){var n,o,r=this;for(n=0,o=e.placeHolders.length;o>n;n++){for(var a=e.placeHolders[n],u=[],l=0,c=a.occurences.length;c>l;l++)u.push(this.model.addTrackedRange(a.occurences[l],i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges));this.trackedPlaceHolders.push({ranges:u})}this.editor.changeDecorations(function(n){var o=[],i=t+e.lines.length-1,a=r.model.getLineMaxColumn(i);o.push({range:new s.Range(t,1,i,a),options:{className:"new-snippet",isWholeLine:!0}});for(var u=0,l=r.trackedPlaceHolders.length;l>u;u++){var c=u===r.finishPlaceHolderIndex?"finish-snippet-placeholder":"snippet-placeholder";o.push({range:r.model.getTrackedRange(r.trackedPlaceHolders[u].ranges[0]),options:{className:c}})}var d=n.deltaDecorations([],o);r.highlightDecorationId=d[0],r.placeHolderDecorations=d.slice(1)}),this.listenersToRemove=[],this.listenersToRemove.push(this.editor.addListener(i.EventType.ModelContentChanged,function(e){if(!r.isFinished){if(e.changeType===i.EventType.ModelContentChangedFlush)r.stopAll();else if(e.changeType===i.EventType.ModelContentChangedLineChanged){var t=e.lineNumber,n=r.model.getDecorationRange(r.highlightDecorationId);(tn.endLineNumber)&&r.stopAll()}else if(e.changeType===i.EventType.ModelContentChangedLinesInserted){var o=e.fromLineNumber,n=r.model.getDecorationRange(r.highlightDecorationId);(on.endLineNumber)&&r.stopAll()}else if(e.changeType===i.EventType.ModelContentChangedLinesDeleted){var s=e.fromLineNumber,a=e.toLineNumber,n=r.model.getDecorationRange(r.highlightDecorationId),u=an.endLineNumber;(u||l)&&r.stopAll()}var c=r.editor.getModel().getAlternativeVersionId();r._initialAlternativeVersionId===c&&r.stopAll()}})),this.listenersToRemove.push(this.editor.addListener(i.EventType.CursorPositionChanged,function(e){if(!r.isFinished){var t=r.model.getDecorationRange(r.highlightDecorationId),n=e.position.lineNumber;(nt.endLineNumber)&&r.stopAll()}})),this.listenersToRemove.push(this.editor.addListener(i.EventType.ModelChanged,function(){r.stopAll()}));var d=-1;this.listenersToRemove.push(this.editor.addListener(i.EventType.EditorBlur,function(){d=setTimeout(function(){r.stopAll()},100)})),this.listenersToRemove.push(this.editor.addListener(i.EventType.EditorFocus,function(){-1!==d&&(clearTimeout(d),d=-1)})),this.listenersToRemove.push(this.model.addListener(i.EventType.ModelDecorationsChanged,function(e){if(!r.isFinished){for(var t=r.model.getEditableRange(),n=null,o=!0,i=!0,s=0;(o||i)&&st;t++){var o=this.model.getTrackedRange(this.trackedPlaceHolders[this.currentPlaceHolderIndex].ranges[t]);e.push({selectionStartLineNumber:o.startLineNumber,selectionStartColumn:o.startColumn,positionLineNumber:o.endLineNumber,positionColumn:o.endColumn})}this.editor.setSelections(e)},e.prototype.stopAll=function(){var e=this;if(!this.isFinished){this._onStop(),this.isFinished=!0,this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[];for(var t=0;t0&&(this._inSnippetMode.set(!0),this._currentController=new f(this._editor,s.adaptedSnippet,s.typeRange.startLineNumber,r,function(){i._inSnippetMode.reset()}))},e.prototype._runForAllSelections=function(t,n,o){var i,r=this._editor.getSelections(),s=[];for(i=0;i0&&(u=u.setEndPosition(u.endLineNumber,u.endColumn+d))}var h=e._getAdaptedSnippet(t,a,i,u);return{typeRange:u,adaptedSnippet:h}},e._getSnippetCursorOnly=function(e){if(1!==e.placeHolders.length)return null;var t=e.placeHolders[0];if(""!==t.value||1!==t.occurences.length)return null;var n=t.occurences[0];return s.Range.isEmpty(n)?{lineNumber:n.startLineNumber,column:n.startColumn}:null},e.prototype.jumpToNextPlaceholder=function(){this._currentController&&this._currentController.onNextPlaceHolder()},e.prototype.jumpToPrevPlaceholder=function(){this._currentController&&this._currentController.onPrevPlaceHolder()},e.prototype.acceptSnippet=function(){this._currentController&&this._currentController.onAccept()},e.prototype.leaveSnippet=function(){this._currentController&&this._currentController.onEscape()},e.ID="editor.contrib.snippetController",e=__decorate([__param(1,l.IKeybindingService)],e)}();t.CONTEXT_SNIPPET_MODE="inSnippetMode";var g=r.CommonEditorRegistry.commandWeight(30);r.CommonEditorRegistry.registerEditorContribution(m),r.CommonEditorRegistry.registerEditorCommand("jumpToNextSnippetPlaceholder",g,{primary:c.KeyCode.Tab},!0,t.CONTEXT_SNIPPET_MODE,function(e,t,n){d(t).jumpToNextPlaceholder()}),r.CommonEditorRegistry.registerEditorCommand("jumpToPrevSnippetPlaceholder",g,{primary:c.KeyMod.Shift|c.KeyCode.Tab},!0,t.CONTEXT_SNIPPET_MODE,function(e,t,n){d(t).jumpToPrevPlaceholder()}),r.CommonEditorRegistry.registerEditorCommand("acceptSnippet",g,{primary:c.KeyCode.Enter},!0,t.CONTEXT_SNIPPET_MODE,function(e,t,n){d(t).acceptSnippet()}),r.CommonEditorRegistry.registerEditorCommand("leaveSnippet",g,{primary:c.KeyCode.Escape},!0,t.CONTEXT_SNIPPET_MODE,function(e,t,n){d(t).leaveSnippet()})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode",["require","exports","vs/nls!vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode","vs/base/common/winjs.base","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a){var u=function(e){function t(t,n,o){e.call(this,t,n,r.Behaviour.TextFocus)}return __extends(t,e),t.prototype.run=function(){return this.editor.getConfiguration().tabFocusMode?this.editor.updateOptions({tabFocusMode:!1}):this.editor.updateOptions({tabFocusMode:!0}),o.TPromise.as(!0)},t.ID="editor.action.toggleTabFocusMode",t=__decorate([__param(2,s.INullService)],t)}(r.EditorAction);i.CommonEditorRegistry.registerEditorAction(new i.EditorActionDescriptor(u,u.ID,n.localize(0,null),{context:i.ContextKey.EditorTextFocus,primary:a.KeyMod.CtrlCmd|a.KeyCode.KEY_M,mac:{primary:a.KeyMod.WinCtrl|a.KeyMod.Shift|a.KeyCode.KEY_M}}))});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/wordHighlighter/common/wordHighlighter",["require","exports","vs/editor/common/editorCommon","vs/editor/common/editorCommonExtensions","vs/editor/common/core/range","vs/platform/instantiation/common/instantiation","vs/base/common/async","vs/editor/common/modes/languageFeatureRegistry"],function(e,t,n,o,i,r,s,a){var u=new a["default"]("occurrencesSupport");Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=u;var l=function(){function e(e){var t=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.addListener(n.EventType.CursorPositionChanged,function(e){t._onPositionChanged(e)})),this.toUnhook.push(e.addListener(n.EventType.ModelChanged,function(e){t._stopAll(),t.model=t.editor.getModel()})),this.toUnhook.push(e.addListener("change",function(e){t._stopAll()})),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(window.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){var t=this;if("explicit"!==e.reason)return void this._stopAll();if(!u.has(this.model))return void this._stopAll();var n=this.editor.getSelection();if(n.startLineNumber!==n.endLineNumber)return void this._stopAll();var o=n.startLineNumber,r=n.startColumn,a=n.endColumn,l=this.model.getWordAtPosition({lineNumber:o,column:r});if(!l||l.startColumn>r||l.endColumnh;h++){var f=this.model.getDecorationRange(this._decorationIds[h]);f&&f.startLineNumber===o&&f.startColumn<=r&&f.endColumn>=a&&(d=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),d)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(window.clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var m=++this.workerRequestTokenId;this.workerRequestCompleted=!1;var g=!1,v=u.ordered(this.model),y=this.model.getAssociatedResource(),_=this.editor.getPosition();this.workerRequest=s.sequence(v.map(function(e){return function(){return g?void 0:e.findOccurrences(y,_).then(function(e){return Array.isArray(e)&&e.length>0?e:void 0})}})).then(function(e){return e[0]}),this.workerRequest.then(function(e){m===t.workerRequestTokenId&&(t.workerRequestCompleted=!0,t.workerRequestValue=e||[],t._beginRenderDecorations())}).done()}this._lastWordRange=c},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),n=this.lastCursorPositionChangeTime+250;t>=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=window.setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var e=[],t=0,o=this.workerRequestValue.length;o>t;t++){var i=this.workerRequestValue[t],r="wordHighlight",s="#A0A0A0";"write"===i.kind?r+="Strong":"text"===i.kind&&(r="selectionHighlight"),e.push({range:i.range,options:{stickiness:n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:r,overviewRuler:{color:s,darkColor:s,position:n.OverviewRulerLane.Center}}})}this._decorationIds=this.editor.deltaDecorations(this._decorationIds,e)},e.prototype.destroy=function(){for(this._stopAll();this.toUnhook.length>0;)this.toUnhook.pop()()},e}(),c=function(){function e(e,t){this.wordHighligher=new l(e)}return e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.wordHighligher.destroy()},e.ID="editor.contrib.wordHighlighter",e=__decorate([__param(1,r.INullService)],e)}();o.CommonEditorRegistry.registerEditorContribution(c)}),define("vs/platform/telemetry/common/abstractTelemetryService",["require","exports","vs/base/common/errors","vs/base/common/types","vs/base/common/platform","vs/base/common/timer","vs/base/common/objects","vs/platform/platform","vs/platform/telemetry/common/telemetry"],function(e,t,n,o,i,r,s,a,u){var l=function(){function e(){var e=this;this.serviceId=u.ITelemetryService,this.sessionId="SESSION_ID_NOT_SET",this.timeKeeper=new r.TimeKeeper,this.toUnbind=[],this.appenders=[],this.timeKeeperListener=function(t){return e.onTelemetryTimerEventStop(t)},this.timeKeeper.addListener(this.timeKeeperListener),this.toUnbind.push(n.errorHandler.addListener(this.onErrorEvent.bind(this))),this.errorBuffer=Object.create(null),this.enableGlobalErrorHandler(),this.errorFlushTimeout=-1}return e.prototype._safeStringify=function(e){return s.safeStringify(e)},e.prototype.onTelemetryTimerEventStop=function(e){for(var t=0;t-1&&this.appenders.splice(t,1)},e.prototype.setInstantiationService=function(e){this.instantiationService=e,this.instantiationService&&this.loadTelemetryAppendersFromRegistery()},e.prototype.handleEvent=function(e,t){throw new Error("Not implemented!")},e.ERROR_FLUSH_TIMEOUT=5e3,e}();t.AbstractTelemetryService=l,t.Extenstions={TelemetryAppenders:"telemetry.appenders"};var c=function(){function e(){this.telemetryAppenderDescriptors=[]}return e.prototype.registerTelemetryAppenderDescriptor=function(e){this.telemetryAppenderDescriptors.push(e)},e.prototype.getTelemetryAppenderDescriptors=function(){return this.telemetryAppenderDescriptors},e}();a.Registry.add(t.Extenstions.TelemetryAppenders,new c)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/telemetry/browser/mainTelemetryService",["require","exports","vs/base/common/platform","vs/base/common/objects","vs/base/common/uuid","vs/platform/telemetry/common/abstractTelemetryService","vs/base/browser/idleMonitor"],function(e,t,n,o,i,r,s){var a={enableTelemetry:!0,enableHardIdle:!0,enableSoftIdle:!0},u=function(e){function t(n){var r=this;this.config=o.withDefaults(n,a),e.call(this),this.sessionId=this.config.sessionID||i.generateUuid()+Date.now(),this.config.enableHardIdle&&(this.hardIdleMonitor=new s.IdleMonitor),this.config.enableSoftIdle&&(this.softIdleMonitor=new s.IdleMonitor(t.SOFT_IDLE_TIME),this.softIdleMonitor.addOneTimeActiveListener(function(){return r.onUserActive()}),this.softIdleMonitor.addOneTimeIdleListener(function(){return r.onUserIdle()})),this.eventCount=0,this.startTime=new Date}return __extends(t,e),t.prototype.onUserIdle=function(){var e=this;this.publicLog(t.IDLE_START_EVENT_NAME),this.softIdleMonitor.addOneTimeIdleListener(function(){return e.onUserIdle()})},t.prototype.onUserActive=function(){var e=this;this.publicLog(t.IDLE_STOP_EVENT_NAME),this.softIdleMonitor.addOneTimeActiveListener(function(){return e.onUserActive()})},t.prototype.dispose=function(){this.hardIdleMonitor&&this.hardIdleMonitor.dispose(),this.softIdleMonitor&&this.softIdleMonitor.dispose(),e.prototype.dispose.call(this)},t.prototype.handleEvent=function(e,t){if((!this.hardIdleMonitor||this.hardIdleMonitor.getStatus()!==s.UserStatus.Idle)&&this.config.enableTelemetry){this.eventCount++,t=this.addCommonProperties(t);for(var n=this.getAppenders(),o=0;oe;e++)n=o[e],n.options.overviewRuler.color&&i.push({startLineNumber:n.range.startLineNumber,endLineNumber:n.range.endLineNumber,color:n.options.overviewRuler.color,darkColor:n.options.overviewRuler.darkColor,position:n.options.overviewRuler.position});return i},t.prototype._createZonesFromCursors=function(){var e,n,o,r=[];for(e=0,n=this._cursorPositions.length;n>e;e++)o=this._cursorPositions[e],r.push({forceHeight:2,startLineNumber:o.lineNumber,endLineNumber:o.lineNumber,color:t._CURSOR_COLOR,darkColor:t._CURSOR_COLOR_DARK,position:i.OverviewRulerLane.Full});return r},t.prototype._render=function(e){var t=this,o=this._shouldForceRender;this._shouldForceRender=!1;var i=!1;if(this._shouldUpdateDecorations||this._shouldUpdateCursorPosition){this._shouldUpdateDecorations&&(this._shouldUpdateDecorations=!1,this._zonesFromDecorations=this._createZonesFromDecorations()),this._shouldUpdateCursorPosition&&(this._shouldUpdateCursorPosition=!1,this._hideCursor?this._zonesFromCursors=[]:this._zonesFromCursors=this._createZonesFromCursors());var r=[];r=r.concat(this._zonesFromCursors),r=r.concat(this._zonesFromDecorations),this._overviewRuler.setZones(r,!1),i=!0}(i||o)&&this._requestModificationFrame(function(){var e=t._overviewRuler.render(o);if(e&&n.OverviewRulerImpl.hasCanvas&&t._overviewRuler.getLanesCount()>0&&(t._zonesFromDecorations.length>0||t._zonesFromCursors.length>0)){var i=t._overviewRuler.getDomNode().getContext("2d");i.beginPath(),i.lineWidth=1,i.strokeStyle="rgba(197,197,197,0.8)",i.rect(0,0,t._overviewRuler.getWidth(),t._overviewRuler.getHeight()),i.stroke()}})},t.DECORATION_HEIGHT=6,t._CURSOR_COLOR="rgba(0, 0, 102, 0.8)",t._CURSOR_COLOR_DARK="rgba(152, 152, 152, 0.8)",t}(o.ViewPart);t.DecorationsOverviewRuler=s});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/browser/view/viewImpl",["require","exports","vs/nls!vs/editor/browser/view/viewImpl","vs/base/common/lifecycle","vs/base/browser/dom","vs/base/common/eventEmitter","vs/base/common/errors","vs/base/common/timer","vs/editor/common/viewModel/viewEventHandler","vs/editor/browser/controller/keyboardHandler","vs/editor/browser/controller/pointerHandler","vs/editor/browser/viewLayout/layoutProvider","vs/editor/browser/config/configuration","vs/editor/browser/view/viewEventDispatcher","vs/editor/browser/view/viewController","vs/editor/browser/view/viewOverlays","vs/editor/browser/viewParts/viewZones/viewZones","vs/editor/browser/viewParts/lines/viewLines","vs/editor/browser/viewParts/overviewRuler/overviewRuler","vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler","vs/editor/browser/viewParts/viewCursors/viewCursors","vs/editor/browser/viewParts/contentWidgets/contentWidgets","vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/browser/viewParts/selections/selections","vs/editor/browser/viewParts/decorations/decorations","vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/base/browser/browser","vs/editor/common/editorCommon","vs/editor/browser/editorBrowser","vs/editor/common/core/range"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E,S,T,L,x,M,I,N,R,k,O){var D=function(e){function t(t,n,o,i){var s=this;e.call(this),this._isDisposed=!1,this._editorId=t,this._renderAnimationFrame=null,this.outgoingEventBus=new r.EventEmitter;var a=new f.ViewController(o,n,this.outgoingEventBus);this.listenersToRemove=[],this.listenersToDispose=[],this.eventDispatcher=new p.ViewEventDispatcher(function(e){return s._renderOnce(e)}),this.linesContent=document.createElement("div"),this.linesContent.className=k.ClassNames.LINES_CONTENT+" monaco-editor-background",this.domNode=document.createElement("div"),h.Configuration.applyEditorStyling(this.domNode,n.editor.stylingInfo),this.overflowGuardContainer=document.createElement("div"),this.overflowGuardContainer.className=k.ClassNames.OVERFLOW_GUARD,this.layoutProvider=new d.LayoutProvider(n,o,this.eventDispatcher,this.linesContent,this.domNode,this.overflowGuardContainer),this.eventDispatcher.addEventHandler(this.layoutProvider),this.context=new A(t,n,o,this.eventDispatcher,function(e){return s.eventDispatcher.addEventHandler(e)},function(e){return s.eventDispatcher.removeEventHandler(e)}),this.createTextArea(i),this.createViewParts(),this.keyboardHandler=new l.KeyboardHandler(this.context,a,this.createKeyboardHandlerHelper()),this.pointerHandler=new c.PointerHandler(this.context,a,this.createPointerHandlerHelper()),this.hasFocus=!1,this.codeEditorHelper=null,this.eventDispatcher.addEventHandler(this),this.handleAccumulatedModelEventsTimeout=-1,this.accumulatedModelEvents=[],this.listenersToRemove.push(o.addBulkListener(function(e){s.accumulatedModelEvents=s.accumulatedModelEvents.concat(e),-1===s.handleAccumulatedModelEventsTimeout&&(s.handleAccumulatedModelEventsTimeout=setTimeout(function(){s.handleAccumulatedModelEventsTimeout=-1,s._flushAnyAccumulatedEvents()}))}))}return __extends(t,e),t.prototype._flushAnyAccumulatedEvents=function(){var e=this.accumulatedModelEvents;this.accumulatedModelEvents=[],e.length>0&&this.eventDispatcher.emitMany(e)},t.prototype.createTextArea=function(e){var t=this;this.textArea=document.createElement("textarea"),this._keybindingService=e.createScoped(this.textArea),this._editorTextFocusContextKey=this._keybindingService.createKey(R.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS,void 0),this.textArea.className=k.ClassNames.TEXTAREA,this.textArea.setAttribute("wrap","off"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",n.localize(0,null)),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-multiline","true"),i.StyleMutator.setTop(this.textArea,0),i.StyleMutator.setLeft(this.textArea,0),i.StyleMutator.setFontSize(this.textArea,this.context.configuration.editor.fontSize),i.StyleMutator.setLineHeight(this.textArea,this.context.configuration.editor.lineHeight),this.listenersToDispose.push(i.addDisposableListener(this.textArea,"focus",function(){return t._setHasFocus(!0)})),this.listenersToDispose.push(i.addDisposableListener(this.textArea,"blur",function(){return t._setHasFocus(!1)})),this.textAreaCover=document.createElement("div"),this.context.configuration.editor.glyphMargin?this.textAreaCover.className="monaco-editor-background "+k.ClassNames.GLYPH_MARGIN+" "+k.ClassNames.TEXTAREA_COVER:this.context.configuration.editor.lineNumbers?this.textAreaCover.className="monaco-editor-background "+k.ClassNames.LINE_NUMBERS+" "+k.ClassNames.TEXTAREA_COVER:this.textAreaCover.className="monaco-editor-background "+k.ClassNames.TEXTAREA_COVER,this.textAreaCover.style.position="absolute",i.StyleMutator.setWidth(this.textAreaCover,1),i.StyleMutator.setHeight(this.textAreaCover,1),i.StyleMutator.setTop(this.textAreaCover,0),i.StyleMutator.setLeft(this.textAreaCover,0)},t.prototype.createViewParts=function(){var e=this;this.viewParts=[],this.viewLines=new v.ViewLines(this.context,this.layoutProvider),this.viewZones=new g.ViewZones(this.context,this.layoutProvider),this.viewParts.push(this.viewZones);var t=new _.DecorationsOverviewRuler(this.context,this.layoutProvider.getScrollHeight(),function(t){return e.layoutProvider.getVerticalOffsetForLineNumber(t)});this.viewParts.push(t);var n=new I.ScrollDecorationViewPart(this.context);this.viewParts.push(n);var o=new m.ContentViewOverlays(this.context,this.layoutProvider);this.viewParts.push(o),o.addDynamicOverlay(new E.CurrentLineHighlightOverlay(this.context,this.layoutProvider)),o.addDynamicOverlay(new S.SelectionsOverlay(this.context)),o.addDynamicOverlay(new T.DecorationsOverlay(this.context));var i=new m.MarginViewOverlays(this.context,this.layoutProvider);this.viewParts.push(i),i.addDynamicOverlay(new L.GlyphMarginOverlay(this.context)),i.addDynamicOverlay(new x.LinesDecorationsOverlay(this.context)),i.addDynamicOverlay(new M.LineNumbersOverlay(this.context)),this.contentWidgets=new C.ViewContentWidgets(this.context,this.domNode),this.viewParts.push(this.contentWidgets);var r=new b.ViewCursors(this.context);if(this.viewParts.push(r),this.overlayWidgets=new w.ViewOverlayWidgets(this.context),this.viewParts.push(this.overlayWidgets),this.linesContentContainer=this.layoutProvider.getScrollbarContainerDomNode(),this.linesContentContainer.style.position="absolute",t){var s=this.layoutProvider.getOverviewRulerInsertData();s.parent.insertBefore(t.getDomNode(),s.insertBefore)}this.linesContent.appendChild(o.getDomNode()),this.linesContent.appendChild(this.viewZones.domNode),this.linesContent.appendChild(this.viewLines.domNode),this.linesContent.appendChild(this.contentWidgets.domNode),this.linesContent.appendChild(r.getDomNode()),this.overflowGuardContainer.appendChild(i.getDomNode()),this.overflowGuardContainer.appendChild(this.linesContentContainer),this.overflowGuardContainer.appendChild(n.getDomNode()),this.overflowGuardContainer.appendChild(this.overlayWidgets.domNode),this.overflowGuardContainer.appendChild(this.textArea),this.overflowGuardContainer.appendChild(this.textAreaCover),this.domNode.appendChild(this.overflowGuardContainer)},t.prototype._flushAccumulatedAndRenderNow=function(){this._flushAnyAccumulatedEvents(),this._renderNow()},t.prototype.createPointerHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode,linesContentDomNode:this.linesContent,focusTextArea:function(){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.focusTextArea: View is disposed");e.focus()},getScrollTop:function(){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getScrollTop: View is disposed");return e.layoutProvider.getScrollTop()},setScrollTop:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.setScrollTop: View is disposed");e.layoutProvider.setScrollTop(t)},getScrollLeft:function(){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getScrollLeft: View is disposed");return e.layoutProvider.getScrollLeft()},setScrollLeft:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.setScrollLeft: View is disposed");e.layoutProvider.setScrollLeft(t)},isAfterLines:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.isAfterLines: View is disposed");return e.layoutProvider.isAfterLines(t)},getLineNumberAtVerticalOffset:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getLineNumberAtVerticalOffset: View is disposed");return e.layoutProvider.getLineNumberAtVerticalOffset(t)},getVerticalOffsetForLineNumber:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getVerticalOffsetForLineNumber: View is disposed");return e.layoutProvider.getVerticalOffsetForLineNumber(t)},getWhitespaceAtVerticalOffset:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getWhitespaceAtVerticalOffset: View is disposed");return e.layoutProvider.getWhitespaceAtVerticalOffset(t)},shouldSuppressMouseDownOnViewZone:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.shouldSuppressMouseDownOnViewZone: View is disposed");return e.viewZones.shouldSuppressMouseDownOnViewZone(t)},getPositionFromDOMInfo:function(t,n){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getPositionFromDOMInfo: View is disposed");return e._flushAccumulatedAndRenderNow(),e.viewLines.getPositionFromDOMInfo(t,n)},visibleRangeForPosition2:function(t,n){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.visibleRangeForPosition2: View is disposed");e._flushAccumulatedAndRenderNow();var o=0,i=e.viewLines.visibleRangesForRange2(new O.Range(t,n,t,n),0,o,!1);return i?i[0]:null},getLineWidth:function(t){if(e._isDisposed)throw new Error("ViewImpl.pointerHandler.getLineWidth: View is disposed");return e._flushAccumulatedAndRenderNow(),e.viewLines.getLineWidth(t)}}},t.prototype.createKeyboardHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode,textArea:this.textArea,visibleRangeForPositionRelativeToEditor:function(t,n){if(e._isDisposed)throw new Error("ViewImpl.keyboardHandler.visibleRangeForPositionRelativeToEditor: View is disposed");e._flushAccumulatedAndRenderNow();var o=e.layoutProvider.getLinesViewportData(),i=0,r=e.viewLines.visibleRangesForRange2(new O.Range(t,n,t,n),o.visibleRangesDeltaTop,i,!1);return r?r[0]:null}}},t.prototype.onLayoutChanged=function(e){if(N.isChrome){this.overflowGuardContainer.clientWidth+"px"}return i.StyleMutator.setWidth(this.domNode,e.width),i.StyleMutator.setHeight(this.domNode,e.height),i.StyleMutator.setWidth(this.overflowGuardContainer,e.width),i.StyleMutator.setHeight(this.overflowGuardContainer,e.height),i.StyleMutator.setWidth(this.linesContent,1e6),i.StyleMutator.setHeight(this.linesContent,1e6),i.StyleMutator.setLeft(this.linesContentContainer,e.contentLeft),i.StyleMutator.setWidth(this.linesContentContainer,e.contentWidth),i.StyleMutator.setHeight(this.linesContentContainer,e.contentHeight),this.outgoingEventBus.emit(R.EventType.ViewLayoutChanged,e),!1},t.prototype.onConfigurationChanged=function(e){return e.stylingInfo&&h.Configuration.applyEditorStyling(this.domNode,this.context.configuration.editor.stylingInfo),i.StyleMutator.setFontSize(this.textArea,this.context.configuration.editor.fontSize),i.StyleMutator.setLineHeight(this.textArea,this.context.configuration.editor.lineHeight),!1},t.prototype.onScrollChanged=function(e){return this.outgoingEventBus.emit("scroll",{scrollTop:this.layoutProvider.getScrollTop(),scrollLeft:this.layoutProvider.getScrollLeft()}),!1},t.prototype.onScrollHeightChanged=function(t){return this.outgoingEventBus.emit("scrollSize",{scrollWidth:this.layoutProvider.getScrollWidth(),scrollHeight:this.layoutProvider.getScrollHeight()}),e.prototype.onScrollHeightChanged.call(this,t)},t.prototype.onViewFocusChanged=function(e){return i.toggleClass(this.domNode,"focused",e),e?(this._editorTextFocusContextKey.set(!0),this.outgoingEventBus.emit(R.EventType.ViewFocusGained,{})):(this._editorTextFocusContextKey.reset(),this.outgoingEventBus.emit(R.EventType.ViewFocusLost,{})),!1},t.prototype.dispose=function(){this._isDisposed=!0,-1!==this.handleAccumulatedModelEventsTimeout&&(clearTimeout(this.handleAccumulatedModelEventsTimeout),this.handleAccumulatedModelEventsTimeout=-1),null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this.accumulatedModelEvents=[],this.eventDispatcher.removeEventHandler(this),this.outgoingEventBus.dispose(),this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.listenersToDispose=o.disposeAll(this.listenersToDispose),this.keyboardHandler.dispose(),this.pointerHandler.dispose(),this.viewLines.dispose();for(var e=0,t=this.viewParts.length;t>e;e++)this.viewParts[e].dispose();this.viewParts=[],this.layoutProvider.dispose(),this._keybindingService.dispose()},t.prototype.getCodeEditorHelper=function(){var e=this;return this.codeEditorHelper||(this.codeEditorHelper={getScrollTop:function(){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getScrollTop: View is disposed");return e.layoutProvider.getScrollTop()},setScrollTop:function(t){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.setScrollTop: View is disposed");e.layoutProvider.setScrollTop(t)},getScrollLeft:function(){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getScrollLeft: View is disposed");return e.layoutProvider.getScrollLeft()},setScrollLeft:function(t){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.setScrollLeft: View is disposed");e.layoutProvider.setScrollLeft(t)},getScrollHeight:function(){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getScrollHeight: View is disposed");return e.layoutProvider.getScrollHeight()},getScrollWidth:function(){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getScrollWidth: View is disposed");return e.layoutProvider.getScrollWidth()},getVerticalOffsetForPosition:function(t,n){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getVerticalOffsetForPosition: View is disposed");var o=e.context.model.validateModelPosition({lineNumber:t,column:n}),i=e.context.model.convertModelPositionToViewPosition(o.lineNumber,o.column);return e.layoutProvider.getVerticalOffsetForLineNumber(i.lineNumber)},delegateVerticalScrollbarMouseDown:function(t){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.delegateVerticalScrollbarMouseDown: View is disposed");e.layoutProvider.delegateVerticalScrollbarMouseDown(t)},getOffsetForColumn:function(t,n){if(e._isDisposed)throw new Error("ViewImpl.codeEditorHelper.getOffsetForColumn: View is disposed");var o=e.context.model.validateModelPosition({lineNumber:t,column:n}),i=e.context.model.convertModelPositionToViewPosition(o.lineNumber,o.column);e._flushAccumulatedAndRenderNow();var r=e.viewLines.visibleRangesForRange2(new O.Range(i.lineNumber,i.column,i.lineNumber,i.column),0,0,!1);return r?r[0].left:-1}}),this.codeEditorHelper},t.prototype.getCenteredRangeInViewport=function(){if(this._isDisposed)throw new Error("ViewImpl.getCenteredRangeInViewport: View is disposed");var e=this.layoutProvider.getCenteredViewLineNumberInViewport(),t=this.context.model,n=new O.Range(e,1,e,t.getLineMaxColumn(e));return t.convertViewRangeToModelRange(n)},t.prototype.getInternalEventBus=function(){if(this._isDisposed)throw new Error("ViewImpl.getInternalEventBus: View is disposed");return this.outgoingEventBus},t.prototype.saveState=function(){if(this._isDisposed)throw new Error("ViewImpl.saveState: View is disposed");return this.layoutProvider.saveState()},t.prototype.restoreState=function(e){if(this._isDisposed)throw new Error("ViewImpl.restoreState: View is disposed");return this._flushAnyAccumulatedEvents(),this.layoutProvider.restoreState(e)},t.prototype.focus=function(){if(this._isDisposed)throw new Error("ViewImpl.focus: View is disposed");var e=i.saveParentsScrollTop(this.textArea);this.textArea.focus(),i.selectTextInInputElement(this.textArea),i.restoreParentsScrollTop(this.textArea,e),this._setHasFocus(!0)},t.prototype.isFocused=function(){if(this._isDisposed)throw new Error("ViewImpl.isFocused: View is disposed");return this.hasFocus},t.prototype.createOverviewRuler=function(e,t,n){var o=this;if(this._isDisposed)throw new Error("ViewImpl.createOverviewRuler: View is disposed");return new y.OverviewRuler(this.context,e,this.layoutProvider.getScrollHeight(),t,n,function(e){return o.layoutProvider.getVerticalOffsetForLineNumber(e)})},t.prototype.change=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.change: View is disposed");var n=!1;return this._renderOnce(function(){t._flushAnyAccumulatedEvents();var o={addZone:function(e){return n=!0,t.viewZones.addZone(e)},removeZone:function(e){n=t.viewZones.removeZone(e)||n},layoutZone:function(e){n=t.viewZones.layoutZone(e)||n}},i=null;try{i=e(o)}catch(r){s.onUnexpectedError(r)}return o.addZone=null,o.removeZone=null,n&&t.context.privateViewEventBus.emit(R.EventType.ViewZonesChanged,null),i}),n},t.prototype.getWhitespaces=function(){if(this._isDisposed)throw new Error("ViewImpl.getWhitespaces: View is disposed");return this.layoutProvider.getWhitespaces()},t.prototype.addContentWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.addContentWidget: View is disposed");this._renderOnce(function(){t.contentWidgets.addWidget(e.widget),t.layoutContentWidget(e)})},t.prototype.layoutContentWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.layoutContentWidget: View is disposed");this._renderOnce(function(){var n=e.position?e.position.position:null,o=e.position?e.position.preference:null;t.contentWidgets.setWidgetPosition(e.widget,n,o)})},t.prototype.removeContentWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.removeContentWidget: View is disposed");this._renderOnce(function(){t.contentWidgets.removeWidget(e.widget)})},t.prototype.addOverlayWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.addOverlayWidget: View is disposed");this._renderOnce(function(){t.overlayWidgets.addWidget(e.widget),t.layoutOverlayWidget(e)})},t.prototype.layoutOverlayWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.layoutOverlayWidget: View is disposed");this._renderOnce(function(){var n=e.position?e.position.preference:null;t.overlayWidgets.setWidgetPosition(e.widget,n)})},t.prototype.removeOverlayWidget=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl.removeOverlayWidget: View is disposed");this._renderOnce(function(){t.overlayWidgets.removeWidget(e.widget)})},t.prototype.render=function(){if(this._isDisposed)throw new Error("ViewImpl.render: View is disposed");this.layoutProvider.emitLayoutChangedEvent()},t.prototype.renderOnce=function(e){if(this._isDisposed)throw new Error("ViewImpl.renderOnce: View is disposed");return this._renderOnce(e)},t.prototype._renderOnce=function(e){var t=this;if(this._isDisposed)throw new Error("ViewImpl._renderOnce: View is disposed");return this.outgoingEventBus.deferredEmit(function(){try{var n=e?e():null}finally{t._scheduleRender()}return n})},t.prototype._scheduleRender=function(){if(this._isDisposed)throw new Error("ViewImpl._scheduleRender: View is disposed");null===this._renderAnimationFrame&&(this._renderAnimationFrame=i.runAtThisOrScheduleAtNextAnimationFrame(this._onRenderScheduled.bind(this),100))},t.prototype._onRenderScheduled=function(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()},t.prototype._renderNow=function(){if(this._isDisposed)throw new Error("ViewImpl._renderNow: View is disposed");this.actualRender()},t.prototype.createRenderingContext=function(e){var t=this,n=this.layoutProvider.getCurrentViewport(),o=e.visibleRangesDeltaTop,i=0,r={linesViewportData:e,scrollWidth:this.layoutProvider.getScrollWidth(),scrollHeight:this.layoutProvider.getScrollHeight(),visibleRange:e.visibleRange,bigNumbersDelta:e.bigNumbersDelta,viewportWidth:n.width,viewportHeight:n.height,viewportLeft:n.left,viewportTop:n.top,getScrolledTopFromAbsoluteTop:function(e){return t.layoutProvider.getScrolledTopFromAbsoluteTop(e)},getViewportVerticalOffsetForLineNumber:function(e){var n=t.layoutProvider.getVerticalOffsetForLineNumber(e),o=t.layoutProvider.getScrolledTopFromAbsoluteTop(n);return o},heightInPxForLine:function(e){return t.layoutProvider.heightInPxForLine(e)},getDecorationsInViewport:function(){return e.getDecorationsInViewport()},visibleRangesForRange:function(e,n){return t.viewLines.visibleRangesForRange2(e,o,i,n)},linesVisibleRangesForRange:function(e,n){return t.viewLines.linesVisibleRangesForRange(e,n)},visibleRangeForPosition:function(e){var n=t.viewLines.visibleRangesForRange2(new O.Range(e.lineNumber,e.column,e.lineNumber,e.column),o,i,!1);return n?n[0]:null},visibleRangeForPosition2:function(e,n){var r=t.viewLines.visibleRangesForRange2(new O.Range(e,n,e,n),o,i,!1);return r?r[0]:null},lineIsVisible:function(t){return e.visibleRange.startLineNumber<=t&&t<=e.visibleRange.endLineNumber}};return r},t.prototype.actualRender=function(){if(this._isDisposed)throw new Error("ViewImpl.actualRender: View is disposed");if(i.isInDOM(this.domNode)){var e,t,n=a.start(a.Topic.EDITOR,"View.render");try{for(e=0,t=this.viewParts.length;t>e;e++)this.viewParts[e].onBeforeForcedLayout();var o=this.viewLines.render(),r=this.createRenderingContext(o);for(e=0,t=this.viewParts.length;t>e;e++)this.viewParts[e].onReadAfterForcedLayout(r);for(e=0,t=this.viewParts.length;t>e;e++)this.viewParts[e].onWriteAfterForcedLayout()}catch(u){s.onUnexpectedError(u)}n.stop()}},t.prototype._setHasFocus=function(e){this.hasFocus!==e&&(this.hasFocus=e,this.context.privateViewEventBus.emit(R.EventType.ViewFocusChanged,this.hasFocus))},t}(u.ViewEventHandler);t.View=D;var A=function(){function e(e,t,n,o,i,r){this.editorId=e,this.configuration=t,this.model=n,this.privateViewEventBus=o,this.addEventHandler=i,this.removeEventHandler=r}return e}()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/browser/widget/codeEditorWidget",["require","exports","vs/editor/common/editorCommon","vs/base/browser/browser","vs/editor/browser/standalone/colorizer","vs/base/common/winjs.base","vs/base/common/objects","vs/base/common/errors","vs/base/browser/dom","vs/base/common/eventEmitter","vs/editor/browser/config/configuration","vs/editor/common/controller/cursor","vs/editor/browser/view/viewImpl","vs/editor/common/viewModel/characterHardWrappingLineMapper","vs/editor/common/viewModel/splitLinesCollection","vs/editor/common/viewModel/viewModel","vs/base/common/timer","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/base/common/actions","vs/editor/common/controller/cursorMoveHelper","vs/base/common/lifecycle","vs/editor/common/editorAction","vs/editor/common/services/codeEditorService","vs/editor/common/core/range","vs/editor/common/core/position","vs/editor/common/core/selection","vs/platform/instantiation/common/instantiation","vs/platform/telemetry/common/telemetry","vs/editor/common/core/editorState","vs/platform/keybinding/common/keybindingService","vs/css!./media/editor","vs/css!./media/tokens","vs/css!./media/default-theme"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E,S,T,L,x,M,I,N){var R=0,k=function(e){function t(t,o,i,r,s,l){var d=this;e.call(this),this.id=++R,this._codeEditorService=r;var h=g.start(g.Topic.EDITOR,"CodeEditor.ctor");this.domElement=t,this._lifetimeDispose=[],this._keybindingService=s.createScoped(t),this._editorIdContextKey=this._keybindingService.createKey("editorId",this.getId()),this._editorFocusContextKey=this._keybindingService.createKey(n.KEYBINDING_CONTEXT_EDITOR_FOCUS,void 0),this._editorTabMovesFocusKey=this._keybindingService.createKey(n.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS,!1),this._hasMultipleSelectionsKey=this._keybindingService.createKey(n.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS,!1),this._hasNonEmptySelectionKey=this._keybindingService.createKey(n.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION,!1),this._langIdKey=this._keybindingService.createKey(n.KEYBINDING_CONTEXT_EDITOR_LANGUAGE_ID,void 0),this._lifetimeListeners=[],this._decorationTypeKeysToIds={},o=o||{};var p=null;o.model&&(p=o.model,delete o.model),this._configuration=new c.Configuration(o,t,function(e){return d.model?d.model.guessIndentation(e):null}),this._configuration.editor.tabFocusMode&&this._editorTabMovesFocusKey.set(!0),this._lifetimeListeners.push(this._configuration.addListener(n.EventType.ConfigurationChanged,function(e){return d.emit(n.EventType.ConfigurationChanged,e)})),this.forcedWidgetFocusCount=0,this.focusTracker=u.trackFocus(this.domElement),this.focusTracker.addFocusListener(function(){0===d.forcedWidgetFocusCount&&(d._editorFocusContextKey.set(!0),d.emit(n.EventType.EditorFocus,{}))}),this.focusTracker.addBlurListener(function(){0===d.forcedWidgetFocusCount&&(d._editorFocusContextKey.reset(),d.emit(n.EventType.EditorBlur,{}))}),this._telemetryService=l,this._instantiationService=i.createChild({keybindingService:this._keybindingService}),this._attachModel(p),this.contentWidgets={},this.overlayWidgets={},this.contributions={};for(var f=[].concat(v.EditorBrowserRegistry.getEditorContributions()).concat(y.CommonEditorRegistry.getEditorContributions()),m=0,_=f.length;_>m;m++)try{var b=f[m].createInstance(this._instantiationService,this);this.contributions[b.getId()]=b}catch(C){console.error("Could not instantiate contribution "+b.getId()),a.onUnexpectedError(C)}h.stop(),this._codeEditorService.addCodeEditor(this)}return __extends(t,e),t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return n.EditorType.ICodeEditor},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){for(this._codeEditorService.removeCodeEditor(this),this._lifetimeDispose=C.disposeAll(this._lifetimeDispose);this._lifetimeListeners.length>0;)this._lifetimeListeners.pop()();var t;for(t in this.contributions)this.contributions.hasOwnProperty(t)&&this.contributions[t].dispose();this.contributions={},this.contentWidgets={},this.overlayWidgets={},this.focusTracker.dispose(),this._postDetachModelCleanup(this._detachModel()),this._configuration.dispose(),this._keybindingService.dispose(),this.emit(n.EventType.Disposed,{}),e.prototype.dispose.call(this)},t.prototype.captureState=function(){for(var e=[],t=0;tn;n++)t[n]=e[n].clone();return t},t.prototype.setSelection=function(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===o&&(o=!1);var i=L.Selection.isISelection(e),r=S.Range.isIRange(e);if(!i&&!r)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t,n,o);else if(r){var s={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(s,t,n,o)}},t.prototype._setSelectionImpl=function(e,t,n,o){if(this.cursor){var i=L.Selection.createSelection(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this.cursor.setSelections("api",[i]),t&&this.revealRange(i,n,o)}},t.prototype.revealLines=function(e,t){this._sendRevealRange({startLineNumber:e,startColumn:1,endLineNumber:t,endColumn:1},n.VerticalRevealType.Simple,!1)},t.prototype.revealLinesInCenter=function(e,t){this._sendRevealRange({startLineNumber:e,startColumn:1,endLineNumber:t,endColumn:1},n.VerticalRevealType.Center,!1)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t){this._sendRevealRange({startLineNumber:e,startColumn:1,endLineNumber:t,endColumn:1},n.VerticalRevealType.CenterIfOutsideViewport,!1)},t.prototype.revealRange=function(e,t,o){void 0===t&&(t=!1),void 0===o&&(o=!1),this._sendRevealRange(e,t?n.VerticalRevealType.Center:n.VerticalRevealType.Simple,o)},t.prototype.revealRangeInCenter=function(e){this._sendRevealRange(e,n.VerticalRevealType.Center,!0)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e){this._sendRevealRange(e,n.VerticalRevealType.CenterIfOutsideViewport,!0)},t.prototype.setSelections=function(e){if(this.cursor){if(!e||0===e.length)throw new Error("Invalid arguments");for(var t=0,n=e.length;n>t;t++)if(!L.Selection.isISelection(e[t]))throw new Error("Invalid arguments");this.cursor.setSelections("api",e)}},t.prototype.setScrollTop=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this._view.getCodeEditorHelper().setScrollTop(e)}},t.prototype.getScrollTop=function(){return this.hasView?this._view.getCodeEditorHelper().getScrollTop():-1},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.hasView&&this._view.getCodeEditorHelper().delegateVerticalScrollbarMouseDown(e)},t.prototype.setScrollLeft=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this._view.getCodeEditorHelper().setScrollLeft(e)}},t.prototype.getScrollLeft=function(){return this.hasView?this._view.getCodeEditorHelper().getScrollLeft():-1},t.prototype.getScrollWidth=function(){return this.hasView?this._view.getCodeEditorHelper().getScrollWidth():-1},t.prototype.getScrollHeight=function(){return this.hasView?this._view.getCodeEditorHelper().getScrollHeight():-1},t.prototype.saveViewState=function(){if(!this.cursor||!this.hasView)return null;var e=this.cursor.saveState(),t=this._view.saveState();return{cursorState:e,viewState:t}},t.prototype.restoreViewState=function(e){if(this.cursor&&this.hasView){var t=e;if(t&&t.cursorState&&t.viewState){var n=t,o=n.cursorState;Array.isArray(o)?this.cursor.restoreState(o):this.cursor.restoreState([o]),this._view.restoreState(n.viewState)}}},t.prototype.layout=function(e){this._configuration.observeReferenceElement(e)},t.prototype.onVisible=function(){},t.prototype.onHide=function(){},t.prototype.focus=function(){this.hasView&&this._view.focus()},t.prototype.beginForcedWidgetFocus=function(){this.forcedWidgetFocusCount++},t.prototype.endForcedWidgetFocus=function(){this.forcedWidgetFocusCount--},t.prototype.isFocused=function(){return this.hasView&&this._view.isFocused()},t.prototype.getContribution=function(e){return this.contributions[e]||null},t.prototype.addAction=function(e){var t=this._instantiationService.createInstance(w.DynamicEditorAction,e,this);this.contributions[t.getId()]=t},t.prototype.getActions=function(){var e,t=[];for(e in this.contributions)if(this.contributions.hasOwnProperty(e)){var n=this.contributions[e];_.isAction(n)&&t.push(n)}return t},t.prototype.getAction=function(e){var t=this.contributions[e];return t&&_.isAction(t)?t:null},t.prototype.trigger=function(e,t,n){var o=this.getAction(t);if(null!==o)o.enabled&&(this._telemetryService.publicLog("editorActionInvoked",{name:o.label}),r.TPromise.as(o.run()).done(null,a.onUnexpectedError));else{this._configuration.handlerDispatcher.trigger(e,t,n)}},t.prototype.executeCommand=function(e,t){return this._configuration.handlerDispatcher.trigger(e,n.Handler.ExecuteCommand,t)},t.prototype.executeEdits=function(e,t){var n=this;return this.cursor?this._configuration.editor.readOnly?!1:(this.model.pushEditOperations(this.cursor.getSelections(),t,function(){return n.cursor.getSelections()}),!0):!1},t.prototype.executeCommands=function(e,t){return this._configuration.handlerDispatcher.trigger(e,n.Handler.ExecuteCommands,t)},t.prototype.addContentWidget=function(e){var t={widget:e,position:e.getPosition()};this.contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id."),this.contentWidgets[e.getId()]=t,this.hasView&&this._view.addContentWidget(t)},t.prototype.layoutContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var n=this.contentWidgets[t];n.position=e.getPosition(),this.hasView&&this._view.layoutContentWidget(n)}},t.prototype.removeContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var n=this.contentWidgets[t];delete this.contentWidgets[t],this.hasView&&this._view.removeContentWidget(n)}},t.prototype.addOverlayWidget=function(e){var t={widget:e,position:e.getPosition()};this.overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this.overlayWidgets[e.getId()]=t,this.hasView&&this._view.addOverlayWidget(t)},t.prototype.layoutOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var n=this.overlayWidgets[t];n.position=e.getPosition(),this.hasView&&this._view.layoutOverlayWidget(n)}},t.prototype.removeOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var n=this.overlayWidgets[t];delete this.overlayWidgets[t],this.hasView&&this._view.removeOverlayWidget(n)}},t.prototype.changeDecorations=function(e){return this.model?this.model.changeDecorations(e,this.id):null},t.prototype.getLineDecorations=function(e){return this.model?this.model.getLineDecorations(e,this.id,this._configuration.editor.readOnly):null},t.prototype.deltaDecorations=function(e,t){return this.model?0===e.length&&0===t.length?e:this.model.deltaDecorations(e,t,this.id):[]},t.prototype.setDecorations=function(e,t){var n=this._codeEditorService.resolveDecorationType(e),o=this._decorationTypeKeysToIds[e]||[];this._decorationTypeKeysToIds[e]=this.deltaDecorations(o,t.map(function(e){var t;return e.hoverMessage?(t=s.clone(n),t.htmlMessage=e.hoverMessage):t=n,{range:e.range,options:t}}))},t.prototype.removeDecorations=function(e){this._decorationTypeKeysToIds.hasOwnProperty(e)&&(this.deltaDecorations(this._decorationTypeKeysToIds[e],[]),delete this._decorationTypeKeysToIds[e])},t.prototype.changeViewZones=function(e){if(this.hasView){var t=this._view.change(e);t&&this.emit(n.EventType.ViewZonesChanged)}},t.prototype.getWhitespaces=function(){return this.hasView?this._view.getWhitespaces():[]},t.prototype.addTypingListener=function(e,t){var n=this;return this.cursor?(this.cursor.addTypingListener(e,t),function(){n.cursor&&n.cursor.removeTypingListener(e,t)}):function(){}},t.prototype.getTopForLineNumber=function(e){return this.hasView?this._view.getCodeEditorHelper().getVerticalOffsetForPosition(e,1):-1},t.prototype.getTopForPosition=function(e,t){return this.hasView?this._view.getCodeEditorHelper().getVerticalOffsetForPosition(e,t):-1},t.prototype.getScrolledVisiblePosition=function(e){if(!this.hasView)return null;var t=this.model.validatePosition(e),n=this._view.getCodeEditorHelper(),o=this._configuration.editor.layoutInfo,i=n.getVerticalOffsetForPosition(t.lineNumber,t.column)-n.getScrollTop(),r=n.getOffsetForColumn(t.lineNumber,t.column)+o.glyphMarginWidth+o.lineNumbersWidth+o.decorationsWidth-n.getScrollLeft();return{top:i,left:r,height:this._configuration.editor.lineHeight}},t.prototype.getOffsetForColumn=function(e,t){return this.hasView?this._view.getCodeEditorHelper().getOffsetForColumn(e,t):-1},t.prototype.getLayoutInfo=function(){return this._configuration.editor.layoutInfo},t.prototype._attachModel=function(e){var t=this;if(this.model=e?e:null,this.listenersToRemove=[],this._view=null,this.viewModel=null,this.cursor=null,this.model){this._configuration.resetIndentationOptions(),this.domElement.setAttribute("data-mode-id",this.model.getMode().getId()),this._langIdKey.set(this.model.getMode().getId()),this.model.setStopLineTokenizationAfter(this._configuration.editor.stopLineTokenizationAfter),this._configuration.setIsDominatedByLongLines(this.model.isDominatedByLongLines(this._configuration.editor.longLineBoundary)),this.model.onBeforeAttached();var i=new p.CharacterHardWrappingLineMapperFactory(this._configuration.editor.wordWrapBreakBeforeCharacters,this._configuration.editor.wordWrapBreakAfterCharacters,this._configuration.editor.wordWrapBreakObtrusiveCharacters),r=new f.SplitLinesCollection(this.model,i,this._configuration.getIndentationOptions().tabSize,this._configuration.editor.wrappingInfo.wrappingColumn,this._configuration.editor.typicalFullwidthCharacterWidth/this._configuration.editor.typicalHalfwidthCharacterWidth,n.wrappingIndentFromString(this._configuration.editor.wrappingIndent));this.viewModel=new m.ViewModel(r,this.id,this._configuration,this.model,function(){return t._view?t._view.getCenteredRangeInViewport():null});var s={viewModel:this.viewModel,convertModelPositionToViewPosition:function(e,n){return t.viewModel.convertModelPositionToViewPosition(e,n)},convertModelRangeToViewRange:function(e){return t.viewModel.convertModelRangeToViewRange(e)},convertViewToModelPosition:function(e,n){return t.viewModel.convertViewPositionToModelPosition(e,n)},validateViewPosition:function(e,n,o){return t.viewModel.validateViewPosition(e,n,o)},validateViewRange:function(e,n,o,i,r){return t.viewModel.validateViewRange(e,n,o,i,r)}};this.cursor=new d.Cursor(this.id,this._configuration,this.model,s,o.enableEmptySelectionClipboard),this.viewModel.addEventSource(this.cursor),this._view=new h.View(this.id,this._configuration,this.viewModel,this._keybindingService),this.listenersToRemove.push(this._view.getInternalEventBus().addBulkListener(function(e){for(var o=0,i=e.length;i>o;o++){var r=e[o].getType(),s=e[o].getData();switch(r){case n.EventType.ViewFocusGained:t.emit(n.EventType.EditorTextFocus),t.emit(n.EventType.EditorFocus,{});break;case"scroll":t.emit("scroll",s);break;case"scrollSize":t.emit("scrollSize",s);break;case n.EventType.ViewFocusLost:t.emit(n.EventType.EditorTextBlur);break;case n.EventType.ContextMenu:t.emit(n.EventType.ContextMenu,s);break;case n.EventType.MouseDown:t.emit(n.EventType.MouseDown,s);break;case n.EventType.MouseUp:t.emit(n.EventType.MouseUp,s);break;case n.EventType.KeyUp:t.emit(n.EventType.KeyUp,s);break;case n.EventType.MouseMove:t.emit(n.EventType.MouseMove,s);break;case n.EventType.MouseLeave:t.emit(n.EventType.MouseLeave,s);break;case n.EventType.KeyDown:t.emit(n.EventType.KeyDown,s);break;case n.EventType.ViewLayoutChanged:t.emit(n.EventType.EditorLayout,s)}}})),this.listenersToRemove.push(this.model.addBulkListener(function(e){for(var o=0,i=e.length;i>o;o++){var r=e[o].getType(),s=e[o].getData();switch(r){case n.EventType.ModelDecorationsChanged:t.emit(n.EventType.ModelDecorationsChanged,s);break;case n.EventType.ModelModeChanged:t.domElement.setAttribute("data-mode-id",t.model.getMode().getId()),t._langIdKey.set(t.model.getMode().getId()),t.emit(n.EventType.ModelModeChanged,s);break;case n.EventType.ModelModeSupportChanged:t.emit(n.EventType.ModelModeSupportChanged,s);break;case n.EventType.ModelContentChanged:t.emit(n.EventType.ModelContentChanged,s),t.emit("change",{});break;case n.EventType.ModelDispose:t.setModel(null)}}}));var a=function(e){var t=[e.selection].concat(e.secondarySelections);return t.some(function(e){return!e.isEmpty()})};this.listenersToRemove.push(this.cursor.addBulkListener(function(e){for(var o=!1,i=!1,r=!1,s=!1,u=0,l=e.length;l>u;u++){var c=e[u].getType(),d=e[u].getData();switch(c){case n.EventType.CursorPositionChanged:var h=d;o=!0,i=h.secondaryPositions.length>0,t.emit(n.EventType.CursorPositionChanged,d);break;case n.EventType.CursorSelectionChanged:var p=d;o=!0,i=p.secondarySelections.length>0,r=!0,s=a(p),t.emit(n.EventType.CursorSelectionChanged,d)}}o&&(i?t._hasMultipleSelectionsKey.set(!0):t._hasMultipleSelectionsKey.reset()),r&&(s?t._hasNonEmptySelectionKey.set(!0):t._hasNonEmptySelectionKey.reset())})),this.domElement.appendChild(this._view.domNode),this._view.renderOnce(function(){var e;for(e in t.contentWidgets)t.contentWidgets.hasOwnProperty(e)&&t._view.addContentWidget(t.contentWidgets[e]);for(e in t.overlayWidgets)t.overlayWidgets.hasOwnProperty(e)&&t._view.addOverlayWidget(t.overlayWidgets[e]);t._view.render(),t.hasView=!0})}else this.hasView=!1},t.prototype._postDetachModelCleanup=function(e){e&&(this._decorationTypeKeysToIds={},e.removeAllDecorationsWithOwnerId(this.id))},t.prototype._detachModel=function(){this.model&&this.model.onBeforeDetached(),this.hasView=!1,this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=[],this.cursor&&(this.cursor.dispose(),this.cursor=null);var e=null;this._view&&(this._view.dispose(),e=this._view.domNode,this._view=null),this.viewModel&&(this.viewModel.dispose(),this.viewModel=null);var t=this.model;return this.model=null,e&&this.domElement.removeChild(e),this.domElement.removeAttribute("data-mode-id"),t},t=__decorate([__param(2,x.IInstantiationService),__param(3,E.ICodeEditorService),__param(4,N.IKeybindingService),__param(5,M.ITelemetryService)],t)}(l.EventEmitter);t.CodeEditorWidget=k;(function(){function e(e,t){this._id=e,this._position=t,this._domNode=document.createElement("div"),this._domNode.className=this._id.replace(/\./g,"-").replace(/[^a-z0-9\-]/,"")}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},e})();!function(e){e[e.EndOfLastEditOperation=0]="EndOfLastEditOperation"}(t.EditCursorState||(t.EditCursorState={}));var O=(t.EditCursorState,function(){function e(e,t){this._ops=e,this._editCursorState=t}return e.prototype.getEditOperations=function(e,t){if(0!==this._ops.length){this._ops.sort(function(e,t){return S.Range.compareRangesUsingStarts(e.range,t.range)});for(var n=[],o=this._ops[0],i=1;i0}function g(e){return e.originalEndLineNumber>0}function v(e,t,n,o,i,r){return{range:new p.Range(e,t,n,o),options:{className:i,isWholeLine:r}}}function y(){var e=document.createElement("div");return e.className="diagonal-fill",e}var _=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,o=t._zones.length;o>n;n++)e.removeZone(t._zones[n])}),this._zones=[],this._zonesMap={},this._decorations.length>0&&e.changeDecorations(function(e){e.deltaDecorations(t._decorations,[])}),this._decorations=[]},e.prototype.apply=function(e,t,n){var o,i,r=this;e.changeViewZones(function(e){for(o=0,i=r._zones.length;i>o;o++)e.removeZone(r._zones[o]);for(r._zones=[],r._zonesMap={},o=0,i=n.zones.length;i>o;o++){n.zones[o].suppressMouseDown=!0;var t=e.addZone(n.zones[o]);r._zones.push(t),r._zonesMap[String(t)]=!0}}),this._decorations=e.deltaDecorations(this._decorations,n.decorations),t.setZones(n.overviewZones)},e}(),b=0,C=function(e){function t(o,i,r){var a=this;e.call(this),this.id=++b,this._domElement=o,i=i||{},this._theme=i.theme||n.DefaultConfig.editor.theme,this._renderSideBySide=!0,"undefined"!=typeof i.renderSideBySide&&(this._renderSideBySide=i.renderSideBySide),this._ignoreTrimWhitespace=!0,"undefined"!=typeof i.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=i.ignoreTrimWhitespace),this._updateDecorationsRunner=new h.RunOnceScheduler(function(){return a._updateDecorations()},0),this._toDispose=[],this._toDispose.push(this._updateDecorationsRunner),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=t._getClassName(this._theme,this._renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=document.createElement("div"),this._overviewViewportDomElement.className="diffViewport",this._overviewViewportDomElement.style.position="absolute",this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.style.height="100%",this._overviewDomElement.appendChild(this._overviewViewportDomElement),this._toDispose.push(s.addDisposableListener(this._overviewDomElement,"mousedown",function(e){a.modifiedEditor.delegateVerticalScrollbarMouseDown(e)})),this._containerDomElement.appendChild(this._overviewDomElement),this._createLeftHandSide(),this._createRightHandSide(),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new _,this._modifiedEditorState=new _,this._isVisible=!0,this._isHandlingScrollEvent=!1,this._width=0,this._height=0,this._lineChanges=null,this._createLeftHandSideEditor(i,r),this._createRightHandSideEditor(i,r),i.automaticLayout&&(this._measureDomElementToken=window.setInterval(function(){return a._measureDomElement(!1)},100)),this._enableSplitViewResizing=!0,"undefined"!=typeof i.enableSplitViewResizing&&(this._enableSplitViewResizing=i.enableSplitViewResizing),this._renderSideBySide?this._setStrategy(new T(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new x(this._createDataSource(),this._enableSplitViewResizing))}return __extends(t,e),t._getClassName=function(e,t){var n="monaco-diff-editor monaco-editor-background ";return t&&(n+="side-by-side "),n+=e},t.prototype._recreateOverviewRulers=function(){this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalOverviewRuler=this.originalEditor.getView().createOverviewRuler("original diffOverviewRuler",4,Number.MAX_VALUE),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedOverviewRuler=this.modifiedEditor.getView().createOverviewRuler("modified diffOverviewRuler",4,Number.MAX_VALUE),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode()),this._layoutOverviewRulers()},t.prototype._createLeftHandSide=function(){this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode)},t.prototype._createRightHandSide=function(){this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode)},t.prototype._createLeftHandSideEditor=function(e,t){var n=this;this.originalEditor=t.createInstance(r.CodeEditorWidget,this._originalDomNode,this._adjustOptionsForLeftHandSide(e)),this._toDispose.push(this.originalEditor.addBulkListener2(function(e){return n._onOriginalEditorEvents(e)})),this._toDispose.push(this.addEmitter2(this.originalEditor,"leftHandSide"))},t.prototype._createRightHandSideEditor=function(e,t){var n=this;this.modifiedEditor=t.createInstance(r.CodeEditorWidget,this._modifiedDomNode,this._adjustOptionsForRightHandSide(e)),this._toDispose.push(this.modifiedEditor.addBulkListener2(function(e){return n._onModifiedEditorEvents(e)})),this._toDispose.push(this.addEmitter2(this.modifiedEditor,"rightHandSide"))},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){this._toDispose=o.disposeAll(this._toDispose),window.clearInterval(this._measureDomElementToken),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler.dispose(),this._modifiedOverviewRuler.dispose(),this.originalEditor.destroy(),this.modifiedEditor.destroy(),this._strategy.dispose(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return u.EditorType.IDiffEditor},t.prototype.getLineChanges=function(){return this._lineChanges},t.prototype.getOriginalEditor=function(){return this.originalEditor},t.prototype.getModifiedEditor=function(){return this.modifiedEditor},t.prototype.updateOptions=function(e){this._theme=e&&e.theme?e.theme:this._theme;var n=!1;"undefined"!=typeof e.renderSideBySide&&this._renderSideBySide!==e.renderSideBySide&&(this._renderSideBySide=e.renderSideBySide,n=!0),"undefined"!=typeof e.ignoreTrimWhitespace&&this._ignoreTrimWhitespace!==e.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=e.ignoreTrimWhitespace,this._beginUpdateDecorations()),this._containerDomElement.className=t._getClassName(this._theme,this._renderSideBySide),this.modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(e)),this.originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(e)),"undefined"!=typeof e.enableSplitViewResizing&&(this._enableSplitViewResizing=e.enableSplitViewResizing),this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing),n&&(this._renderSideBySide?this._setStrategy(new T(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new x(this._createDataSource(),this._enableSplitViewResizing)))},t.prototype.getValue=function(e){return void 0===e&&(e=null),this.modifiedEditor.getValue(e)},t.prototype.getModel=function(){return{original:this.originalEditor.getModel(),modified:this.modifiedEditor.getModel()}},t.prototype.setModel=function(e){if(e&&(!e.original||!e.modified))throw new Error(e.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this.originalEditor.setModel(e?e.original:null),this.modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this.originalEditor.setScrollTop(0),this.modifiedEditor.setScrollTop(0)),this._lineChanges=null,this._diffComputationToken++,e?(this._recreateOverviewRulers(),this._beginUpdateDecorations()):this._lineChanges=null,this._layoutOverviewViewport()},t.prototype.getDomNode=function(){return this._domElement},t.prototype.getVisibleColumnFromPosition=function(e){return this.modifiedEditor.getVisibleColumnFromPosition(e)},t.prototype.getPosition=function(){return this.modifiedEditor.getPosition()},t.prototype.setPosition=function(e,t,n,o){this.modifiedEditor.setPosition(e,t,n,o)},t.prototype.revealLine=function(e){this.modifiedEditor.revealLine(e)},t.prototype.revealLineInCenter=function(e){this.modifiedEditor.revealLineInCenter(e)},t.prototype.revealLineInCenterIfOutsideViewport=function(e){this.modifiedEditor.revealLineInCenterIfOutsideViewport(e)},t.prototype.revealPosition=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1),this.modifiedEditor.revealPosition(e,t,n)},t.prototype.revealPositionInCenter=function(e){this.modifiedEditor.revealPositionInCenter(e)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e){this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e)},t.prototype.getSelection=function(){return this.modifiedEditor.getSelection()},t.prototype.getSelections=function(){return this.modifiedEditor.getSelections()},t.prototype.setSelection=function(e,t,n,o){this.modifiedEditor.setSelection(e,t,n,o)},t.prototype.setSelections=function(e){this.modifiedEditor.setSelections(e)},t.prototype.revealLines=function(e,t){this.modifiedEditor.revealLines(e,t)},t.prototype.revealLinesInCenter=function(e,t){this.modifiedEditor.revealLinesInCenter(e,t)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t){this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t)},t.prototype.revealRange=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1),this.modifiedEditor.revealRange(e,t,n)},t.prototype.revealRangeInCenter=function(e){this.modifiedEditor.revealRangeInCenter(e)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e){this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e)},t.prototype.addAction=function(e){this.modifiedEditor.addAction(e)},t.prototype.getActions=function(){return this.modifiedEditor.getActions()},t.prototype.getAction=function(e){return this.modifiedEditor.getAction(e)},t.prototype.saveViewState=function(){var e=this.originalEditor.saveViewState(),t=this.modifiedEditor.saveViewState();return{original:e,modified:t}},t.prototype.restoreViewState=function(e){var t=e;if(t.original&&t.original){var n=t;this.originalEditor.restoreViewState(n.original),this.modifiedEditor.restoreViewState(n.modified)}},t.prototype.layout=function(e){this._measureDomElement(!1,e)},t.prototype.focus=function(){this.modifiedEditor.focus()},t.prototype.isFocused=function(){return this.originalEditor.isFocused()||this.modifiedEditor.isFocused()},t.prototype.onVisible=function(){this._isVisible=!0,this.originalEditor.onVisible(),this.modifiedEditor.onVisible(),this._beginUpdateDecorations()},t.prototype.onHide=function(){this._isVisible=!1,this.originalEditor.onHide(),this.modifiedEditor.onHide(),this._cleanViewZonesAndDecorations()},t.prototype.trigger=function(e,t,n){this.modifiedEditor.trigger(e,t,n)},t.prototype.changeDecorations=function(e){return this.modifiedEditor.changeDecorations(e)},t.prototype._measureDomElement=function(e,t){t=t||s.getDomNodePosition(this._containerDomElement),t.width<=0||(e||t.width!==this._width||t.height!==this._height)&&(this._width=t.width,this._height=t.height, +this._doLayout())},t.prototype._layoutOverviewRulers=function(){var e=t.ENTIRE_DIFF_OVERVIEW_WIDTH-2*t.ONE_OVERVIEW_WIDTH,n=this.modifiedEditor.getLayoutInfo();n&&(this._originalOverviewRuler.setLayout({top:0,width:t.ONE_OVERVIEW_WIDTH,right:e+t.ONE_OVERVIEW_WIDTH,height:this._height-n.horizontalScrollbarHeight}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:t.ONE_OVERVIEW_WIDTH,height:this._height-n.horizontalScrollbarHeight}))},t.prototype._recomputeIfNecessary=function(e){for(var n=this,o=!1,i=0;!o&&i0?i/n:0,s=Math.max(1,Math.floor(e.contentHeight*r)),a=Math.floor(t*r);return{height:s,top:a}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height},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,this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||en;){var i=Math.floor((n+o)/2),r=t(this._lineChanges[i]),s=o>=i+1?t(this._lineChanges[i+1]):Number.MAX_VALUE;r>e?o=i-1:e>=s?n=i+1:(n=i,o=i)}return this._lineChanges[n]},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),o=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return i>=s?o+Math.min(s,r):o+r-i+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),o=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-o;return r>=s?n+Math.min(s,i):n+i-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=__decorate([__param(2,f.IInstantiationService)],t)}(a.EventEmitter);t.DiffEditorWidget=C;var w=function(){function e(e){this._dataSource=e}return e.prototype.getEditorsDiffDecorations=function(e,t,n,o,i,r){o=o.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),n=n.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var s=this._getViewZones(e,n,o,i,r),a=this._getOriginalEditorDecorations(e,t,i,r),u=this._getModifiedEditorDecorations(e,t,i,r);return{original:{decorations:a.decorations,overviewZones:a.overviewZones,zones:s.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:s.modified}}},e.prototype._getViewZones=function(e,t,n,o,i){return null},e.prototype._getOriginalEditorDecorations=function(e,t,n,o){return null},e.prototype._getModifiedEditorDecorations=function(e,t,n,o){return null},e}(),E=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)},b=new E(this.modifiedForeignVZ),C=new E(this.originalForeignVZ);for(e=0,t=this.lineChanges.length;t>=e;e++){for(n=t>e?this.lineChanges[e]:null,null!==n?(c=n.originalStartLineNumber+(n.originalEndLineNumber>0?-1:0),d=n.modifiedStartLineNumber+(n.modifiedEndLineNumber>0?-1:0),l=n.originalEndLineNumber>0?n.originalEndLineNumber-n.originalStartLineNumber+1:0,u=n.modifiedEndLineNumber>0?n.modifiedEndLineNumber-n.modifiedStartLineNumber+1:0,h=Math.max(n.originalStartLineNumber,n.originalEndLineNumber),p=Math.max(n.modifiedStartLineNumber,n.modifiedEndLineNumber)):(c+=1e7+l,d+=1e7+u,h=c,p=d),o=[],i=[];b.current&&b.current.afterLineNumber<=p;)f=b.current.afterLineNumber<=d?c-d+b.current.afterLineNumber:h,o.push({afterLineNumber:f,heightInLines:b.current.heightInLines,domNode:null}),b.advance();for(;C.current&&C.current.afterLineNumber<=h;)f=C.current.afterLineNumber<=c?d-c+C.current.afterLineNumber:p,i.push({afterLineNumber:f,heightInLines:C.current.heightInLines,domNode:null}),C.advance();if(null!==n&&m(n)){var w=this._produceOriginalFromDiff(n,l,u);w&&o.push(w)}if(null!==n&&g(n)){var w=this._produceModifiedFromDiff(n,l,u);w&&i.push(w)}for(r=0,s=0,o=o.sort(v),i=i.sort(v);rL?(_(a.original,S),r++):L>x?(_(a.modified,T),s++):S.shouldNotShrink?(_(a.original,S),r++):T.shouldNotShrink?(_(a.modified,T),s++):S.heightInLines>=T.heightInLines?(S.heightInLines-=T.heightInLines,s++):(T.heightInLines-=S.heightInLines,r++)}for(;r2*t.MINIMUM_EDITOR_WIDTH?(io-t.MINIMUM_EDITOR_WIDTH&&(i=o-t.MINIMUM_EDITOR_WIDTH)):i=r,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(),n=t-C.ENTIRE_DIFF_OVERVIEW_WIDTH,o=this.layout((this._startSashPosition+(e.currentX-e.startX))/n);this._sashRatio=o/n,this._dataSource.relayoutEditors()},t.prototype._onSashDragEnd=function(){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,o,i){var r=new L(e,t,n);return r.getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,o){var i,r,s,a,l,c,d,h,p,f={decorations:[],overviewZones:[]},y=n.getModel();for(i=0,r=e.length;r>i;i++)if(l=e[i],g(l)&&(f.decorations.push(v(l.originalStartLineNumber,1,l.originalEndLineNumber,Number.MAX_VALUE,"line-delete",!0)),m(l)&&l.charChanges||f.decorations.push(v(l.originalStartLineNumber,1,l.originalEndLineNumber,Number.MAX_VALUE,"char-delete",!0)),f.overviewZones.push({startLineNumber:l.originalStartLineNumber,endLineNumber:l.originalEndLineNumber,color:"rgba(255, 0, 0, 0.4)",darkColor:"rgba(255, 0, 0, 0.4)",position:u.OverviewRulerLane.Full}),l.charChanges))for(s=0,a=l.charChanges.length;a>s;s++)if(c=l.charChanges[s],g(c))if(t)for(d=c.originalStartLineNumber;d<=c.originalEndLineNumber;d++)h=d===c.originalStartLineNumber?c.originalStartColumn:y.getLineFirstNonWhitespaceColumn(d),p=d===c.originalEndLineNumber?c.originalEndColumn:y.getLineLastNonWhitespaceColumn(d),f.decorations.push(v(d,h,d,p,"char-delete",!1));else f.decorations.push(v(c.originalStartLineNumber,c.originalStartColumn,c.originalEndLineNumber,c.originalEndColumn,"char-delete",!1));return f},t.prototype._getModifiedEditorDecorations=function(e,t,n,o){var i,r,s,a,l,c,d,h,p,f={decorations:[],overviewZones:[]},y=o.getModel();for(i=0,r=e.length;r>i;i++)if(l=e[i],m(l)&&(f.decorations.push(v(l.modifiedStartLineNumber,1,l.modifiedEndLineNumber,Number.MAX_VALUE,"line-insert",!0)),g(l)&&l.charChanges||f.decorations.push(v(l.modifiedStartLineNumber,1,l.modifiedEndLineNumber,Number.MAX_VALUE,"char-insert",!0)),f.overviewZones.push({startLineNumber:l.modifiedStartLineNumber,endLineNumber:l.modifiedEndLineNumber,color:"rgba(155, 185, 85, 0.4)",darkColor:"rgba(155, 185, 85, 0.4)",position:u.OverviewRulerLane.Full}),l.charChanges))for(s=0,a=l.charChanges.length;a>s;s++)if(c=l.charChanges[s],m(c))if(t)for(d=c.modifiedStartLineNumber;d<=c.modifiedEndLineNumber;d++)h=d===c.modifiedStartLineNumber?c.modifiedStartColumn:y.getLineFirstNonWhitespaceColumn(d),p=d===c.modifiedEndLineNumber?c.modifiedEndColumn:y.getLineLastNonWhitespaceColumn(d),f.decorations.push(v(d,h,d,p,"char-insert",!1));else f.decorations.push(v(c.modifiedStartLineNumber,c.modifiedStartColumn,c.modifiedEndLineNumber,c.modifiedEndColumn,"char-insert",!1));return f},t.MINIMUM_EDITOR_WIDTH=100,t}(w),L=function(e){function t(t,n,o){e.call(this,t,n,o)}return __extends(t,e),t.prototype._produceOriginalFromDiff=function(e,t,n){return n>t?{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}(S),x=function(e){function t(t,n){var o=this;e.call(this,t),this.decorationsLeft=40,this.toDispose=[],this.toDispose.push(t.getOriginalEditor().addListener2(u.EventType.EditorLayout,function(e){o.decorationsLeft!==e.decorationsLeft&&(o.decorationsLeft=e.decorationsLeft,t.relayoutEditors())}))}return __extends(t,e),t.prototype.dispose=function(){this.toDispose=o.disposeAll(this.toDispose)},t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,o,i){var r=new M(e,t,n,o,i);return r.getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,o){var i,r,s,a={decorations:[],overviewZones:[]};for(i=0,r=e.length;r>i;i++)s=e[i],g(s)&&a.overviewZones.push({startLineNumber:s.originalStartLineNumber,endLineNumber:s.originalEndLineNumber,color:"rgba(255, 0, 0, 0.4)",darkColor:"rgba(255, 0, 0, 0.4)",position:u.OverviewRulerLane.Full});return a},t.prototype._getModifiedEditorDecorations=function(e,t,n,o){var i,r,s,a,l,c,d,h,p,f={decorations:[],overviewZones:[]},g=o.getModel();for(i=0,r=e.length;r>i;i++)if(s=e[i],m(s))if(f.decorations.push(v(s.modifiedStartLineNumber,1,s.modifiedEndLineNumber,Number.MAX_VALUE,"line-insert",!0)),f.overviewZones.push({startLineNumber:s.modifiedStartLineNumber,endLineNumber:s.modifiedEndLineNumber,color:"rgba(155, 185, 85, 0.4)",darkColor:"rgba(155, 185, 85, 0.4)",position:u.OverviewRulerLane.Full}),s.charChanges){for(a=0,l=s.charChanges.length;l>a;a++)if(c=s.charChanges[a],m(c))if(t)for(d=c.modifiedStartLineNumber;d<=c.modifiedEndLineNumber;d++)h=d===c.modifiedStartLineNumber?c.modifiedStartColumn:g.getLineFirstNonWhitespaceColumn(d),p=d===c.modifiedEndLineNumber?c.modifiedEndColumn:g.getLineLastNonWhitespaceColumn(d),f.decorations.push(v(d,h,d,p,"char-insert",!1));else f.decorations.push(v(c.modifiedStartLineNumber,c.modifiedStartColumn,c.modifiedEndLineNumber,c.modifiedEndColumn,"char-insert",!1))}else f.decorations.push(v(s.modifiedStartLineNumber,1,s.modifiedEndLineNumber,Number.MAX_VALUE,"char-insert",!0));return f},t.prototype.layout=function(){return Math.max(5,this.decorationsLeft)},t}(w),M=function(e){function t(t,n,o,i,r){e.call(this,t,n,o),this.originalModel=i.getModel(),this.modifiedEditorConfiguration=r.getConfiguration(),this.modifiedEditorIndentation=r.getIndentationOptions()}return __extends(t,e),t.prototype._produceOriginalFromDiff=function(e,t,n){return{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n,domNode:document.createElement("div")}},t.prototype._produceModifiedFromDiff=function(e,t,n){var o,i,r,s,a=[];if(e.charChanges)for(o=0,i=e.charChanges.length;i>o;o++)r=e.charChanges[o],g(r)&&(s=v(r.originalStartLineNumber,r.originalStartColumn,r.originalEndLineNumber,r.originalEndColumn,"char-delete",!1),s.options.inlineClassName=s.options.className,a.push(s));var u,l=[];for(u=e.originalStartLineNumber;u<=e.originalEndLineNumber;u++)l=l.concat(this.renderOriginalLine(u-e.originalStartLineNumber,this.originalModel,this.modifiedEditorConfiguration,this.modifiedEditorIndentation,u,a));var c=document.createElement("div");return c.className="view-lines line-delete",c.innerHTML=l.join(""),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,domNode:c}},t.prototype.renderOriginalLine=function(e,t,n,o,i,r){var s,a,u=t.getLineContent(i);s={getTokens:function(){return[{startIndex:0,type:""}]},getFauxIndentLength:function(){return 0},getTextLength:function(){return u.length},equals:function(e){return!1},findIndexOfOffset:function(e){return 0}},a=d.createLineParts(i,u,s,r,n.renderWhitespace);var l=c.renderLine({lineContent:u,tabSize:o.tabSize,stopRenderingLineAfter:n.stopRenderingLineAfter,renderWhitespace:n.renderWhitespace,parts:a.getParts()}),h=[];return h.push('
'),h=h.concat(l.output),h.push("
"),h},t}(S)});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/browser/widget/embeddedCodeEditorWidget",["require","exports","vs/editor/browser/widget/codeEditorWidget","vs/editor/common/editorCommon","vs/base/common/objects","vs/platform/instantiation/common/instantiation","vs/platform/telemetry/common/telemetry","vs/platform/keybinding/common/keybindingService","vs/editor/common/services/codeEditorService"],function(e,t,n,o,i,r,s,a,u){var l=function(e){function t(t,n,i,r,s,a,u){var l=this;e.call(this,t,i.getRawConfiguration(),r,s,a,u),this._parentEditor=i,this._overwriteOptions=n,e.prototype.updateOptions.call(this,this._overwriteOptions),this._lifetimeListeners.push(i.addListener(o.EventType.ConfigurationChanged,function(e){return l._onParentConfigurationChanged(e)}))}return __extends(t,e),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){i.mixin(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=__decorate([__param(3,r.IInstantiationService),__param(4,u.ICodeEditorService),__param(5,a.IKeybindingService),__param(6,s.ITelemetryService)],t)}(n.CodeEditorWidget);t.EmbeddedCodeEditorWidget=l}),define("vs/platform/thread/common/thread",["require","exports","vs/platform/instantiation/common/instantiation"],function(e,t,n){t.IThreadService=n.createDecorator("threadService");var o=function(){function e(){}return e}();t.IRemotableCtorMap=o;var i=function(){function e(){}return e}();t.IRemotableCtorAffinityMap=i;var r=function(){function e(){}return e.getId=function(t){return t[e.PROP_NAME]||null},e.MainContext=function(t){return function(n){e._ensureUnique(t),e.Registry.MainContext[t]=n,n[e.PROP_NAME]=t}},e.PluginHostContext=function(t){return function(n){e._ensureUnique(t),e.Registry.PluginHostContext[t]=n,n[e.PROP_NAME]=t}},e.WorkerContext=function(t,n){return function(o){e._ensureUnique(t),e.Registry.WorkerContext[t]={ctor:o,affinity:n},o[e.PROP_NAME]=t}},e._ensureUnique=function(t){if(e.Registry.MainContext[t]||e.Registry.PluginHostContext[t]||e.Registry.WorkerContext[t])throw new Error("Duplicate Remotable identifier found")},e.PROP_NAME="$__REMOTABLE_ID",e.Registry={MainContext:Object.create(null),PluginHostContext:Object.create(null),WorkerContext:Object.create(null)},e}();t.Remotable=r,function(e){e[e.None=0]="None",e[e.Group1=1]="Group1",e[e.Group2=2]="Group2",e[e.Group3=3]="Group3",e[e.Group4=4]="Group4",e[e.Group5=5]="Group5",e[e.Group6=6]="Group6",e[e.Group7=7]="Group7",e[e.Group8=8]="Group8",e[e.Group9=9]="Group9",e[e.All=10]="All"}(t.ThreadAffinity||(t.ThreadAffinity={}));t.ThreadAffinity});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/common/services/modelServiceImpl",["require","exports","vs/editor/common/services/modeService","vs/editor/common/model/mirrorModel","vs/editor/common/core/range","vs/editor/common/editorCommon","vs/editor/common/services/resourceService","vs/editor/common/services/modelService","vs/platform/thread/common/thread","vs/base/common/eventSource","vs/base/common/uri","vs/base/common/network","vs/base/common/severity","vs/base/common/errors","vs/platform/telemetry/common/telemetry","vs/editor/common/model/model"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m){var g=function(){function e(e){this.model=e,this.toUnbind=null}return e.prototype.dispose=function(){this._decorationIds=this.model.deltaDecorations(this._decorationIds,[]),this.model=null,this.toUnbind&&(this.toUnbind(),this.toUnbind=null)},e.prototype.deltaMarkers=function(e){var t=this;e=e.slice(0,500);var n=e.map(function(e){return{range:t._createDecorationRange(e),options:t._createDecorationOption(e)}});this._decorationIds=this.model.deltaDecorations(this._decorationIds,n)},e.prototype._createDecorationRange=function(e){var t=this.model.validateRange(new i.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),n=new i.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);if(n.isEmpty()){var o=this.model.getWordAtPosition(n.getStartPosition());if(o)n.startColumn=o.startColumn,n.endColumn=o.endColumn;else{var r=this.model.getLineLastNonWhitespaceColumn(t.startLineNumber)||this.model.getLineMaxColumn(t.startLineNumber);1===r||(n.endColumn>=r?(n.endColumn=r,n.startColumn=r-1):n.endColumn+=1)}}else if(e.endColumn===Number.MAX_VALUE&&1===e.startColumn&&n.startLineNumber===n.endLineNumber){var s=this.model.getLineFirstNonWhitespaceColumn(e.startLineNumber);sn;n++){var a=t[n],u=a.getData();switch(a.getType()){case r.EventType.ModelDispose:return void this.removeModel(this._models[e].model);case r.EventType.ModelContentChanged:switch(u.changeType){case r.EventType.ModelContentChangedFlush:i.push(this._mixinProperties({type:a.getType()},u,["changeType","detail","versionId"]));break;case r.EventType.ModelContentChangedLinesDeleted:i.push(this._mixinProperties({type:a.getType()},u,["changeType","fromLineNumber","toLineNumber","versionId"]));break;case r.EventType.ModelContentChangedLinesInserted:i.push(this._mixinProperties({type:a.getType()},u,["changeType","fromLineNumber","toLineNumber","detail","versionId"]));break;case r.EventType.ModelContentChangedLineChanged:i.push(this._mixinProperties({type:a.getType()},u,["changeType","lineNumber","detail","versionId"]))}s=!0;break;case r.EventType.ModelPropertiesChanged:i.push(this._mixinProperties({type:a.getType()},u,["properties"]));break;case r.EventType.ModelModeChanged:var l=u;this._workerHelper.$onModelModeChanged(e,l.oldMode.getId(),l.newMode.getId()),this._onModelModeChanged.fire(this._models[e].model,l.oldMode.getId())}}i.length>0&&this._sendModelEvents(this._models[e].model.getAssociatedResource(),i)},e.prototype._mixinProperties=function(e,t,n){for(var o=0;o0)throw new Error("Received model events for missing models "+n.map(f.anonymize).join(" AND "))},e=__decorate([u.Remotable.WorkerContext("ModelServiceWorkerHelper",u.ThreadAffinity.All),__param(0,s.IResourceService),__param(1,n.IModeService)],e)}();t.ModelServiceWorkerHelper=y});var __decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/workerStatusReporter/browser/workerStatusReporter",["require","exports","vs/editor/browser/editorBrowser","vs/base/browser/browser","vs/base/common/lifecycle","vs/editor/browser/editorBrowserExtensions","vs/platform/thread/common/thread","vs/css!./workerStatusReporter"],function(e,t,n,o,i,r,s){function a(e,t,n){e.setAttribute(t,n)}(function(){function e(e,t){this._threadService=t,this._threadService.addStatusListener(this),this._editor=e,this._toDispose=[],this._domNodes=[],this._domNode=document.createElement("div"),this._domNode.className="monaco-worker-status",o.canUseTranslate3d&&(this._domNode.style.transform="translate3d(0px, 0px, 0px)"),this._editor.addOverlayWidget(this)}return e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._threadService.removeStatusListener(this),this._toDispose=i.disposeAll(this._toDispose)},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{preference:n.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER}},e.prototype._ensureDomNodes=function(e){for(var t=this._domNodes.length-1;t>=e;t++)this._domNode.removeChild(this._domNodes[t]),this._domNodes.splice(t,1);for(var t=this._domNodes.length;e>t;t++)this._domNodes[t]=document.createElement("div"),this._domNodes[t].className="worker",this._domNode.appendChild(this._domNodes[t])},e.prototype.onThreadServiceStatus=function(e){this._ensureDomNodes(e.workers.length);for(var t=0;t5?o="flooded":n>0&&(o="busy"),a(this._domNodes[t],"status",o)}},e.ID="editor.contrib.workerStatusReporter",e=__decorate([__param(1,s.IThreadService)],e)})()});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/platform/telemetry/common/abstractRemoteTelemetryService",["require","exports","vs/platform/telemetry/common/abstractTelemetryService","vs/platform/telemetry/common/telemetry","vs/platform/thread/common/thread"],function(e,t,n,o,i){var r=function(){function e(e){this._telemetryService=e}return e.prototype._handleRemoteTelemetryEvent=function(e,t){this._telemetryService.publicLog(e,t)},e.prototype.getTelemetryInfo=function(){return this._telemetryService.getTelemetryInfo()},e=__decorate([i.Remotable.MainContext("RemoteTelemetryServiceHelper"),__param(0,o.ITelemetryService)],e)}();t.RemoteTelemetryServiceHelper=r;var s=function(e){function t(t){e.call(this),this._proxy=t.getRemotable(r)}return __extends(t,e),t.prototype.getTelemetryInfo=function(){return this._proxy.getTelemetryInfo()},t.prototype.addTelemetryAppender=function(e){throw new Error("Telemetry appenders are not supported in this execution envirnoment")},t.prototype.handleEvent=function(e,t){this._proxy._handleRemoteTelemetryEvent(e,t)},t}(n.AbstractTelemetryService);t.AbstractRemoteTelemetryService=s}),define("vs/platform/thread/common/threadService",["require","exports","vs/platform/platform","vs/base/common/winjs.base","./thread"],function(e,t,n,o,i){function r(e,t){for(var n in e)if(e[n]===t)return n;throw new Error("Member not found in prototype")}function s(e){var n=e[t.THREAD_SERVICE_PROPERTY_NAME];if(!n)throw new Error("Objects that use thread attributes must be instantiated with the thread service");return n}function a(e,t){var n=r(e.prototype,t);e.prototype[n]=function(){for(var e=[],o=0;o=e&&t>=S;case 3:return S>=e&&n>=S;case 4:return S>=e&&o>=S;case 5:return S>=e&&i>=S;case 6:return S>=e&&r>=S;case 7:return S>=e&&s>=S;case 8:return S>=e&&a>=S;case 9:return S>=e&&u>=S;case 10:return S>=e&&l>=S;case 11:return S>=e&&l>=S||S===c||S===g;case 12:return S>=e&&l>=S||S>=c&&d>=S||S>=g&&v>=S;case 13:return S>=e&&l>=S||S>=c&&h>=S||S>=g&&y>=S;case 14:return S>=e&&l>=S||S>=c&&p>=S||S>=g&&_>=S;case 15:return S>=e&&l>=S||S>=c&&f>=S||S>=g&&b>=S;default:return S>=e&&l>=S||S>=c&&m>=S||S>=g&&C>=S}}}();var f=function(e){function t(t,n,o){e.call(this,t,n,o)}return __extends(t,e),t=__decorate([__param(1,a.IInstantiationService),__param(2,u.IThreadService)],t)}(p);t.FrankensteinMode=f}),define("vs/editor/common/modes/languageExtensionPoint",["require","exports","vs/nls!vs/editor/common/modes/languageExtensionPoint","vs/base/common/paths","vs/base/common/strings","vs/platform/thread/common/threadService","vs/platform/plugins/common/pluginsRegistry","vs/base/common/mime","vs/base/common/errors","vs/platform/instantiation/common/descriptors","vs/base/common/event"],function(e,t,n,o,i,r,s,a,u,l,c){function d(e){return"undefined"==typeof e?!0:Array.isArray(e)?e.every(function(e){return"string"==typeof e}):!1}function h(e,t){return e?"string"!=typeof e.id?(t.error(n.localize(9,null,"id")),!1):d(e.extensions)?d(e.filenames)?"undefined"!=typeof e.firstLine&&"string"!=typeof e.firstLine?(t.error(n.localize(12,null,"firstLine")),!1):"undefined"!=typeof e.configuration&&"string"!=typeof e.configuration?(t.error(n.localize(13,null,"configuration")),!1):d(e.aliases)?d(e.mimetypes)?!0:(t.error(n.localize(15,null,"mimetypes")),!1):(t.error(n.localize(14,null,"aliases")),!1):(t.error(n.localize(11,null,"filenames")),!1):(t.error(n.localize(10,null,"extensions")),!1):(t.error(n.localize(8,null,p.name)),!1)}var p=s.PluginsRegistry.registerExtensionPoint("languages",{description:n.localize(0,null),type:"array","default":[{id:"",aliases:[],extensions:[]}],items:{type:"object","default":{id:"",extensions:[]},properties:{id:{description:n.localize(1,null),type:"string"},aliases:{description:n.localize(2,null),type:"array",items:{type:"string"}},extensions:{description:n.localize(3,null),"default":[".foo"],type:"array",items:{type:"string"}},filenames:{description:n.localize(4,null),type:"array",items:{type:"string"}},mimetypes:{description:n.localize(5,null),type:"array",items:{type:"string"}},firstLine:{description:n.localize(6,null),type:"string"},configuration:{description:n.localize(7,null),type:"string"}}}}),f=Object.prototype.hasOwnProperty,m=function(){function e(){this._onDidAddMode=new c.Emitter,this.onDidAddMode=this._onDidAddMode.event,this.knownModeIds={},this.mime2LanguageId={},this.name2LanguageId={},this.id2Name={},this.name2Extensions={},this.compatModes={},this.lowerName2Id={},this.id2ConfigurationFiles={},this._isRegisteredWithThreadService=!1}return e.prototype.creationDone=function(){this._isRegisteredWithThreadService=!0},e.prototype.getId=function(){return"LanguageExtensionPointHandler"},e.prototype.getSerializableState=function(){return{knownModeIds:this.knownModeIds,mime2LanguageId:this.mime2LanguageId,name2LanguageId:this.name2LanguageId,name2Extensions:this.name2Extensions,id2Name:this.id2Name,compatModes:this.compatModes,lowerName2Id:this.lowerName2Id}},e.prototype.setData=function(e){this.knownModeIds=e.knownModeIds,this.mime2LanguageId=e.mime2LanguageId,this.name2LanguageId=e.name2LanguageId,this.name2Extensions=e.name2Extensions,this.id2Name=e.id2Name,this.compatModes=e.compatModes,this.lowerName2Id=e.lowerName2Id},e.prototype.registerCompatMode=function(e){this._onLanguage({id:e.id,extensions:e.extensions,filenames:e.filenames,firstLine:e.firstLine,aliases:e.aliases,mimetypes:e.mimetypes}),this.compatModes[e.id]=l.createAsyncDescriptor1(e.moduleId,e.ctorName)},e.prototype._handleLanguagesExtensionPointUsers=function(e){for(var t=[],i=0,r=e.length;r>i;i++){var s=e[i];if(Array.isArray(s.value))for(var a=0,u=s.value.length;u>a;a++)h(s.value[a],s.collector)&&t.push({id:s.value[a].id,extensions:s.value[a].extensions,filenames:s.value[a].filenames,firstLine:s.value[a].firstLine,aliases:s.value[a].aliases,mimetypes:s.value[a].mimetypes,configuration:s.value[a].configuration?o.join(s.description.extensionFolderPath,s.value[a].configuration):s.value[a].configuration});else s.collector.error(n.localize(16,null,p.name))}this._isRegisteredWithThreadService?this._onLanguagesEverywhere(t):this._onLanguagesImpl(t)},e.prototype._onLanguagesEverywhere=function(e){this._onLanguagesImpl(e)},e.prototype._onLanguagesImpl=function(e){for(var t=0;t> to now point to modeId <<"+t+">>"),this.mime2LanguageId[e]=t},e.prototype.registerLanguage=function(e){this._onLanguage(e)},e.prototype._onLanguage=function(e){this.knownModeIds[e.id]=!0;var t=null;if("undefined"!=typeof e.mimetypes&&Array.isArray(e.mimetypes))for(var n=0;n0){var o=e.firstLine;"^"!==o.charAt(0)&&(o="^"+o);try{var r=new RegExp(o);i.regExpLeadsToEndlessLoop(r)||a.registerTextMimeByFirstLine(r,t)}catch(s){u.onUnexpectedError(s)}}var l=null;if("undefined"!=typeof e.aliases&&Array.isArray(e.aliases))for(var n=0;n1){var a=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column-1,endLineNumber:t.lineNumber,endColumn:t.column});if(0!==a.trim().length)return r}}else{var u=i.toLowerCase();s=function(e){return o.startsWith(e.label.toLowerCase(),u)}}var l=e.getMode().getId(),c=[],d=f[l];if(d)for(var h in d)c=c.concat(d[h]);var m=p[l];return m&&(c=c.concat(m)),r.suggestions=s?c.filter(s):c,r}t.Extensions={EditorModes:"editor.modes"};var d=function(){function e(){this.workerParticipants=[]}return e.prototype.registerWorkerParticipant=function(e,t){this.workerParticipants.push({modeId:e,descriptor:t})},e.prototype._getAllWorkerParticipants=function(){return this.workerParticipants},e.prototype._setWorkerParticipants=function(e){this.workerParticipants=e},e.prototype.getWorkerParticipants=function(e){return this.workerParticipants.filter(function(t){return t.modeId===e}).map(function(e){return e.descriptor})},e.prototype.isRegisteredMode=function(e){return n.LanguageExtensions.isRegisteredMode(e)},e.prototype.getRegisteredModes=function(){return n.LanguageExtensions.getRegisteredModes()},e.prototype.getRegisteredMimetypes=function(){return n.LanguageExtensions.getRegisteredMimetypes()},e.prototype.getRegisteredLanguageNames=function(){return n.LanguageExtensions.getRegisteredLanguageNames()},e.prototype.getExtensions=function(e){return n.LanguageExtensions.getExtensions(e)},e.prototype.getMimeForMode=function(e){return n.LanguageExtensions.getMimeForMode(e)},e.prototype.getLanguageName=function(e){return n.LanguageExtensions.getLanguageName(e)},e.prototype.getModeIdForLanguageName=function(e){return n.LanguageExtensions.getModeIdForLanguageNameLowercase(e)},e.prototype.registerMode=function(e){n.LanguageExtensions.registerCompatMode(e)},e.prototype.getModeId=function(e){var t=n.LanguageExtensions.extractModeIds(e);return t.length>0?t[0]:null},e}(),h=new d;i.Registry.add(t.Extensions.EditorModes,h),t.registerMode=s,t.registerWorkerParticipant=a;var p=Object.create(null),f=Object.create(null);t.registerDefaultSnippets=u,t.registerSnippets=l,t.getSnippets=c}),define("vs/editor/common/modes/monarch/monarchDefinition",["require","exports","vs/base/common/winjs.base","vs/editor/common/modes/abstractMode"],function(e,t,n,o){function i(e){return{commentsConfiguration:{lineCommentTokens:[e.lineComment],blockCommentStartToken:e.blockCommentStart,blockCommentEndToken:e.blockCommentEnd}}}function r(e){return{brackets:e.standardBrackets,regexBrackets:e.enhancedBrackets,caseInsensitive:e.ignoreCase,embeddedElectricCharacters:e.outdentTriggers.split("")}}function s(e){return{wordDefinition:e.wordDefinition}}function a(e){return{autoClosingPairs:e.autoClosingPairs}}function u(e,t,n,o){var i=n.suggestSupport.snippets;return i&&0!==i.length?(o||(o=[]),o.push({currentWord:e.getWordUntilPosition(t).word,suggestions:i.slice(0)}),o):o}function l(e){return{brackets:e.standardBrackets}}function c(e,t,i){return i.suggestSupport.textualCompletions&&t instanceof o.AbstractMode?{triggerCharacters:i.suggestSupport.triggerCharacters,disableAutoTrigger:i.suggestSupport.disableAutoTrigger,excludeTokens:[],suggest:function(e,n){return t.suggest(e,n)},composeSuggest:function(t,o,r){return n.TPromise.as(u(e.getModel(t),o,i,r))}}:{triggerCharacters:i.suggestSupport.triggerCharacters,disableAutoTrigger:i.suggestSupport.disableAutoTrigger,excludeTokens:[],suggest:function(t,o){return n.TPromise.as(u(e.getModel(t),o,i,null))},composeSuggest:function(e,t,o){return n.TPromise.as(o)}}}t.createCommentsSupport=i,t.createBracketElectricCharacterContribution=r,t.createTokenTypeClassificationSupportContribution=s,t.createCharacterPairContribution=a,t.createOnEnterSupportOptions=l,t.createSuggestSupport=c});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/common/modes/monarch/monarchLexer",["require","exports","vs/editor/common/modes/abstractState","vs/editor/common/modes/lineStream","vs/editor/common/modes/modesRegistry","vs/editor/common/modes/supports","vs/editor/common/modes/monarch/monarchCommon","vs/editor/common/modes","vs/platform/platform"],function(e,t,n,o,i,r,s,a,u){function l(e,t){if(!t)return null;t=s.fixCase(e,t);for(var n=e.brackets,o=0;o=this.lexer.maxStack?s.throwError(this.lexer,"maximum tokenizer stack size reached: ["+this.stack[0]+","+this.stack[1]+",...,"+this.stack[this.stack.length-2]+","+this.stack[this.stack.length-1]+"]"):this.stack.unshift(i);else if("@pop"===c.next)this.stack.length<=1?s.throwError(this.lexer,"trying to pop an empty stack in rule: "+p.name):this.stack.shift();else if("@popall"===c.next)this.stack.length>1&&(this.stack=[this.stack[this.stack.length-1]]);else{var C=s.substituteMatches(this.lexer,c.next,u,r,i);"@"===C[0]&&(C=C.substr(1)),s.findRules(this.lexer,C)?this.stack.unshift(C):s.throwError(this.lexer,"trying to set a next state '"+C+"' that is undefined in rule: "+p.name)}c.log&&"string"==typeof c.log&&s.log(this.lexer,this.lexer.displayName+": "+s.substituteMatches(this.lexer,c.log,u,r,i))}if(null===_&&(s.throwError(this.lexer,"lexer rule has no well-defined action in rule: "+p.name),_=this.lexer.defaultToken),Array.isArray(_)){this.groupActions&&this.groupActions.length>0&&s.throwError(this.lexer,"groups cannot be nested: "+p.name),r.length!==_.length+1&&s.throwError(this.lexer,"matched number of groups does not match the number of actions in rule: "+p.name);for(var w=0,E=1;E0?t[0]:null},e.prototype.getModeIdByLanguageName=function(e){var t=s.LanguageExtensions.getModeIdsFromLanguageName(e);return t.length>0?t[0]:null},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var n=s.LanguageExtensions.getModeIdsFromFilenameOrFirstLine(e,t);return n.length>0?n[0]:null},e.prototype.getOrCreateMode=function(e){var t=this;return this._pluginService.onReady().then(function(){var n=t.getModeId(e);return t._getOrCreateMode(n||"plaintext")})},e.prototype.getOrCreateModeByLanguageName=function(e){var t=this;return this._pluginService.onReady().then(function(){var n=t.getModeIdByLanguageName(e);return t._getOrCreateMode(n||"plaintext")})},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var n=this;return this._pluginService.onReady().then(function(){var o=n.getModeIdByFilenameOrFirstLine(e,t);return n._getOrCreateMode(o||"plaintext")})},e.prototype._getOrCreateMode=function(e){var t=this;return this._instantiatedModes.hasOwnProperty(e)?n.TPromise.as(this._instantiatedModes[e]):this._activationPromises.hasOwnProperty(e)?this._activationPromises[e]:(this._activationPromises[e]=this._createMode(e).then(function(n){return t._instantiatedModes[e]=n,delete t._activationPromises[e],t._instantiatedModes[e]}),this._activationPromises[e])},e.prototype._createMode=function(e){var t=this,o="onLanguage:"+e,i=s.LanguageExtensions.getCompatMode(e);if(i)return this._pluginService.activateByEvent(o).then(function(n){var o=t._createModeDescriptor(e);return t._threadService.createInstance(i,o)}).then(function(n){return n.configSupport&&n.configSupport.configure(t.getConfigurationForMode(e)),n});var r=this._getOrCreateFrankensteinMode(e);return this._pluginService.activateByEvent(o).done(null,a.onUnexpectedError),n.TPromise.as(r)},e.prototype._getOrCreateFrankensteinMode=function(e){if(!this._frankensteinModes.hasOwnProperty(e)){var t=this._createModeDescriptor(e);this._frankensteinModes[e]=this._threadService.createInstance(r.FrankensteinMode,t)}return this._frankensteinModes[e]},e.prototype._createModeDescriptor=function(e){var t=p.Registry.as(f.Extensions.EditorModes),n=t.getWorkerParticipants(e);return{id:e,workerParticipants:n}},e.prototype.registerModeSupport=function(e,t,n){var o=this._getOrCreateMode(e).then(function(o){return o.registerSupport?o.registerSupport(t,n):(console.warn("Cannot register support "+t+" on mode "+e+" because it is not a Frankenstein mode"),g.empty)});return{dispose:function(){o.done(function(e){return e.dispose()},null)}}},e.prototype.doRegisterMonarchDefinition=function(e,t){var n=this;return g.combinedDispose(this.registerTokenizationSupport(e,function(e){return d.createTokenizationSupport(n,e,t)}),this.registerDeclarativeCommentsSupport(e,c.createCommentsSupport(t)),this.registerDeclarativeElectricCharacterSupport(e,c.createBracketElectricCharacterContribution(t)),this.registerDeclarativeTokenTypeClassificationSupport(e,c.createTokenTypeClassificationSupportContribution(t)),this.registerDeclarativeCharacterPairSupport(e,c.createCharacterPairContribution(t)),this.registerDeclarativeOnEnterSupport(e,c.createOnEnterSupportOptions(t)))},e.prototype.registerMonarchDefinition=function(e,t){var n=h.compile(l.clone(t));return this.doRegisterMonarchDefinition(e,n)},e.prototype.registerDeclarativeCharacterPairSupport=function(e,t){return this.registerModeSupport(e,"characterPairSupport",function(e){return new i.CharacterPairSupport(e,t)})},e.prototype.registerCodeLensSupport=function(e,t){return this.registerModeSupport(e,"codeLensSupport",function(e){return t})},e.prototype.registerDeclarativeCommentsSupport=function(e,t){return this.registerModeSupport(e,"commentsSupport",function(e){return new i.CommentsSupport(t)})},e.prototype.registerDeclarativeDeclarationSupport=function(e,t){return this.registerModeSupport(e,"declarationSupport",function(e){return new i.DeclarationSupport(e,t)})},e.prototype.registerDeclarativeElectricCharacterSupport=function(e,t){return this.registerModeSupport(e,"electricCharacterSupport",function(e){return new i.BracketElectricCharacterSupport(e,t)})},e.prototype.registerExtraInfoSupport=function(e,t){return this.registerModeSupport(e,"extraInfoSupport",function(e){return t})},e.prototype.registerFormattingSupport=function(e,t){return this.registerModeSupport(e,"formattingSupport",function(e){return t})},e.prototype.registerInplaceReplaceSupport=function(e,t){return this.registerModeSupport(e,"inplaceReplaceSupport",function(e){return t})},e.prototype.registerOccurrencesSupport=function(e,t){return this.registerModeSupport(e,"occurrencesSupport",function(e){return t})},e.prototype.registerOutlineSupport=function(e,t){return this.registerModeSupport(e,"outlineSupport",function(e){return t})},e.prototype.registerDeclarativeParameterHintsSupport=function(e,t){return this.registerModeSupport(e,"parameterHintsSupport",function(e){return new i.ParameterHintsSupport(e,t)})},e.prototype.registerQuickFixSupport=function(e,t){return this.registerModeSupport(e,"quickFixSupport",function(e){return t})},e.prototype.registerDeclarativeReferenceSupport=function(e,t){return this.registerModeSupport(e,"referenceSupport",function(e){return new i.ReferenceSupport(e,t)})},e.prototype.registerRenameSupport=function(e,t){return this.registerModeSupport(e,"renameSupport",function(e){return t})},e.prototype.registerDeclarativeSuggestSupport=function(e,t){return this.registerModeSupport(e,"suggestSupport",function(e){return new i.SuggestSupport(e,t)})},e.prototype.registerTokenizationSupport=function(e,t){return this.registerModeSupport(e,"tokenizationSupport",t)},e.prototype.registerDeclarativeTokenTypeClassificationSupport=function(e,t){return this.registerModeSupport(e,"tokenTypeClassificationSupport",function(e){return new i.TokenTypeClassificationSupport(t)})},e.prototype.registerDeclarativeOnEnterSupport=function(e,t){return this.registerModeSupport(e,"onEnterSupport",function(n){return new m.OnEnterSupport(e,t)})},e}();t.ModeServiceImpl=v;var y=function(e){function t(t,n,o){e.call(this,t,n),this._modelService=o,this._hasInitialized=!1}return __extends(t,e),t.prototype._getModeServiceWorkerHelper=function(){var e=this._threadService.getRemotable(_);if(!this._hasInitialized){this._hasInitialized=!0;var t=p.Registry.as(f.Extensions.EditorModes);e.initialize(t._getAllWorkerParticipants())}return e},t.prototype.configureModeById=function(t,n){this._getModeServiceWorkerHelper().configureModeById(t,n),e.prototype.configureModeById.call(this,t,n)},t.prototype._createMode=function(t){return this._getModeServiceWorkerHelper().instantiateMode(t),e.prototype._createMode.call(this,t)},t.prototype.registerModeSupport=function(t,n,o){return this._getModeServiceWorkerHelper().instantiateMode(t),e.prototype.registerModeSupport.call(this,t,n,o)},t.prototype.registerMonarchDefinition=function(t,n){var o=this;this._getModeServiceWorkerHelper().registerMonarchDefinition(t,n);var r=h.compile(l.clone(n));return g.combinedDispose(e.prototype.doRegisterMonarchDefinition.call(this,t,r),this.registerModeSupport(t,"suggestSupport",function(e){return new i.ComposableSuggestSupport(e,c.createSuggestSupport(o._modelService,e,r))}))},t}(v);t.MainThreadModeServiceImpl=y;var _=function(){function e(e){this._modeService=e}return e.prototype.initialize=function(e){var t=p.Registry.as(f.Extensions.EditorModes);t._setWorkerParticipants(e)},e.prototype.instantiateMode=function(e){this._modeService.getOrCreateMode(e).done(null,a.onUnexpectedError)},e.prototype.configureModeById=function(e,t){this._modeService.configureMode(e,t)},e.prototype.registerMonarchDefinition=function(e,t){this._modeService.registerMonarchDefinition(e,t)},e=__decorate([u.Remotable.WorkerContext("ModeServiceWorkerHelper",u.ThreadAffinity.All),__param(0,o.IModeService)],e)}();t.ModeServiceWorkerHelper=_});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/suggest/browser/suggestModel",["require","exports","vs/base/common/winjs.base","vs/base/common/async","vs/base/common/eventEmitter","vs/base/common/errors","vs/base/common/strings","vs/base/common/timer","vs/editor/common/modes/modesRegistry","vs/editor/common/editorCommon","vs/editor/common/modes/modesFilters","vs/editor/contrib/snippet/common/snippet","vs/base/common/lifecycle","../common/suggest"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p){var f;!function(e){e[e.NOT_ACTIVE=0]="NOT_ACTIVE",e[e.MANUAL_TRIGGER=1]="MANUAL_TRIGGER",e[e.AUTO_TRIGGER=2]="AUTO_TRIGGER"}(f||(f={}));var m=function(){function e(t,n,o){this.id="_completion_item_#"+e._idPool++,this.support=t,this.suggestion=n,this.container=o}return e.prototype.resolveDetails=function(e,t){var o=this;return this._resolveDetails||(this.support&&"function"==typeof this.support.getSuggestionDetails?this._resolveDetails=this.support.getSuggestionDetails(e,t,this.suggestion).then(function(e){return o.suggestion=e,o},function(e){return r.isPromiseCanceledError(e)?o._resolveDetails=void 0:r.onUnexpectedError(e),o}):this._resolveDetails=n.TPromise.as(this)),this._resolveDetails},e._idPool=0,e}();t.CompletionItem=m;var g=function(){function e(){this._items=[],this.size=0,this.incomplete=!1}return e.prototype.insertSuggestions=function(e,t,n){if(t){for(var o=[],i=0;i0?!1:this.shouldAuto?!0:!1},e.prototype.isValidForNewContext=function(e){return this.lineNumber!==e.lineNumber?!1:e.columne.lineContentBefore.length&&0===this.wordBefore.length?!1:this.auto&&0===e.wordBefore.length?!1:!0:!1},e}(),y=function(e){function t(t,n){var o=this;e.call(this),this.editor=t,this.onAccept=n,this.toDispose=[],this.toDispose.push(this.editor.addListener2(l.EventType.ConfigurationChanged,function(){return o.onEditorConfigurationChange()})),this.onEditorConfigurationChange(),this.triggerAutoSuggestPromise=null,this.state=f.NOT_ACTIVE,this.requestPromise=null,this.raw=null,this.requestContext=null,this.toDispose.push(this.editor.addListener2(l.EventType.CursorSelectionChanged,function(e){return e.selection.isEmpty()?"keyboard"!==e.source||""!==e.reason?void o.cancel():void o.onCursorChange():void o.cancel()})),this.toDispose.push(this.editor.addListener2(l.EventType.ModelChanged,function(e){o.cancel()}))}return __extends(t,e),t.prototype.cancel=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var n=this.state!==f.NOT_ACTIVE;return this.triggerAutoSuggestPromise&&(this.triggerAutoSuggestPromise.cancel(),this.triggerAutoSuggestPromise=null),this.requestPromise&&(this.requestPromise.cancel(),this.requestPromise=null),this.state=f.NOT_ACTIVE,this.raw=null,this.requestContext=null,e||this.emit("cancel",{retrigger:t}),n},t.prototype.getRequestPosition=function(){return this.requestContext?{lineNumber:this.requestContext.lineNumber,column:this.requestContext.column}:null},t.prototype.isAutoSuggest=function(){return this.state===f.AUTO_TRIGGER},t.prototype.onCursorChange=function(){var e=this;if(p.SuggestRegistry.has(this.editor.getModel())){var t=this.state===f.NOT_ACTIVE;if(!t||this.editor.getConfiguration().quickSuggestions){var o=new v(this.editor,!1);t?(this.cancel(),o.isValidForAutoSuggest()&&(this.triggerAutoSuggestPromise=n.TPromise.timeout(this.autoSuggestDelay),this.triggerAutoSuggestPromise.then(function(){e.triggerAutoSuggestPromise=null,e.trigger(!0)}))):this.raw&&this.raw.incomplete?this.trigger(this.state===f.AUTO_TRIGGER,void 0,!0):this.onNewContext(o)}}},t.prototype.trigger=function(e,t,i,s){var l=this;void 0===i&&(i=!1);var c=this.editor.getModel(),d=!!t;if(s||(s=p.SuggestRegistry.orderedGroups(c)),0!==s.length){var h=new v(this.editor,e);if(h.isInEditableRange){var m=a.start(a.Topic.EDITOR,"suggest/TRIGGER");this.cancel(!1,i),this.state=e||d?f.AUTO_TRIGGER:f.MANUAL_TRIGGER,this.emit("loading",{auto:this.isAutoSuggest(),characterTriggered:d,retrigger:i}),this.requestContext=h;var y=a.start(a.Topic.EDITOR,"suggest/REQUEST"),_=this.editor.getPosition(),b=c.getAssociatedResource(),C=new g,w=0,E=s.map(function(e,o){return function(){if(0===C.size){var o=e.map(function(e){return e.suggest(b,_,t).then(function(t){C.insertSuggestions(w,t,e)&&w++},function(e){r.onUnexpectedError(e)})});return n.TPromise.join(o)}}});this.requestPromise=o.sequence(E).then(function(){}),this.requestPromise.then(function(){if(y.stop(),l.requestPromise=null,l.state!==f.NOT_ACTIVE){var t=u.getSnippets(c,_);t&&t.suggestions&&t.suggestions.length>0&&C.insertSuggestions(w,[t],void 0),C.size>0?(l.raw=C,l.onNewContext(new v(l.editor,e))):l.emit("empty",{auto:l.isAutoSuggest()})}},function(){y.stop()}).done(function(){return m.stop()})}}},t.prototype.onNewContext=function(e){if(this.requestContext&&!this.requestContext.isValidForNewContext(e))return void(this.requestContext.isValidForRetrigger(e)?this.trigger(this.state===f.AUTO_TRIGGER,void 0,!0):this.cancel());if(this.raw){var t=this.raw.select(e);t.length>0?this.emit("suggest",{suggestions:{completionItems:t,currentWord:e.wordBefore},auto:this.isAutoSuggest()}):this.emit("empty",{auto:this.isAutoSuggest()})}},t.prototype.accept=function(e){if(null===this.raw)return!1;var t=e.container,n=this.editor.getPosition().column-this.requestContext.column,o=("undefined"==typeof t.overwriteBefore?t.currentWord.length:t.overwriteBefore)+n,i="undefined"==typeof t.overwriteAfter?0:Math.max(0,t.overwriteAfter);return this.cancel(),this.onAccept(new d.CodeSnippet(e.suggestion.codeSnippet),o,i),!0},t.prototype.onEditorConfigurationChange=function(){this.autoSuggestDelay=this.editor.getConfiguration().quickSuggestionsDelay,(isNaN(this.autoSuggestDelay)||!this.autoSuggestDelay&&0!==this.autoSuggestDelay||this.autoSuggestDelay>2e3||this.autoSuggestDelay<0)&&(this.autoSuggestDelay=10)},t.prototype.destroy=function(){this.cancel(!0),this.toDispose=h.disposeAll(this.toDispose),this.emit("destroy",null)},t}(i.EventEmitter);t.SuggestModel=y});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/editor/contrib/suggest/browser/suggestWidget",["require","exports","vs/nls!vs/editor/contrib/suggest/browser/suggestWidget","vs/base/common/winjs.base","vs/base/common/errors","vs/base/browser/dom","vs/base/parts/tree/browser/treeImpl","vs/base/parts/tree/browser/treeDefaults","vs/base/browser/ui/highlightedlabel/highlightedLabel","./suggestModel","vs/editor/browser/editorBrowser","vs/editor/common/editorCommon","../common/suggest","vs/css!./suggest"],function(e,t,n,o,i,r,s,a,u,l,c,d,h){function p(e,t,n){for(var o=e.toLowerCase(),i=0,r=0;r0){var t=e.selection[0];t.hasOwnProperty("suggestions")||t instanceof g||t instanceof m||(p.telemetryData.selectedIndex=p.tree.getInput().suggestions.completionItems.indexOf(t),p.telemetryData.wasCancelled=!1,p.submitTelemetryData(),p.model.accept(t),p.editor.focus())}}));var E=null;this.listenersToRemove.push(this.tree.addListener("focus",function(e){var t=e.focus,n=e.payload;if(t instanceof l.CompletionItem&&(p.resolveDetails(t),p.suggestionSupportsAutoAccept.set(!t.suggestion.noAutoAccept)),t!==E){var o=[];E&&o.push(E),t&&o.push(t),E=t,p.tree.refreshAll(o).done(function(){p.updateWidgetHeight(),t&&p.tree.reveal(t,n&&n.firstSuggestion?0:null)},i.onUnexpectedError)}})),this.editor.addContentWidget(this),this.listenersToRemove.push(this.editor.addListener(d.EventType.CursorSelectionChanged,function(e){p.isActive&&p.editor.layoutContentWidget(p)})),this.hide()}return e.prototype.setModel=function(t){var n=this;this.releaseModel(),this.model=t;var o,s=null;this.modelListenersToRemove.push(this.model.addListener("loading",function(t){n.isActive||(s=n.telemetryService.start("suggestWidgetLoadingTime"),n.isLoading=!0,n.isAuto=!!t.auto,n.isAuto||(o=setTimeout(function(){r.removeClass(n.element,"empty"),n.tree.setInput(e.LOADING_MESSAGE).done(null,i.onUnexpectedError),n.updateWidgetHeight(),n.show()},50)),t.retrigger||(n.telemetryData={wasAutomaticallyTriggered:t.characterTriggered}))})),this.modelListenersToRemove.push(this.model.addListener("suggest",function(e){n.isLoading=!1,"undefined"!=typeof o&&clearTimeout(o);for(var t=e.suggestions.currentWord,a=t.toLowerCase(),u=e.suggestions.completionItems,l=-1,c=e.suggestions.completionItems[0],d=-1,h=0,f=u.length;f>h;h++){var m=p(u[h].suggestion.label,t,a);m>d&&(d=m,c=u[h],l=h)}r.removeClass(n.element,"empty"),n.tree.setInput(e).done(null,i.onUnexpectedError),n.tree.setFocus(c,{firstSuggestion:!0}),n.updateWidgetHeight(),n.show(),n.resolveDetails(c),n.telemetryData=n.telemetryData||{},n.telemetryData.suggestionCount=u.length,n.telemetryData.suggestedIndex=l,n.telemetryData.hintLength=t.length,s&&(s.data={reason:"results"},s.stop(),s=null)})),this.modelListenersToRemove.push(this.model.addListener("empty",function(t){var a=n.isLoading;n.isLoading=!1,"undefined"!=typeof o&&clearTimeout(o),t.auto?n.hide():a?n.shouldShowEmptySuggestionList?(r.removeClass(n.element,"empty"),n.tree.setInput(e.NO_SUGGESTIONS_MESSAGE).done(null,i.onUnexpectedError),n.updateWidgetHeight(),n.show()):n.hide():r.addClass(n.element,"empty"),s&&(s.data={reason:"empty"},s.stop(),s=null)})),this.modelListenersToRemove.push(this.model.addListener("cancel",function(e){n.isLoading=!1,e.retrigger||(n.hide(),n.telemetryData&&(n.telemetryData.selectedIndex=-1,n.telemetryData.wasCancelled=!0,n.submitTelemetryData())),s&&(s.data={reason:"cancel"},s.stop(),s=null)}))},e.prototype.resolveDetails=function(e){var t=this;e&&(this.currentSuggestionDetails&&this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=e.resolveDetails(this.editor.getModel().getAssociatedResource(),this.model.getRequestPosition()||this.editor.getPosition()),this.currentSuggestionDetails.then(function(){return t.currentSuggestionDetails=void 0,t.tree.refresh(e).then(function(){return t.updateWidgetHeight()})},function(e){return i.isPromiseCanceledError(e)?null:e}).done(void 0,i.onUnexpectedError))},e.prototype.selectNextPage=function(){return this.isLoading?!this.isAuto:this.isActive?(this.tree.focusNextPage(),!0):!1},e.prototype.selectNext=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return this.tree.focusNext(1),e===this.tree.getFocus()&&this.tree.focusFirst(),!0}return!1},e.prototype.selectPreviousPage=function(){return this.isLoading?!this.isAuto:this.isActive?(this.tree.focusPreviousPage(),!0):!1},e.prototype.selectPrevious=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return this.tree.focusPrevious(1),e===this.tree.getFocus()&&this.tree.focusLast(),!0}return!1},e.prototype.acceptSelectedSuggestion=function(){if(this.isLoading)return!this.isAuto;if(this.isActive){var e=this.tree.getFocus();return e?this.tree.setSelection([e]):this.model.cancel(),!0}return!1},e.prototype.releaseModel=function(){for(var e;e=this.modelListenersToRemove.pop();)e();this.model=null},e.prototype.show=function(){var e=this;this._onShown(),this.isActive=!0,this.tree.layout(),this.editor.layoutContentWidget(this),o.TPromise.timeout(100).done(function(){r.addClass(e.element,"visible")})},e.prototype.cancel=function(){this.model.cancel()},e.prototype.hide=function(){this._onHidden(),this.isActive=!1,r.removeClass(this.element,"visible"),this.editor.layoutContentWidget(this)},e.prototype.getPosition=function(){return this.isActive?{position:this.editor.getPosition(),preference:[c.ContentWidgetPositionPreference.BELOW,c.ContentWidgetPositionPreference.ABOVE]}:null},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.submitTelemetryData=function(){this.telemetryService.publicLog("suggestWidget",this.telemetryData),this.telemetryData=null},e.prototype.updateWidgetHeight=function(){var t=this.tree.getInput(),n=1e3,o=0;if(t===e.LOADING_MESSAGE||t===e.NO_SUGGESTIONS_MESSAGE)o=19;else{var i=this.tree.getFocus(),r=i?this.renderer.getHeight(this.tree,i):19;o+=r;var s=Math.floor((n-r)/19),a=t;o+=19*Math.min(a.suggestions.completionItems.length-1,11,s)}this.element.style.height=o+"px",this.tree.layout(o),this.editor.layoutContentWidget(this)},e.prototype.destroy=function(){this.releaseModel(),this.tree.dispose(),this.tree=null,this.element=null,this.listenersToRemove.forEach(function(e){e()}),this.listenersToRemove=null},e.ID="editor.widget.suggestWidget",e.WIDTH=438,e.LOADING_MESSAGE=new g(n.localize(0,null)),e.NO_SUGGESTIONS_MESSAGE=new g(n.localize(1,null)),e}();t.SuggestWidget=b});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/suggest/browser/suggest",["require","exports","vs/nls!vs/editor/contrib/suggest/browser/suggest","vs/base/common/lifecycle","vs/editor/contrib/snippet/common/snippet","./suggestWidget","./suggestModel","vs/base/common/errors","vs/base/common/winjs.base","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/editor/common/editorCommon","vs/platform/keybinding/common/keybindingService","vs/platform/telemetry/common/telemetry","vs/editor/contrib/suggest/common/suggest","vs/platform/instantiation/common/instantiation","vs/base/common/keyCodes"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v){ +var y=function(){function e(e,t,n){var o=this;this.editor=e,this.suggestWidgetVisible=t.createKey(m.CONTEXT_SUGGEST_WIDGET_VISIBLE,!1),this.model=new s.SuggestModel(this.editor,function(e,t,n){i.get(o.editor).run(e,t,n)}),this.suggestWidget=new r.SuggestWidget(this.editor,n,t,function(){o.suggestWidgetVisible.set(!0)},function(){o.suggestWidgetVisible.reset()}),this.suggestWidget.setModel(this.model),this.triggerCharacterListeners=[],this.toDispose=[],this.toDispose.push(e.addListener2(h.EventType.ConfigurationChanged,function(){return o.update()})),this.toDispose.push(e.addListener2(h.EventType.ModelChanged,function(){return o.update()})),this.toDispose.push(e.addListener2(h.EventType.ModelModeChanged,function(){return o.update()})),this.toDispose.push(e.addListener2(h.EventType.ModelModeSupportChanged,function(e){e.suggestSupport&&o.update()})),this.toDispose.push(m.SuggestRegistry.onDidChange(this.update,this)),this.update()}return e.getSuggestController=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toDispose=o.disposeAll(this.toDispose),this.triggerCharacterListeners=o.cAll(this.triggerCharacterListeners),this.suggestWidget&&(this.suggestWidget.destroy(),this.suggestWidget=null),this.model&&(this.model.destroy(),this.model=null)},e.prototype.update=function(){var e=this;if(this.triggerCharacterListeners=o.cAll(this.triggerCharacterListeners),!this.editor.getConfiguration().readOnly&&this.editor.getModel()&&this.editor.getConfiguration().suggestOnTriggerCharacters){var t=m.SuggestRegistry.orderedGroups(this.editor.getModel());if(0!==t.length){var n=Object.create(null);t.forEach(function(e){var t=Object.create(null);e.forEach(function(e){var o=e.getTriggerCharacters();if(o)for(var i=0;i0&&this.triggerSuggest(e,t).done(null,a.onUnexpectedError)},e.prototype.triggerSuggest=function(e,t){return this.model.trigger(!1,e,!1,t),this.editor.focus(),u.TPromise.as(!1)},e.prototype.acceptSelectedSuggestion=function(){this.suggestWidget&&this.suggestWidget.acceptSelectedSuggestion()},e.prototype.hideSuggestWidget=function(){this.suggestWidget&&this.suggestWidget.cancel()},e.prototype.selectNextSuggestion=function(){this.suggestWidget&&this.suggestWidget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this.suggestWidget&&this.suggestWidget.selectNextPage()},e.prototype.selectPrevSuggestion=function(){this.suggestWidget&&this.suggestWidget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this.suggestWidget&&this.suggestWidget.selectPreviousPage()},e.ID="editor.contrib.suggestController",e=__decorate([__param(1,p.IKeybindingService),__param(2,f.ITelemetryService)],e)}();t.SuggestController=y;var _=function(e){function t(t,n,o){e.call(this,t,n)}return __extends(t,e),t.prototype.isSupported=function(){return m.SuggestRegistry.has(this.editor.getModel())&&!this.editor.getConfiguration().readOnly},t.prototype.run=function(){return y.getSuggestController(this.editor).triggerSuggest()},t.ID="editor.action.triggerSuggest",t=__decorate([__param(2,g.INullService)],t)}(d.EditorAction);t.TriggerSuggestAction=_;var b=c.CommonEditorRegistry.commandWeight(90);c.CommonEditorRegistry.registerEditorAction(new c.EditorActionDescriptor(_,_.ID,n.localize(0,null),{context:c.ContextKey.EditorTextFocus,primary:v.KeyMod.CtrlCmd|v.KeyCode.Space,mac:{primary:v.KeyMod.WinCtrl|v.KeyCode.Space}})),c.CommonEditorRegistry.registerEditorCommand(m.ACCEPT_SELECTED_SUGGESTION_CMD,b,{primary:v.KeyCode.Enter,secondary:[v.KeyCode.Tab]},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.acceptSelectedSuggestion()}),c.CommonEditorRegistry.registerEditorCommand("hideSuggestWidget",b,{primary:v.KeyCode.Escape},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.hideSuggestWidget()}),c.CommonEditorRegistry.registerEditorCommand("selectNextSuggestion",b,{primary:v.KeyCode.DownArrow},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.selectNextSuggestion()}),c.CommonEditorRegistry.registerEditorCommand("selectNextPageSuggestion",b,{primary:v.KeyCode.PageDown},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.selectNextPageSuggestion()}),c.CommonEditorRegistry.registerEditorCommand("selectPrevSuggestion",b,{primary:v.KeyCode.UpArrow},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.selectPrevSuggestion()}),c.CommonEditorRegistry.registerEditorCommand("selectPrevPageSuggestion",b,{primary:v.KeyCode.PageUp},!0,m.CONTEXT_SUGGEST_WIDGET_VISIBLE,function(e,t,n){var o=y.getSuggestController(t);o.selectPrevPageSuggestion()}),l.EditorBrowserRegistry.registerEditorContribution(y)}),define("vs/languages/annotatedLanguage/common/annotatedLanguage.contribution",["require","exports","vs/editor/common/modes/modesRegistry"],function(e,t,n){n.registerMode({id:"annotatedcsharp",extensions:[],aliases:[null],mimetypes:["text/x-annotated-csharp"],moduleId:"vs/languages/annotatedLanguage/common/annotatedLanguage",ctorName:"ALMode"})}),define("vs/languages/css/common/css.contribution",["require","exports","vs/nls!vs/languages/css/common/css.contribution","vs/platform/platform","vs/editor/common/modes/modesRegistry","vs/platform/configuration/common/configurationRegistry","vs/languages/css/common/services/lintRules","vs/css!vs/languages/css/common/css-hover"],function(e,t,n,o,i,r,s){i.registerMode({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],moduleId:"vs/languages/css/common/css",ctorName:"CSSMode"});var a=o.Registry.as(r.Extensions.Configuration);a.registerConfiguration({id:"css",order:20,title:n.localize(0,null),allOf:[{title:n.localize(1,null),properties:s.getConfigurationProperties("css")}]})}),define("vs/languages/handlebars/common/handlebars.contribution",["require","exports","vs/editor/common/modes/modesRegistry"],function(e,t,n){n.registerMode({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars"],mimetypes:["text/x-handlebars-template"],moduleId:"vs/languages/handlebars/common/handlebars",ctorName:"HandlebarsMode"})}),define("vs/languages/html/common/html.contribution",["require","exports","vs/editor/common/modes/modesRegistry"],function(e,t,n){n.registerMode({id:"html",extensions:[".html",".htm",".shtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template"],moduleId:"vs/languages/html/common/html",ctorName:"HTMLMode"})}),define("vs/languages/javascript/common/javascript.contribution",["require","exports","vs/nls!vs/languages/javascript/common/javascript.contribution","vs/base/common/flags","vs/platform/platform","vs/platform/configuration/common/configurationRegistry","vs/editor/common/modes/modesRegistry","vs/languages/typescript/common/options","vs/base/common/mime"],function(e,t,n,o,i,r,s,a,u){var l=a.javaScriptOptions;if(o.enableTypeScriptServiceModeForJS)u.registerTextMimeByFilename(".js","text/typescript");else{s.registerMode({id:"javascript",extensions:[".js",".es6"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],moduleId:"vs/languages/javascript/common/javascript",ctorName:"JSMode"}),s.registerWorkerParticipant("javascript","vs/languages/typescript/common/participants/filenameSuggestions","FilenameSuggestions");var c=i.Registry.as(r.Extensions.Configuration);c.registerConfiguration({id:"javascript",order:20,type:"object",title:n.localize(0,null),allOf:[{type:"object",title:n.localize(1,null),properties:{"javascript.suggest.alwaysAllWords":{type:"boolean","default":l.suggest.alwaysAllWords,description:n.localize(2,null)},"javascript.suggest.useCodeSnippetsOnMethodSuggest":{type:"boolean","default":l.suggest.useCodeSnippetsOnMethodSuggest,description:n.localize(3,null)}}},{title:n.localize(4,null),type:"object",properties:{"javascript.validate.enable":{type:"boolean","default":!0,description:n.localize(5,null)},"javascript.validate.semanticValidation":{type:"boolean","default":l.validate.semanticValidation,description:n.localize(6,null)},"javascript.validate.syntaxValidation":{type:"boolean","default":l.validate.syntaxValidation,description:n.localize(7,null)}}},{type:"object",title:n.localize(8,null),properties:{"javascript.validate.lint.curlyBracketsMustNotBeOmitted":{"enum":["ignore","warning","error"],"default":l.validate.lint.curlyBracketsMustNotBeOmitted,description:n.localize(9,null)},"javascript.validate.lint.emptyBlocksWithoutComment":{"enum":["ignore","warning","error"],"default":l.validate.lint.emptyBlocksWithoutComment,description:n.localize(10,null)},"javascript.validate.lint.comparisonOperatorsNotStrict":{"enum":["ignore","warning","error"],"default":l.validate.lint.comparisonOperatorsNotStrict,description:n.localize(11,null)},"javascript.validate.lint.missingSemicolon":{"enum":["ignore","warning","error"],"default":l.validate.lint.missingSemicolon,description:n.localize(12,null)},"javascript.validate.lint.unknownTypeOfResults":{"enum":["ignore","warning","error"],"default":l.validate.lint.unknownTypeOfResults,description:n.localize(13,null)},"javascript.validate.lint.semicolonsInsteadOfBlocks":{"enum":["ignore","warning","error"],"default":l.validate.lint.semicolonsInsteadOfBlocks,description:n.localize(14,null)},"javascript.validate.lint.functionsInsideLoops":{"enum":["ignore","warning","error"],"default":l.validate.lint.functionsInsideLoops,description:n.localize(15,null)},"javascript.validate.lint.newOnLowercaseFunctions":{"enum":["ignore","warning","error"],"default":l.validate.lint.newOnLowercaseFunctions,description:n.localize(16,null)},"javascript.validate.lint.tripleSlashReferenceAlike":{"enum":["ignore","warning","error"],"default":l.validate.lint.tripleSlashReferenceAlike,description:n.localize(17,null)},"javascript.validate.lint.unusedVariables":{"enum":["ignore","warning","error"],"default":l.validate.lint.unusedVariables,description:n.localize(18,null)},"javascript.validate.lint.unusedFunctions":{"enum":["ignore","warning","error"],"default":l.validate.lint.unusedFunctions,description:n.localize(19,null)},"javascript.validate.lint.parametersDontMatchSignature":{"enum":["ignore","warning","error"],"default":l.validate.lint.parametersDontMatchSignature,description:n.localize(20,null)},"javascript.validate.lint.redeclaredVariables":{"enum":["ignore","warning","error"],"default":l.validate.lint.redeclaredVariables,description:n.localize(21,null)},"javascript.validate.lint.undeclaredVariables":{"enum":["ignore","warning","error"],"default":l.validate.lint.undeclaredVariables,description:n.localize(22,null)},"javascript.validate.lint.unknownProperty":{"enum":["ignore","warning","error"],"default":l.validate.lint.unknownProperty,description:n.localize(23,null)},"javascript.validate.lint.unknownModule":{"enum":["ignore","warning","error"],"default":l.validate.lint.unknownModule,description:n.localize(24,null)},"javascript.validate.lint.forcedTypeConversion":{"enum":["ignore","warning","error"],"default":l.validate.lint.forcedTypeConversion,description:n.localize(25,null)},"javascript.validate.lint.mixedTypesArithmetics":{"enum":["ignore","warning","error"],"default":l.validate.lint.mixedTypesArithmetics,description:n.localize(26,null)},"javascript.validate.lint.primitivesInInstanceOf":{"enum":["ignore","warning","error"],"default":l.validate.lint.primitivesInInstanceOf,description:n.localize(27,null)},"javascript.validate.lint.newOnReturningFunctions":{"enum":["ignore","warning","error"],"default":l.validate.lint.newOnReturningFunctions,description:n.localize(28,null)}}}]})}}),define("vs/languages/json/common/json.contribution",["require","exports","vs/nls!vs/languages/json/common/json.contribution","vs/platform/configuration/common/configurationRegistry","vs/platform/platform","vs/editor/common/modes/modesRegistry"],function(e,t,n,o,i,r){r.registerMode({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc"],aliases:["JSON","json"],mimetypes:["application/json"],moduleId:"vs/languages/json/common/json",ctorName:"JSONMode"});var s=i.Registry.as(o.Extensions.Configuration);s.registerConfiguration({id:"json",order:20,type:"object",title:n.localize(0,null),properties:{"json.schemas":{type:"array",description:n.localize(1,null),items:{type:"object",properties:{url:{type:"string","default":"/user.schema.json",description:n.localize(2,null)},fileMatch:{type:"array",items:{type:"string","default":"MyFile.json",description:n.localize(3,null)},minItems:1,description:n.localize(4,null)},schema:{type:"object",description:n.localize(5,null)}}},"default":[{fileMatch:["/bower.json","/.bower.json"],url:"http://json.schemastore.org/bower"},{fileMatch:["/package.json"],url:"http://json.schemastore.org/package"},{fileMatch:["/project.json"],url:"http://json.schemastore.org/project"},{fileMatch:["*.schema.json"],url:"http://json-schema.org/draft-04/schema#"},{fileMatch:["/global.json"],url:"http://json.schemastore.org/global"},{fileMatch:["/tsconfig.json"],url:"http://json.schemastore.org/tsconfig"},{fileMatch:["/jsconfig.json"],url:"http://opentools.azurewebsites.net/jsconfig"},{fileMatch:["/.bowerrc"],url:"http://json.schemastore.org/bowerrc"},{fileMatch:["/.jshintrc"],url:"http://json.schemastore.org/jshintrc"},{fileMatch:["/.jscsrc"],url:"http://json.schemastore.org/jscsrc"}]}}})}),define("vs/languages/less/common/less.contribution",["require","exports","vs/platform/platform","vs/nls!vs/languages/less/common/less.contribution","vs/languages/css/common/services/lintRules","vs/editor/common/modes/modesRegistry","vs/platform/configuration/common/configurationRegistry","vs/css!vs/languages/css/common/css-hover"],function(e,t,n,o,i,r,s){r.registerMode({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],moduleId:"vs/languages/less/common/less",ctorName:"LESSMode"});var a=n.Registry.as(s.Extensions.Configuration);a.registerConfiguration({id:"less",order:22,type:"object",title:o.localize(0,null),allOf:[{title:o.localize(1,null),properties:i.getConfigurationProperties("less")}]})}),define("vs/languages/markdown/common/markdown.contribution",["require","exports","vs/nls!vs/languages/markdown/common/markdown.contribution","vs/editor/common/modes/modesRegistry","vs/platform/configuration/common/configurationRegistry","vs/platform/platform"],function(e,t,n,o,i,r){o.registerMode({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],mimetypes:["text/x-web-markdown"],moduleId:"vs/languages/markdown/common/markdown",ctorName:"MarkdownMode"});var s=r.Registry.as(i.Extensions.Configuration);s.registerConfiguration({id:"markdown",order:20,type:"object",title:n.localize(0,null),properties:{"markdown.styles":{type:"array",description:n.localize(1,null),items:{type:"string"}}}})}),define("vs/languages/php/common/php.contribution",["require","exports","vs/editor/common/modes/modesRegistry"],function(e,t,n){n.registerMode({id:"php",extensions:[".php",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],moduleId:"vs/languages/php/common/php",ctorName:"PHPMode"})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/languages/plaintext/common/plaintext",["require","exports","vs/editor/common/modes/supports","vs/editor/common/modes/abstractMode","vs/editor/common/modes/abstractState","vs/platform/instantiation/common/instantiation","vs/platform/thread/common/thread"],function(e,t,n,o,i,r,s){var a=function(e){function t(t){e.call(this,t)}return __extends(t,e),t.prototype.makeClone=function(){return this},t.prototype.equals=function(n){return n instanceof t?e.prototype.equals.call(this,n):!1},t.prototype.tokenize=function(e){return e.advanceToEOS(),{type:""}},t}(i.AbstractState),u=function(e){function t(t,o,i){var r=this;e.call(this,t,o,i),this.tokenizationSupport=new n.TokenizationSupport(this,{getInitialState:function(){return new a(r)}},!1,!1)}return __extends(t,e),t=__decorate([__param(1,r.IInstantiationService),__param(2,s.IThreadService)],t)}(o.AbstractMode);t.Mode=u}),define("vs/languages/plaintext/common/plaintext.contribution",["require","exports","vs/editor/common/modes/modesRegistry","vs/languages/plaintext/common/plaintext"],function(e,t,n){n.registerMode({id:"plaintext",extensions:[".txt",".gitignore"],aliases:["Plain Text","text"],mimetypes:["text/plain"],moduleId:"vs/languages/plaintext/common/plaintext",ctorName:"Mode"})}),define("vs/languages/razor/common/razor.contribution",["require","exports","vs/editor/common/modes/modesRegistry"],function(e,t,n){n.registerMode({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],moduleId:"vs/languages/razor/common/razor",ctorName:"RAZORMode"})}),define("vs/languages/sass/common/sass.contribution",["require","exports","vs/editor/common/modes/modesRegistry","vs/platform/platform","vs/nls!vs/languages/sass/common/sass.contribution","vs/languages/css/common/services/lintRules","vs/platform/configuration/common/configurationRegistry","vs/css!vs/languages/css/common/css-hover"],function(e,t,n,o,i,r,s){n.registerMode({id:"sass",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],moduleId:"vs/languages/sass/common/sass",ctorName:"SASSMode"});var a=o.Registry.as(s.Extensions.Configuration);a.registerConfiguration({id:"sass",order:24,title:i.localize(0,null),allOf:[{title:i.localize(1,null),properties:r.getConfigurationProperties("sass")}]})}),define("vs/languages/typescript/common/typescript.contribution",["require","exports","vs/nls!vs/languages/typescript/common/typescript.contribution","vs/base/common/flags","vs/platform/platform","vs/editor/common/modes/modesRegistry","vs/platform/configuration/common/configurationRegistry","vs/languages/typescript/common/options","vs/css!./typescript"],function(e,t,n,o,i,r,s,a){var u=a.typeScriptOptions;if(!o.enableTypeScriptServiceMode){r.registerMode({id:"typescript",extensions:[".ts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],moduleId:"vs/languages/typescript/common/typescriptMode",ctorName:"TypeScriptMode"}),r.registerWorkerParticipant("typescript","vs/languages/typescript/common/participants/filenameSuggestions","FilenameSuggestions");var l=i.Registry.as(s.Extensions.Configuration);l.registerConfiguration({id:"typescript",order:20,title:n.localize(0,null),allOf:[{type:"object",title:n.localize(1,null),properties:{"typescript.suggest.alwaysAllWords":{type:"boolean","default":u.suggest.alwaysAllWords,description:n.localize(2,null)},"typescript.suggest.useCodeSnippetsOnMethodSuggest":{type:"boolean","default":u.suggest.useCodeSnippetsOnMethodSuggest,description:n.localize(3,null)}}},{type:"object",title:n.localize(4,null),properties:{"typescript.validate.lint.curlyBracketsMustNotBeOmitted":{"enum":["ignore","warning","error"],"default":u.validate.lint.curlyBracketsMustNotBeOmitted,description:n.localize(5,null)},"typescript.validate.lint.emptyBlocksWithoutComment":{"enum":["ignore","warning","error"],"default":u.validate.lint.emptyBlocksWithoutComment,description:n.localize(6,null)},"typescript.validate.lint.comparisonOperatorsNotStrict":{"enum":["ignore","warning","error"],"default":u.validate.lint.comparisonOperatorsNotStrict,description:n.localize(7,null)},"typescript.validate.lint.missingSemicolon":{"enum":["ignore","warning","error"],"default":u.validate.lint.missingSemicolon,description:n.localize(8,null)},"typescript.validate.lint.unknownTypeOfResults":{"enum":["ignore","warning","error"],"default":u.validate.lint.unknownTypeOfResults,description:n.localize(9,null)},"typescript.validate.lint.semicolonsInsteadOfBlocks":{"enum":["ignore","warning","error"],"default":u.validate.lint.semicolonsInsteadOfBlocks,description:n.localize(10,null)},"typescript.validate.lint.functionsInsideLoops":{"enum":["ignore","warning","error"],"default":u.validate.lint.functionsInsideLoops,description:n.localize(11,null)},"typescript.validate.lint.newOnLowercaseFunctions":{"enum":["ignore","warning","error"],"default":u.validate.lint.newOnLowercaseFunctions,description:n.localize(12,null)},"typescript.validate.lint.tripleSlashReferenceAlike":{"enum":["ignore","warning","error"],"default":u.validate.lint.tripleSlashReferenceAlike,description:n.localize(13,null)},"typescript.validate.lint.unusedVariables":{"enum":["ignore","warning","error"],"default":u.validate.lint.unusedVariables,description:n.localize(14,null)},"typescript.validate.lint.unusedFunctions":{"enum":["ignore","warning","error"],"default":u.validate.lint.unusedFunctions,description:n.localize(15,null)},"typescript.validate.lint.unusedMembers":{"enum":["ignore","warning","error"],"default":u.validate.lint.unusedMembers,description:n.localize(16,null)},"typescript.validate.lint.functionsWithoutReturnType":{"enum":["ignore","warning","error"],"default":u.validate.lint.functionsWithoutReturnType,description:n.localize(17,null)}}}]})}}),define("vs/languages/languages.main",["vs/languages/annotatedLanguage/common/annotatedLanguage.contribution","vs/languages/css/common/css.contribution","vs/languages/handlebars/common/handlebars.contribution","vs/languages/html/common/html.contribution","vs/languages/javascript/common/javascript.contribution","vs/languages/json/common/json.contribution","vs/languages/markdown/common/markdown.contribution","vs/languages/php/common/php.contribution","vs/languages/plaintext/common/plaintext.contribution","vs/languages/razor/common/razor.contribution","vs/languages/typescript/common/typescript.contribution","vs/languages/less/common/less.contribution","vs/languages/sass/common/sass.contribution"],function(){}),define("vs/platform/markers/common/markerService",["require","exports","vs/base/common/network","vs/base/common/arrays","vs/base/common/strings","vs/base/common/collections","vs/base/common/event","vs/base/common/severity","vs/platform/thread/common/threadService","./markers"],function(e,t,n,o,i,r,s,a,u,l){var c;!function(e){function t(e){var t=/^(.*)→(.*)$/.exec(e);return{owner:t[1],resource:n.URL.fromValue(t[2])}}function o(e){return e.owner+"→"+e.resource}function r(e,t){return new RegExp(i.format(a,e?i.escapeRegExpCharacters(e):".*",t?i.escapeRegExpCharacters(t.toString()):".*"))}function s(e,t){return e+"→"+t}e.fromValue=t,e.valueOf=o;var a="^({0})→({1})$";e.selector=r,e.raw=s}(c||(c={}));var d=function(){function e(e){this.serviceId=l.IMarkerService,this._data=Object.create(null),this._stats=this._emptyStats(),this._onMarkerChanged=new s.Emitter,e.registerInstance(this)}return e.prototype.getId=function(){return"__markerService"},e.prototype.getSerializableState=function(){return this._data},e.prototype.setData=function(e){this._data=e},e.prototype.getStatistics=function(){return this._stats},Object.defineProperty(e.prototype,"onMarkerChanged",{get:function(){return this._onMarkerChanged?this._onMarkerChanged.event:null},enumerable:!0,configurable:!0}),e.prototype.changeOne=function(e,t,n){this._doChangeOne(e,t,n)&&this._onMarkerChanged.fire([t])},e.prototype.remove=function(e,t){if(!o.isFalsyOrEmpty(t)){for(var n,i=0;i0&&a++>=o)?!1:void 0})},e.prototype._fromEntry=function(t,n){var o=c.fromValue(t.key);t.value.forEach(function(t){e._sanitize(t),n.push({owner:o.owner,resource:o.resource,code:t.code,message:t.message,severity:t.severity,startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn})})},e.prototype._computeStats=function(e){var t=0,n=0,o=0,i=0;if(e)for(var r=0;r0?e.startLineNumber:1,e.startColumn=e.startColumn>0?e.startColumn:1,e.endLineNumber=e.endLineNumber>=e.startLineNumber?e.endLineNumber:e.startLineNumber,e.endColumn=e.endColumn>0?e.endColumn:e.startColumn},e.$changeOne=u.MainThreadAttr(e,e.prototype.changeOne),e.$changeAll=u.MainThreadAttr(e,e.prototype.changeAll),e}();t.MarkerService=d}),define("vs/platform/thread/common/abstractThreadService",["require","exports","vs/base/common/winjs.base","vs/base/common/remote","vs/base/common/types","vs/platform/thread/common/thread","vs/platform/thread/common/threadService","vs/platform/instantiation/common/descriptors"],function(e,t,n,o,i,r,s,a){var u=function(){function e(e,t){this._proxyDefinition=e,this._disposeDelegate=t}return e.prototype.dispose=function(){return this._disposeDelegate()},e.prototype.getProxyDefinition=function(){return this._proxyDefinition},e}(),l=function(){function e(e){this.isInMainThread=e,this._boundObjects={},this._pendingObjects=[],this._localObjMap=Object.create(null),this._proxyObjMap=Object.create(null)}return e.generateDynamicProxyId=function(){return String(++this._LAST_DYNAMIC_PROXY_ID)},e.prototype.setInstantiationService=function(e){this._instantiationService=e},e.prototype.createInstance=function(){for(var e=[],t=0;t>");var n=a.createSyncDescriptor(e);if(r.Remotable.Registry.MainContext[t])return this._registerAndInstantiateMainProcessActor(t,n);if(r.Remotable.Registry.PluginHostContext[t])return this._registerAndInstantiatePluginHostActor(t,n);if(r.Remotable.Registry.WorkerContext[t])return this._registerAndInstantiateWorkerActor(t,n,r.Remotable.Registry.WorkerContext[t].affinity);throw new Error("Unknown Remotable: <<"+t+">>")},e.prototype.registerRemotableInstance=function(e,t){var n=r.Remotable.getId(e);if(!n)throw new Error("Unknown Remotable: <<"+n+">>");if(r.Remotable.Registry.MainContext[n])return this._registerMainProcessActor(n,t);if(r.Remotable.Registry.PluginHostContext[n])return this._registerPluginHostActor(n,t);if(r.Remotable.Registry.WorkerContext[n])return this._registerWorkerActor(n,t);throw new Error("Unknown Remotable: <<"+n+">>")},e._LAST_DYNAMIC_PROXY_ID=0,e}();t.AbstractThreadService=l});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};define("vs/platform/thread/common/mainThreadService",["require","exports","vs/base/common/winjs.base","vs/base/common/worker/workerClient","vs/platform/thread/common/abstractThreadService","vs/base/common/flags","vs/base/common/platform","vs/base/common/errors","vs/base/common/timer","vs/platform/thread/common/threadService","vs/platform/thread/common/thread","vs/base/worker/defaultWorkerFactory"],function(e,t,n,o,i,r,s,a,u,l,c,d){ +var h=function(e){function t(o,i){var r=this;if(e.call(this,!0),this.serviceId=c.IThreadService,this._contextService=o,this._workerModuleId=i,this._workerFactory=new d.DefaultWorkerFactory,!this.isInMainThread)throw new Error("Incorrect Service usage: this service must be used only in the main thread");this._workerPool=[],this._affinityScrambler={},this._listeners=[],this._workersCreatedPromise=new n.Promise(function(e,t,n){r._triggerWorkersCreatedPromise=e},function(){}),l.readThreadSynchronizableObjects().forEach(function(e){return r.registerInstance(e)}),n.Promise.timeout(t.MAXIMUM_WORKER_CREATION_DELAY).then(function(){return r.ensureWorkers()})}return __extends(t,e),t.prototype.ensureWorkers=function(){if(this._triggerWorkersCreatedPromise){var e=r.workersCount;s.hasWebWorkerSupport()||(e=Math.min(e,1));for(var t=0;e>t;t++)this._createWorker();var n=this._triggerWorkersCreatedPromise;this._triggerWorkersCreatedPromise=null,n(null)}},t.prototype.addStatusListener=function(e){for(var t=0;tr?(o=r,n=[i]):r===o&&n.push(i)}return n[Math.floor(Math.random()*n.length)]}var s=0;return this._affinityScrambler.hasOwnProperty(e.getId())?s=this._affinityScrambler[e.getId()]:(s=Math.floor(Math.random()*this._workerPool.length),this._affinityScrambler[e.getId()]=s),(s+t)%this._workerPool.length},t.prototype.OneWorker=function(e,t,n,o,i){var r=this;return this._afterWorkers().then(function(){if(0===r._workerPool.length)throw new Error("Cannot fulfill request...");var n=r._getWorkerIndex(e,i);return r._remoteCall(r._workerPool[n],e,t,o)})},t.prototype.AllWorkers=function(e,t,o,i){var r=this;return this._afterWorkers().then(function(){return n.Promise.join(r._workerPool.map(function(n){return r._remoteCall(n,e,t,i)}))})},t.prototype.Everywhere=function(e,t,n,o){var i=this;return this._afterWorkers().then(function(){i._workerPool.forEach(function(n){i._remoteCall(n,e,t,o).done(null,a.onUnexpectedError)})}),n.apply(e,o)},t.prototype._remoteCall=function(e,t,o,i){var r=this,s=t.getId();if(!s)throw new Error("Synchronizable Objects must have an identifier");var a=u.start(u.Topic.LANGUAGES,this._shortName(s,o)),l=function(){a.stop(),r._pingListenersIfNecessary()},c=n.decoratePromise(e.request("threadService",[s,o,i]),l,l);return this._pingListenersIfNecessary(),c},t.prototype._pingListenersIfNecessary=function(){if(this._listeners.length>0){var e=this._buildStatus(),t=this._listeners.slice(0);try{for(var n=0;nt;t++)if(this.model.children[t].resource.toString()===e.getAssociatedResource().toString())return void this.addDecorations(this.model.children[t])},e.prototype.addDecorations=function(t){var n=this;this.callOnModelChange.push(this.editor.getModel().addListener(v.EventType.ModelDecorationsChanged,function(e){return n.onDecorationChanged(e)})),this.editor.getModel().changeDecorations(function(o){for(var i=[],r=[],s=0,a=t.children.length;a>s;s++){var u=t.children[s];n._decorationIgnoreSet[u.id]||(i.push({range:u.range,options:e.DecorationOptions}),r.push(s))}for(var l=o.deltaDecorations([],i),c=0;cr;r++){var a=o.lookup(this._decorationSet,n[r].id);if(a){var u=n[r].range,l=!1;if(!E.Range.equalsRange(u,a.range)){if(E.Range.spansMultipleLines(u))l=!0;else{var c=a.range.endColumn-a.range.startColumn,d=u.endColumn-u.startColumn;c!==d&&(l=!0)}l?(this._decorationIgnoreSet[a.id]=a,i.push(n[r].id)):a.range=u}}}this.editor.changeDecorations(function(e){for(var n=0,o=i.length;o>n;n++)delete t._decorationSet[i[n]];e.deltaDecorations(i,[])})},e.prototype.removeDecorations=function(){var e=Object.keys(this._decorationSet);e.length>0&&this.editor.changeDecorations(function(t){t.deltaDecorations(e,[])}),this._decorationSet={}},e.DecorationOptions={stickiness:v.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:"reference-decoration"},e}(),L=function(){function e(){}return e.prototype.getId=function(e,t){return t instanceof w.Model?"root":t instanceof w.FileReferences?t.id:t instanceof w.OneReference?t.id:void 0},e.prototype.hasChildren=function(e,t){return t instanceof w.FileReferences||t instanceof w.Model},e.prototype.getChildren=function(e,t){return t instanceof w.Model?s.TPromise.as(t.children):t instanceof w.FileReferences?t.resolve().then(function(e){return e.children}):s.TPromise.as([])},e.prototype.getParent=function(e,t){var n=null;return t instanceof w.FileReferences?n=t.parent:t instanceof w.OneReference&&(n=t.parent),s.TPromise.as(n)},e}(),x=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.onMouseDown=function(n,o,i){if(i.leftButton){if(o instanceof w.FileReferences)return i.preventDefault(),i.stopPropagation(),this.expandCollapse(n,o);var r=e.prototype.onClick.call(this,n,o,i);return i.ctrlKey||i.metaKey?n.emit(t.Events.OPEN_TO_SIDE,o):2===i.detail?n.emit(t.Events.SELECTED,o):n.emit(t.Events.FOCUSED,o),r}return!1},t.prototype.onClick=function(t,n,o){return o.leftButton?!1:e.prototype.onClick.call(this,t,n,o)},t.prototype.expandCollapse=function(e,t){return e.isExpanded(t)?e.collapse(t).done(null,c.onUnexpectedError):e.expand(t).done(null,c.onUnexpectedError),!0},t.prototype.onEscape=function(e,t){return!1},t.prototype.onEnter=function(n,o){var i=n.getFocus();if(i instanceof w.FileReferences)return this.expandCollapse(n,i);var r=e.prototype.onEnter.call(this,n,o);return o.ctrlKey||o.metaKey?n.emit(t.Events.OPEN_TO_SIDE,i):n.emit(t.Events.SELECTED,i),r},t.prototype.onUp=function(t,n){return e.prototype.onUp.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.onPageUp=function(t,n){return e.prototype.onPageUp.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.onLeft=function(t,n){return e.prototype.onLeft.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.onDown=function(t,n){return e.prototype.onDown.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.onPageDown=function(t,n){return e.prototype.onPageDown.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.onRight=function(t,n){return e.prototype.onRight.call(this,t,n),this.fakeFocus(t,n),!0},t.prototype.fakeFocus=function(e,n){var o=e.getFocus();e.setSelection([o]),e.emit(t.Events.FOCUSED,o)},t.Events={FOCUSED:"events/custom/focused",SELECTED:"events/custom/selected",OPEN_TO_SIDE:"events/custom/opentoside"},t}(f.DefaultController),M=function(e){function t(t,n){e.call(this),this.editor=t,this._contextService=n}return __extends(t,e),t.prototype.getHeight=function(e,t){return 1.2*this.editor.getConfiguration().lineHeight},t.prototype.render=function(e,t,o){var i=this;if(r.clearNode(o),t instanceof w.FileReferences){var s=t,u=d.$(".reference-file");new m.LeftRightWidget(u,function(e){var t=s.resource;return new l.FileLabel(e,t,i._contextService),null},function(e){var t=s.children.length;return new g.CountBadge(e,t,t>1?n.localize(0,null,t):n.localize(1,null,t))}),u.appendTo(o)}else if(t instanceof w.OneReference){var c=t,h=d.$(".reference"),p=c.parent.preview.preview(c.range);h.innerHtml(a.format('{0}{1}{2}',p.before,p.inside,p.after)).appendTo(o)}return null},t=__decorate([__param(1,S.IWorkspaceContextService)],t)}(f.LegacyRenderer),I=function(e){function t(n,o,i,r,s){e.call(this,s,o,t.INNER_EDITOR_CONTEXT_KEY,{frameColor:"#007ACC",showFrame:!1,showArrow:!0}),this.editorService=n,this.contextService=i,this.instantiationService=r.createChild({peekViewService:this}),this.callOnModel=[],this.tree=null,this.treeContainer=null,this.preview=null,this.previewContainer=null,this.previewDecorations=[],this.lastHeight=null,this.create()}return __extends(t,e),t.prototype._onTitleClick=function(e){if(this.preview&&this.preview.getModel()){var n=this.preview.getModel(),o=this.preview.getPosition().lineNumber,i=new E.Range(o,1,o,n.getLineMaxColumn(o));this.emit(t.Events.EditorDoubleClick,{reference:this.getFocusedReference(),range:i,originalEvent:e})}},t.prototype._fillBody=function(e){var t=this,o=d.$(e);o.addClass("reference-zone-widget"),o.div({"class":"messages"},function(e){t.messageContainer=e.hide()}),o.div({"class":"preview inline"},function(e){var o={scrollBeyondLastLine:!1,scrollbar:y.DefaultConfig.editor.scrollbar,overviewRulerLanes:2};t.preview=t.instantiationService.createInstance(_.EmbeddedCodeEditorWidget,e.getHTMLElement(),o,t.editor),t.previewContainer=e.hide(),t.previewNotAvailableMessage=new b.Model(n.localize(2,null),null)}),o.div({"class":"tree inline"},function(e){var n={dataSource:t.instantiationService.createInstance(L),renderer:t.instantiationService.createInstance(M,t.editor),controller:new x},o={allowHorizontalScroll:!1,twistiePixels:20};t.tree=new p.Tree(e.getHTMLElement(),n,o),t.treeContainer=e.hide()})},t.prototype._doLayoutBody=function(t){e.prototype._doLayoutBody.call(this,t);var n=t+"px";n!==this.lastHeight&&(this.treeContainer.style({height:n}),this.previewContainer.style({height:n}),this.tree.layout(t),this.preview.layout(),this.lastHeight=n)},t.prototype.onWidth=function(e){this.preview.layout()},t.prototype.setModel=function(e){this.callOnModel=i.disposeAll(this.callOnModel),this.model=e,this.model&&this._onNewModel()},t.prototype.showMessage=function(e){this.setTitle(""),this.messageContainer.innerHtml(e).show()},t.prototype._onNewModel=function(){var e=this;this.messageContainer.hide(),this.decorationsManager=new T(this.preview,this.model),this.callOnModel.push(this.decorationsManager),this.callOnModel.push(this.model.addListener2(w.EventType.OnReferenceRangeChanged,function(t){e.tree.refresh(t)})),this.callOnModel.push(this.tree.addListener2(x.Events.FOCUSED,function(t){t instanceof w.OneReference&&e.showReferencePreview(t)})),this.callOnModel.push(this.tree.addListener2(x.Events.SELECTED,function(t){t instanceof w.OneReference&&(e.showReferencePreview(t),e.model.currentReference=t)})),this.callOnModel.push(this.tree.addListener2(x.Events.OPEN_TO_SIDE,function(t){t instanceof w.OneReference&&e.editorService.openEditor({resource:t.resource,options:{selection:t.range}},!0)}));var n=1===this.model.children.length?this.model.children[0]:this.model;this.tree.setInput(n).then(function(){e.tree.setSelection([e.model.currentReference])}).done(null,c.onUnexpectedError),this.callOnModel.push(this.preview.addListener2(v.EventType.MouseDown,function(n){2===n.event.detail&&e.emit(t.Events.EditorDoubleClick,{reference:e.getFocusedReference(),range:n.target.range,originalEvent:n.event})})),r.addClass(this.container,"results-loaded"),this.treeContainer.show(),this.previewContainer.show(),this.preview.layout(),this.tree.layout(),this.focus(),this.showReferencePreview(this.model.nextReference(this.model.currentReference))},t.prototype.getFocusedReference=function(){var e=this.tree.getFocus();if(e instanceof w.OneReference)return e.resource;if(e instanceof w.FileReferences){var t=e;if(t.children.length>0)return t.children[0].resource}return null},t.prototype.focus=function(){this.tree.DOMFocus()},t.prototype.showReferencePreview=function(e){var t=this;this.editorService.resolveEditorModel({resource:e.resource}).done(function(o){if(o){t.preview.setModel(o.textEditorModel);var i=E.Range.lift(e.range).collapseToStart();t.preview.setSelection(i),t.preview.revealRangeInCenter(i)}else t.preview.setModel(t.previewNotAvailableMessage);e.resource.scheme!==u.schemas.inMemory?t.setTitle(e.name,h.getPathLabel(e.directory,t.contextService)):t.setTitle(n.localize(3,null))},c.onUnexpectedError),this.tree.reveal(e),this.tree.setSelection([e]),this.tree.setFocus(e)},t.prototype.dispose=function(){this.setModel(null),i.disposeAll([this.preview,this.previewNotAvailableMessage,this.tree]),e.prototype.dispose.call(this)},t.INNER_EDITOR_CONTEXT_KEY="inReferenceSearchEditor",t.Events={EditorDoubleClick:"editorDoubleClick"},t}(C.PeekViewWidget);t.ReferenceWidget=I});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/referenceSearch/browser/referenceSearch",["require","exports","vs/nls!vs/editor/contrib/referenceSearch/browser/referenceSearch","vs/base/common/arrays","vs/base/common/uri","vs/base/common/winjs.base","vs/base/common/severity","vs/base/common/lifecycle","vs/base/common/errors","vs/editor/common/editorCommon","vs/editor/common/core/range","vs/editor/common/core/position","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","./referenceSearchWidget","./referenceSearchModel","vs/editor/contrib/zoneWidget/browser/peekViewWidget","vs/platform/editor/common/editor","vs/platform/instantiation/common/instantiation","vs/platform/message/common/message","vs/platform/telemetry/common/telemetry","vs/platform/workspace/common/workspace","vs/platform/keybinding/common/keybindingService","vs/platform/keybinding/common/keybindingsRegistry","vs/base/common/keyCodes","../common/referenceSearch"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E,S,T,L){function x(e,t){var n=[],o=L["default"].all(e).map(function(o){return o.findReferences(e.getAssociatedResource(),t,!0).then(function(e){Array.isArray(e)&&n.push.apply(n,e)},function(e){u.onUnexpectedError(e)})});return r.TPromise.join(o).then(function(){return n})}var M=v.IPeekViewService,I=function(){function e(e,t,n,o,i,r,s,a){this._startTime=-1,this.requestIdPool=0,this.callOnClear=[],this.editorService=t,this.telemetryService=n,this.messageService=o,this.instantiationService=i,this.peekViewService=r,this.contextService=s,this.keybindingService=a,this.modelRevealing=!1,this.editor=e,this._referenceSearchVisible=a.createKey(O,!1)}return e.getController=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.dispose(),this.widget=null),this.editor=null},e.prototype.isInPeekView=function(){return this.peekViewService&&this.peekViewService.isActive},e.prototype.closeReferenceSearch=function(){this.clear()},e.prototype.processRequest=function(e,t){var i=this,r=this.widget?this.widget.position:null,a=this.clear();if(a&&r&&e.containsPosition(r))return null;this._referenceSearchVisible.set(!0),this.callOnClear.push(this.editor.addListener(l.EventType.ModelModeChanged,function(){i.clear()})),this.callOnClear.push(this.editor.addListener(l.EventType.ModelChanged,function(){i.modelRevealing||i.clear()})),this.widget=new m.ReferenceWidget(this.editorService,this.keybindingService,this.contextService,this.instantiationService,this.editor),this.widget.setTitle(n.localize(0,null)),this.widget.show(e,18),this.callOnClear.push(this.widget.addListener(v.Events.Closed,function(){i.widget=null,i.clear()})),this.callOnClear.push(this.widget.addListener(m.ReferenceWidget.Events.EditorDoubleClick,function(e){e.reference&&(i.editorService.openEditor({resource:e.reference,options:{selection:e.range}},e.originalEvent.ctrlKey||e.originalEvent.metaKey).done(null,u.onUnexpectedError),e.originalEvent.ctrlKey||e.originalEvent.metaKey||i.clear())}));var c=++this.requestIdPool,d=this.editor.getModel(),h=this.telemetryService.start("findReferences",{mode:d.getMode().getId()});return t.then(function(t){if(c!==i.requestIdPool)return void h.stop();if(o.isFalsyOrEmpty(t))return i.widget.showMessage(n.localize(1,null)),void h.stop();i.model=new g.Model(t,i.editorService),i.model.currentReference=i.model.findReference(d.getAssociatedResource(),e.getStartPosition());var r=i.model.addListener(g.EventType.CurrentReferenceChanged,function(){i.modelRevealing=!0,i.editorService.openEditor({resource:i.model.currentReference.resource,options:{selection:i.model.currentReference.range}}).done(function(e){return e&&e.getControl()===i.editor?(i.modelRevealing=!1,i.widget.show(i.model.currentReference.range,18),void i.widget.focus()):void i.clear()},function(e){i.modelRevealing=!1,u.onUnexpectedError(e)})});i.callOnClear.push(r),i._startTime=Date.now(),i.widget&&i.widget.setModel(i.model),h.stop()},function(e){i.messageService.show(s["default"].Error,e),h.stop()}),this.widget},e.prototype.clear=function(){-1!==this._startTime&&(this.telemetryService.publicLog("zoneWidgetShown",{mode:"reference search",elapsedTime:Date.now()-this._startTime}),this._startTime=-1),this._referenceSearchVisible.reset(),a.cAll(this.callOnClear),this.model=null;var e=!1;return this.widget&&(this.widget.dispose(),this.widget=null,e=!0),this.editor.focus(),this.requestIdPool+=1,e},e.ID="editor.contrib.findReferencesController",e=__decorate([__param(1,y.IEditorService),__param(2,C.ITelemetryService),__param(3,b.IMessageService),__param(4,_.IInstantiationService),__param(5,M),__param(6,w.IWorkspaceContextService),__param(7,E.IKeybindingService)],e)}();t.FindReferencesController=I;var N=function(e){function t(t,o,i,r){e.call(this,t,o,f.Behaviour.WidgetFocus|f.Behaviour.ShowInContextMenu|f.Behaviour.UpdateOnCursorPositionChange),this.label=n.localize(2,null),this.peekViewService=i,this.peekViewService&&r.createKey(this.peekViewService.contextKey,!0)}return __extends(t,e),t.prototype.getGroupId=function(){return"1_goto/4_references"},t.prototype.isSupported=function(){return L["default"].has(this.editor.getModel())&&e.prototype.isSupported.call(this)},t.prototype.getEnablementState=function(){if(this.peekViewService&&this.peekViewService.isActive)return!1;var e=this.editor.getModel(),t=this.editor.getSelection().getStartPosition(),n=e.getLineContext(t.lineNumber),o=t.column-1;return L["default"].all(e).some(function(e){return e.canFindReferences(n,o)})},t.prototype.run=function(){var e=this.editor.getSelection(),t=this.editor.getModel(),n=x(t,e.getStartPosition()),o=I.getController(this.editor);return r.TPromise.as(o.processRequest(e,n)).then(function(){return!0})},t.ID="editor.action.referenceSearch.trigger",t=__decorate([__param(2,M),__param(3,E.IKeybindingService)],t)}(f.EditorAction);t.ReferenceAction=N;var R=function(e,t){var n=t[0],o=t[1];if(!(n instanceof i["default"]))throw new Error("illegal argument, uri");if(!o)throw new Error("illega argument, position");return e.get(y.IEditorService).openEditor({resource:n}).then(function(e){var t=e.getControl();if(t&&"function"==typeof t.getEditorType){var n=x(t.getModel(),o),i=I.getController(t),s=new c.Range(o.lineNumber,o.column,o.lineNumber,o.column);return r.TPromise.as(i.processRequest(s,n))}})},k=function(e,t){if(!(t[0]instanceof i["default"]))throw new Error("illegal argument, uri expected");return e.get(y.IEditorService).openEditor({resource:t[0]}).then(function(e){var n=e.getControl();if(n&&"function"==typeof n.getEditorType){var o=I.getController(n),i=d.Position.asEmptyRange(t[1]);return r.TPromise.as(o.processRequest(c.Range.lift(i),r.TPromise.as(t[2])))}})},O="referenceSearchVisible";h.EditorBrowserRegistry.registerEditorContribution(I),p.CommonEditorRegistry.registerEditorAction(new p.EditorActionDescriptor(N,N.ID,n.localize(3,null),{context:p.ContextKey.EditorTextFocus,primary:T.KeyMod.Shift|T.KeyCode.F12})),S.KeybindingsRegistry.registerCommandDesc({id:"editor.action.findReferences",handler:R,weight:p.CommonEditorRegistry.commandWeight(50),context:[],primary:void 0}),S.KeybindingsRegistry.registerCommandDesc({id:"editor.action.showReferences",handler:k,weight:p.CommonEditorRegistry.commandWeight(50),context:[],primary:void 0}),p.CommonEditorRegistry.registerEditorCommand("closeReferenceSearch",p.CommonEditorRegistry.commandWeight(50),{primary:T.KeyCode.Escape},!1,O,function(e,t,n){var o=v.getOuterEditor(e,n);if(o){var i=I.getController(o);i.closeReferenceSearch()}}),p.CommonEditorRegistry.registerEditorCommand("closeReferenceSearchEditor",p.CommonEditorRegistry.commandWeight(-101),{primary:T.KeyCode.Escape},!1,m.ReferenceWidget.INNER_EDITOR_CONTEXT_KEY,function(e,t,n){var o=v.getOuterEditor(e,n);if(o){var i=I.getController(o);i.closeReferenceSearch()}})});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/contrib/goToDeclaration/browser/goToDeclaration",["require","exports","vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclaration","vs/base/common/severity","vs/base/common/platform","vs/base/browser/browser","vs/base/common/async","vs/base/common/strings","vs/base/common/errors","vs/base/common/arrays","vs/base/common/winjs.base","vs/editor/browser/editorBrowserExtensions","vs/editor/common/editorCommonExtensions","vs/editor/common/editorAction","vs/editor/common/editorCommon","vs/editor/common/modes/textToHtmlTokenizer","vs/editor/common/core/range","vs/base/common/keyCodes","vs/platform/request/common/request","vs/platform/message/common/message","vs/platform/telemetry/common/telemetry","vs/platform/editor/common/editor","vs/editor/contrib/referenceSearch/browser/referenceSearch","vs/editor/contrib/goToDeclaration/common/goToDeclaration","vs/css!./goToDeclaration"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E){function S(e,t){void 0===t&&(t=e.getPosition());for(var n=[],o=[],i=e.getModel(),r=0,s=E["default"].all(i);r1)i.addDecoration({startLineNumber:r.lineNumber,startColumn:s.startColumn,endLineNumber:r.lineNumber,endColumn:s.endColumn},n.localize(0,null,t.length,i.currentWordUnderMouse.word),!1);else{var o=t[0];i.editorService.resolveEditorModel({resource:o.resource}).then(function(t){var n;if(t&&t.textEditorModel){var u,l,c=Math.max(1,o.range.startLineNumber);l=t.textEditorModel,u=o.range.startLineNumber!==o.range.endLineNumber||o.range.startColumn!==o.range.endColumn?Math.min(o.range.endLineNumber,o.range.startLineNumber+e.MAX_SOURCE_PREVIEW_LINES,l.getLineCount()):Math.min(c+e.MAX_SOURCE_PREVIEW_LINES,l.getLineCount()),n=l.getValueInRange({startLineNumber:c,startColumn:1,endLineNumber:u,endColumn:l.getLineMaxColumn(u)}).trim();for(var d,h,p=Number.MAX_VALUE,f=/^[ \t]*/;u>=c&&p>0;)h=l.getLineContent(c++),0!==h.trim().length&&(d=f.exec(h),p=Math.min(p,d[0].length));n=n.replace(new RegExp("^([ \\t]{"+p+"})","gm"),a.empty),o.range.endLineNumber-o.range.startLineNumber>e.MAX_SOURCE_PREVIEW_LINES&&(n+="\n…")}i.addDecoration({startLineNumber:r.lineNumber,startColumn:s.startColumn,endLineNumber:r.lineNumber,endColumn:s.endColumn},n,!0)})}}).done(void 0,u.onUnexpectedError)}},e.prototype.addDecoration=function(e,t,n){var o=this.editor.getModel();if(o){var i={tagName:"div",className:"goto-definition-link-hover",style:"tab-size: "+this.editor.getIndentationOptions().tabSize};t&&t.trim().length>0&&(i.children=[n?m.tokenizeToHtmlContent(t,o.getMode()):{tagName:"span",text:t}]);var r={range:e,options:{inlineClassName:"goto-definition-link",htmlMessage:[i]}};this.decorations=this.editor.deltaDecorations(this.decorations,[r])}},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.onEditorKeyDown=function(t){t.keyCode===e.TRIGGER_KEY_VALUE&&this.lastMouseEvent?this.startFindDefinition(this.lastMouseEvent,t):t[e.TRIGGER_MODIFIER]&&this.removeDecorations()},e.prototype.resetHandler=function(){this.lastMouseEvent=null,this.removeDecorations()},e.prototype.onEditorMouseUp=function(e){var t=this;this.isEnabled(e)&&this.gotoDefinition(e.target,e.event.altKey).done(function(){t.removeDecorations()},function(e){t.removeDecorations(),u.onUnexpectedError(e)})},e.prototype.onEditorKeyUp=function(t){t.keyCode===e.TRIGGER_KEY_VALUE&&(this.removeDecorations(),this.currentWordUnderMouse=null)},e.prototype.isEnabled=function(t,n){return this.hasRequiredServices&&this.editor.getModel()&&(r.isIE11orEarlier||t.event.detail<=1)&&t.target.type===f.MouseTargetType.CONTENT_TEXT&&(t.event[e.TRIGGER_MODIFIER]||n&&n.keyCode===e.TRIGGER_KEY_VALUE)&&E["default"].has(this.editor.getModel())},e.prototype.findDefinition=function(e){var t=this.editor.getModel();return t?S(this.editor,e.position):c.TPromise.as(null)},e.prototype.gotoDefinition=function(e,t){var n=this,o=this.editor.captureState(f.CodeEditorStateFlag.Position,f.CodeEditorStateFlag.Value,f.CodeEditorStateFlag.Selection,f.CodeEditorStateFlag.Scroll);return this.findDefinition(e).then(function(i){if(i&&i.length&&o.validate(n.editor)){var r=e.position,s=n.editor.getModel().getWordAtPosition(r),a=i.filter(function(t){return t.range&&!(s&&t.range.startColumn===s.startColumn&&t.range.startLineNumber===e.position.lineNumber)}).map(function(e){return{resource:e.resource,range:g.Range.collapseToStart(e.range)}});if(a.length){if(a.length>1){var u=w.FindReferencesController.getController(n.editor);return u.processRequest(n.editor.getSelection(),c.TPromise.as(a))}return n.editorService.openEditor({resource:a[0].resource,options:{selection:a[0].range}},t)}}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){for(;this.toUnhook.length>0;)this.toUnhook.pop()()},e.ID="editor.contrib.gotodefinitionwithmouse",e.TRIGGER_MODIFIER=i.isMacintosh?"metaKey":"ctrlKey",e.TRIGGER_KEY_VALUE=i.isMacintosh?v.KeyCode.Meta:v.KeyCode.Ctrl,e.MAX_SOURCE_PREVIEW_LINES=7,e=__decorate([__param(1,y.IRequestService),__param(2,_.IMessageService),__param(3,C.IEditorService)],e)}();h.CommonEditorRegistry.registerEditorAction(new h.EditorActionDescriptor(M,M.ID,n.localize(1,null),{context:h.ContextKey.EditorTextFocus,primary:v.KeyMod.Alt|v.KeyCode.F12,linux:{primary:v.KeyMod.CtrlCmd|v.KeyMod.Shift|v.KeyCode.F10}}));var N;N=i.isWeb?v.KeyMod.CtrlCmd|v.KeyCode.F12:v.KeyCode.F12,h.CommonEditorRegistry.registerEditorAction(new h.EditorActionDescriptor(x,x.ID,n.localize(2,null),{context:h.ContextKey.EditorTextFocus,primary:N})),h.CommonEditorRegistry.registerEditorAction(new h.EditorActionDescriptor(L,L.ID,n.localize(3,null))),d.EditorBrowserRegistry.registerEditorContribution(I)}),define("vs/editor/browser/editor.all",["vs/editor/browser/widget/codeEditorWidget","vs/editor/browser/widget/diffEditorWidget","vs/editor/contrib/clipboard/browser/clipboard","vs/editor/contrib/codelens/browser/codelens","vs/editor/contrib/color/browser/color","vs/editor/contrib/comment/common/comment","vs/editor/contrib/contextmenu/browser/contextmenu","vs/editor/contrib/diffNavigator/common/diffNavigator","vs/editor/contrib/find/browser/find","vs/editor/contrib/format/common/formatActions","vs/editor/contrib/goToDeclaration/browser/goToDeclaration","vs/editor/contrib/gotoError/browser/gotoError","vs/editor/contrib/hover/browser/hover","vs/editor/contrib/inPlaceReplace/common/inPlaceReplace","vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard","vs/editor/contrib/linesOperations/common/linesOperations","vs/editor/contrib/links/browser/links","vs/editor/contrib/multicursor/common/multicursor","vs/editor/contrib/outlineMarker/browser/outlineMarker","vs/editor/contrib/parameterHints/browser/parameterHints","vs/editor/contrib/quickFix/browser/quickFix","vs/editor/contrib/referenceSearch/browser/referenceSearch","vs/editor/contrib/rename/browser/rename","vs/editor/contrib/rename/browser/rename2","vs/editor/contrib/smartSelect/common/smartSelect","vs/editor/contrib/smartSelect/common/jumpToBracket","vs/editor/contrib/snippet/common/snippet","vs/editor/contrib/snippet/browser/snippet","vs/editor/contrib/suggest/browser/suggest","vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode","vs/editor/contrib/wordHighlighter/common/wordHighlighter","vs/editor/contrib/workerStatusReporter/browser/workerStatusReporter","vs/editor/common/languages.common"],function(){}),define("vs/platform/workspace/common/baseWorkspaceContextService",["require","exports","vs/base/common/uri","vs/base/common/paths","./workspace"],function(e,t,n,o,i){var r=function(){function e(e,t,n){void 0===n&&(n={}),this.serviceId=i.IWorkspaceContextService,this.workspace=e,this.configuration=t,this.options=n}return e.prototype.getWorkspace=function(){return this.workspace},e.prototype.getConfiguration=function(){return this.configuration},e.prototype.getOptions=function(){return this.options},e.prototype.isInsideWorkspace=function(e){return e&&this.workspace?o.isEqualOrParent(e.fsPath,this.workspace.resource.fsPath):!1},e.prototype.toWorkspaceRelativePath=function(e){return this.isInsideWorkspace(e)?o.normalize(o.relative(this.workspace.resource.fsPath,e.fsPath)):null},e.prototype.toResource=function(e){return"string"==typeof e&&this.workspace?n["default"].file(o.join(this.workspace.resource.fsPath,e)):null},e}();t.BaseWorkspaceContextService=r}),define("vs/editor/browser/standalone/standaloneServices",["require","exports","vs/editor/common/services/modelServiceImpl","vs/platform/instantiation/common/instantiationService","vs/platform/thread/common/mainThreadService","vs/platform/markers/common/markerService","vs/base/common/flags","vs/base/common/uri","vs/platform/telemetry/browser/mainTelemetryService","vs/editor/browser/standalone/simpleServices","vs/platform/contextview/browser/contextViewService","vs/platform/contextview/browser/contextMenuService","vs/platform/workspace/common/baseWorkspaceContextService","vs/platform/event/common/eventService","vs/editor/browser/services/codeEditorServiceImpl","vs/editor/common/services/modeServiceImpl"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m){function g(e){var t={};if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function v(e){e=g(e);var t=_(e);return e.threadService=e.threadService||t.threadService,e.pluginService=e.pluginService||t.pluginService,e.modeService=e.modeService||t.modeService,e.contextService=e.contextService||t.contextService,e.telemetryService=e.telemetryService||t.telemetryService,e.requestService=e.requestService||t.requestService,e.messageService=e.messageService||t.messageService,e.modelService=e.modelService||t.modelService,e.codeEditorService=e.codeEditorService||t.codeEditorService,e.eventService=e.eventService||t.eventService,e.markerService=e.markerService||t.markerService,e}function y(e,t){var n=[];if("undefined"==typeof t.keybindingService){var o=new l.StandaloneKeybindingService(e);n.push(o),t.keybindingService=o}if("undefined"==typeof t.contextViewService){var i=new c.ContextViewService(e,t.telemetryService,t.messageService);n.push(i),t.contextViewService=i}if("undefined"==typeof t.contextMenuService){var r=new d.ContextMenuService(e,t.telemetryService,t.messageService,i);n.push(r),t.contextMenuService=r}return n}function _(e){if(b)return b;e=e||{};var t=e.contextService;if(!t){var c=a["default"].create("inmemory","model","/");t=new h.BaseWorkspaceContextService({resource:c,id:null,name:null,uid:null,mtime:null},{})}var d=e.telemetryService;if(!d){var g=t.getConfiguration(),v=g&&g.env?!!g.env.enableTelemetry:!1;d=new u.MainTelemetryService({enableTelemetry:v})}s.standaloneEditorTelemetryEndpoint&&console.warn("standaloneEditorTelemetryEndpoint is obsolete");var y=e.threadService;y||(y=new i.MainThreadService(t,"vs/editor/common/worker/editorWorkerServer"));var _=e.messageService||new l.SimpleMessageService,C=e.pluginService||new l.SimplePluginService,w=e.markerService||new r.MarkerService(y),E=e.requestService||new l.SimpleEditorRequestService(t,d),S=e.modelService||new n.ModelServiceImpl(y,w),T=e.modeService;T||(T=new m.MainThreadModeServiceImpl(y,C,S));var L=e.codeEditorService||new f.CodeEditorServiceImpl,x=e.eventService||new p.EventService;b={pluginService:C,modeService:T,threadService:y,markerService:w,contextService:t,telemetryService:d,requestService:E,messageService:_,modelService:S,codeEditorService:L,eventService:x};var M=o.create(b);return y instanceof i.MainThreadService&&y.setInstantiationService(M),d.setInstantiationService(M),b}t.ensureStaticPlatformServices=v,t.ensureDynamicPlatformServices=y;var b=null;t.getOrCreateStaticServices=_});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__decorate=this&&this.__decorate||function(e,t,n,o){if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)return Reflect.decorate(e,t,n,o);switch(arguments.length){case 2:return e.reduceRight(function(e,t){return t&&t(e)||e},t);case 3:return e.reduceRight(function(e,o){return void(o&&o(t,n))},void 0);case 4:return e.reduceRight(function(e,o){return o&&o(t,n,e)||e},o)}},__param=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};define("vs/editor/browser/standalone/standaloneCodeEditor",["require","exports","vs/editor/browser/widget/codeEditorWidget","vs/editor/browser/standalone/simpleServices","vs/editor/browser/standalone/standaloneServices","vs/base/common/network","vs/base/common/lifecycle","vs/platform/instantiation/common/instantiationService","vs/editor/browser/widget/diffEditorWidget","vs/editor/common/config/defaultConfig","vs/platform/plugins/common/pluginsRegistry","vs/platform/telemetry/common/abstractRemoteTelemetryService","vs/platform/editor/common/editor","vs/platform/markers/common/markers","vs/platform/telemetry/common/telemetry","vs/platform/keybinding/common/keybindingService","vs/platform/instantiation/common/instantiation","vs/platform/contextview/browser/contextView","vs/editor/browser/standalone/colorizer","vs/editor/common/modes/modesRegistry","vs/platform/platform","vs/platform/instantiation/common/descriptors","vs/editor/common/modes/languageExtensionPoint","vs/platform/keybinding/browser/keybindingServiceImpl","vs/editor/common/services/codeEditorService"],function(e,t,n,o,i,r,s,a,u,l,c,d,h,p,f,m,g,v,y,_,b,C,w,E,S){function T(e){var t={};if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function L(e,t,n){B.initStaticServicesIfNecessary(),n=T(n);var i=null;n&&n.editorService||(i=new o.SimpleEditorService,n.editorService=i);var r=M(e,n),s=r.ctx.instantiationService.createInstance(V,e,t,r.toDispose);return i&&i.setEditor(s),s}function x(e,t,n){B.initStaticServicesIfNecessary(),n=T(n);var i=null;n&&n.editorService||(i=new o.SimpleEditorService,n.editorService=i);var r=M(e,n),s=r.ctx.instantiationService.createInstance(H,e,t,r.toDispose);return i&&i.setEditor(s),s}function M(e,t){t=i.ensureStaticPlatformServices(t);var n=i.ensureDynamicPlatformServices(e,t);return t.instantiationService=a.create(t),{ctx:t,toDispose:n}}function I(e,t,n,o,i){var r=t.lookup(o);o=r.length>0?r[0].modeId:"plain/text";var s=t.getMode(o);return s?e.createModel(n,s,i):e.createModel(n,t.getOrCreateMode(o),i)}function N(e,t,n){B.initStaticServicesIfNecessary();var o,s=i.ensureStaticPlatformServices(null).modelService;if(o="string"==typeof n?new r.URL(n):n,"function"==typeof t.getId)return s.createModel(e,t,o);if("string"==typeof t){var a=i.ensureStaticPlatformServices(null).modeService;return I(s,a,e,t,o)}return s.createModel(e,A(t),o)}function R(e){B.initStaticServicesIfNecessary();var t=i.ensureStaticPlatformServices(null).modeService;return t.getOrCreateMode(e)}function k(e,t){B.initStaticServicesIfNecessary();var n=i.ensureStaticPlatformServices(null).modeService;n.configureModeById(e,t)}function O(e,t,n){var o=b.Registry.as(_.Extensions.EditorModes);o.registerWorkerParticipant(e,C.createAsyncDescriptor0(t,n))}function D(){return B.initStaticServicesIfNecessary(),e("vscode")}function A(e){B.initStaticServicesIfNecessary();var t=i.ensureStaticPlatformServices(null).modeService,n=e.name,o=e.name;return w.LanguageExtensions.registerLanguage({id:n,aliases:[o]}),c.PluginsRegistry.registerOneTimeActivationEventListener("onLanguage:"+n,function(){t.registerMonarchDefinition(n,e)}),t.getOrCreateMode(n)}function P(t,n){w.LanguageExtensions.registerLanguage(t),c.PluginsRegistry.registerOneTimeActivationEventListener("onLanguage:"+t.id,function(){e([n],function(e){if(!e.language)return void console.error("Expected "+n+" to export a `language`");B.initStaticServicesIfNecessary();var o=i.ensureStaticPlatformServices(null).modeService;o.registerMonarchDefinition(t.id,e.language)},function(e){console.error("Cannot find module "+n,e)})})}function W(e,t){B.initStaticServicesIfNecessary();var n=i.ensureStaticPlatformServices(null).modeService;return y.colorizeElement(n,e,t)}function F(e,t,n){B.initStaticServicesIfNecessary();var o=i.ensureStaticPlatformServices(null).modeService;return y.colorize(o,e,t,n)}l.DefaultConfig.editor.wrappingIndent="none";var V=function(e){function t(t,n,i,r,s,a,u,l,c,d){a instanceof E.AbstractKeybindingService&&a.setInstantiationService(r),a instanceof o.StandaloneKeybindingService&&(this._standaloneKeybindingService=a),this._contextViewService=l,this._editorService=c,this._markerService=d,this._toDispose2=i,n=n||{},"undefined"==typeof n.model?(n.model=self.Monaco.Editor.createModel(n.value||"",n.mode||"text/plain"),this._ownsModel=!0):this._ownsModel=!1,e.call(this,t,n,r,s,a,u)}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._toDispose2=s.disposeAll(this._toDispose2)},t.prototype.destroy=function(){this.dispose()},t.prototype.getMarkerService=function(){return this._markerService},t.prototype.addCommand=function(e,t,n){return this._standaloneKeybindingService?this._standaloneKeybindingService.addDynamicKeybinding(e,t,n):(console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null)},t.prototype.createContextKey=function(e,t){return this._standaloneKeybindingService?this._standaloneKeybindingService.createKey(e,t):(console.warn("Cannot create context key because the editor is configured with an unrecognized KeybindingService"),null)},t.prototype.addAction=function(t){var n=this;if(e.prototype.addAction.call(this,t),!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),null;if(Array.isArray(t.keybindings)){var o=function(e){return n.trigger("keyboard",t.id,null)};t.keybindings.forEach(function(e){n._standaloneKeybindingService.addDynamicKeybinding(e,o,t.keybindingContext,t.id)})}},t.prototype.getTelemetryService=function(){return this._telemetryService},t.prototype.getEditorService=function(){return this._editorService},t.prototype._attachModel=function(t){e.prototype._attachModel.call(this,t),this._view&&this._contextViewService.setContainer(this._view.domNode)},t.prototype._postDetachModelCleanup=function(t){e.prototype._postDetachModelCleanup.call(this,t),t&&this._ownsModel&&(t.destroy(),this._ownsModel=!1)},t=__decorate([__param(3,g.IInstantiationService),__param(4,S.ICodeEditorService),__param(5,m.IKeybindingService),__param(6,f.ITelemetryService),__param(7,v.IContextViewService),__param(8,h.IEditorService),__param(9,p.IMarkerService)],t)}(n.CodeEditorWidget),H=function(e){function t(t,n,i,r,s,a,u,l,c){s instanceof E.AbstractKeybindingService&&s.setInstantiationService(r),s instanceof o.StandaloneKeybindingService&&(this._standaloneKeybindingService=s),this._contextViewService=a,this._editorService=u,this._markerService=l,this._telemetryService=c,this._toDispose2=i,n=n||{},e.call(this,t,n,r),this._contextViewService.setContainer(this._containerDomElement)}return __extends(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._toDispose2=s.disposeAll(this._toDispose2)},t.prototype.destroy=function(){this.dispose()},t.prototype.getMarkerService=function(){return this._markerService},t.prototype.addCommand=function(e,t,n){return this._standaloneKeybindingService?this._standaloneKeybindingService.addDynamicKeybinding(e,t,n):(console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null)},t.prototype.createContextKey=function(e,t){return this._standaloneKeybindingService?this._standaloneKeybindingService.createKey(e,t):(console.warn("Cannot create context key because the editor is configured with an unrecognized KeybindingService"),null)},t.prototype.addAction=function(t){var n=this;if(e.prototype.addAction.call(this,t),!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),null;if(Array.isArray(t.keybindings)){var o=function(e){return n.trigger("keyboard",t.id,null)};t.keybindings.forEach(function(e){n._standaloneKeybindingService.addDynamicKeybinding(e,o,t.keybindingContext,t.id)})}},t.prototype.getTelemetryService=function(){return this._telemetryService},t=__decorate([__param(3,g.IInstantiationService),__param(4,m.IKeybindingService),__param(5,v.IContextViewService),__param(6,h.IEditorService),__param(7,p.IMarkerService),__param(8,f.ITelemetryService)],t)}(u.DiffEditorWidget),B=function(){var e=!1,t=!1;return{initStaticServicesIfNecessary:function(){if(!e){e=!0;var t=i.getOrCreateStaticServices();t.threadService.getRemotable(d.RemoteTelemetryServiceHelper)}},setupServices:function(n){return t?void console.error("Call to Monaco.Editor.setupServices is ignored because it was called before"):(t=!0,e?void console.error("Call to Monaco.Editor.setupServices is ignored because other API was called before"):i.ensureStaticPlatformServices(n))}}}();t.setupServices=B.setupServices,t.create=L,t.createDiffEditor=x,t.createModel=N,t.getOrCreateMode=R,t.configureMode=k,t.registerWorkerParticipant=O,t.getAPI=D,t.createCustomMode=A,t.registerStandaloneLanguage=P,t.colorizeElement=W,t.colorize=F}),define("vs/editor/browser/standalone/standaloneEditor",["require","exports","vs/editor/browser/standalone/colorizer","vs/editor/browser/standalone/standaloneCodeEditor","vs/editor/common/editorCommon","vs/editor/browser/editorBrowser","vs/editor/standalone-languages/all"],function(e,t,n,o,i,r){var s=self;s.Monaco||(s.Monaco={});var a=s.Monaco;a.Editor||(a.Editor={}),a.Editor.setupServices=o.setupServices,a.Editor.getAPI=o.getAPI,a.Editor.create=o.create,a.Editor.createModel=o.createModel,a.Editor.createDiffEditor=o.createDiffEditor,a.Editor.configureMode=o.configureMode,a.Editor.registerWorkerParticipant=o.registerWorkerParticipant,a.Editor.getOrCreateMode=o.getOrCreateMode,a.Editor.createCustomMode=o.createCustomMode,a.Editor.colorize=o.colorize,a.Editor.colorizeElement=o.colorizeElement,a.Editor.colorizeLine=n.colorizeLine,a.Editor.colorizeModelLine=n.colorizeModelLine,a.Editor.SelectionDirection=i.SelectionDirection,a.Editor.WrappingIndent=i.WrappingIndent,a.Editor.wrappingIndentFromString=i.wrappingIndentFromString,a.Editor.OverviewRulerLane=i.OverviewRulerLane,a.Editor.EndOfLinePreference=i.EndOfLinePreference,a.Editor.EndOfLineSequence=i.EndOfLineSequence,a.Editor.LineTokensBinaryEncoding=i.LineTokensBinaryEncoding,a.Editor.TrackedRangeStickiness=i.TrackedRangeStickiness,a.Editor.VerticalRevealType=i.VerticalRevealType,a.Editor.MouseTargetType=i.MouseTargetType,a.Editor.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS=i.KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS,a.Editor.KEYBINDING_CONTEXT_EDITOR_FOCUS=i.KEYBINDING_CONTEXT_EDITOR_FOCUS,a.Editor.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS=i.KEYBINDING_CONTEXT_EDITOR_TAB_MOVES_FOCUS,a.Editor.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS=i.KEYBINDING_CONTEXT_EDITOR_HAS_MULTIPLE_SELECTIONS,a.Editor.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION=i.KEYBINDING_CONTEXT_EDITOR_HAS_NON_EMPTY_SELECTION,a.Editor.KEYBINDING_CONTEXT_EDITOR_LANGUAGE_ID=i.KEYBINDING_CONTEXT_EDITOR_LANGUAGE_ID,a.Editor.ViewEventNames=i.ViewEventNames,a.Editor.CodeEditorStateFlag=i.CodeEditorStateFlag,a.Editor.EditorType=i.EditorType,a.Editor.ClassName=i.ClassName,a.Editor.EventType=i.EventType,a.Editor.Handler=i.Handler,a.Editor.ClassNames=r.ClassNames,a.Editor.ContentWidgetPositionPreference=r.ContentWidgetPositionPreference,a.Editor.OverlayWidgetPositionPreference=r.OverlayWidgetPositionPreference;var u=this.MonacoEditorLanguages||[];u.forEach(function(e){o.registerStandaloneLanguage(e,e.defModule)})}),define("vs/editor/editor.main",["vs/editor/browser/editor.all","vs/editor/browser/standalone/standaloneEditor","vs/editor/contrib/quickOpen/browser/quickOutline.contribution","vs/editor/contrib/quickOpen/browser/gotoLine.contribution","vs/editor/contrib/quickOpen/browser/quickCommand.contribution","vs/languages/languages.main"],function(){}); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.nls.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.nls.js new file mode 100755 index 0000000000000000000000000000000000000000..7bae5ed0f2fadd6d260dbc4749f9fd2cdfe2386a --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/editor/editor.main.nls.js @@ -0,0 +1,61 @@ +define( +"vs/editor/editor.main.nls",{ +"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})","操作栏"], +"vs/base/browser/ui/findinput/findInput":["input","Use Regular Expression","Match Whole Word","Match Case"], +"vs/base/common/errors":["{0}. Error code: {1}","Permission Denied (HTTP {0})","Permission Denied","{0} (HTTP {1}: {2})","{0} (HTTP {1})","Unknown Connection Error ({0})","An unknown connection error occurred. Either you are no longer connected to the internet or the server you are connected to is offline.","{0}: {1}","An unknown error occurred. Please consult the log for more details.","An unknown error occurred. Please consult the log for more details.","{0} ({1} errors in total)","An unknown error occurred. Please consult the log for more details.","Not Implemented","Illegal argument: {0}","Illegal argument","Illegal state: {0}","Illegal state","Failed to load a required file. Either you are no longer connected to the internet or the server you are connected to is offline. Please refresh the browser to try again.","Failed to load a required file. Please restart the application to try again. Details: {0}"], +"vs/base/common/json":["Invalid symbol","Invalid number format","Property name expected","Value expected","Colon expected","Value expected","Comma expected","Value expected","Closing brace expected","Value expected","Comma expected","Value expected","Closing bracket expected","Value expected","End of content expected"], +"vs/base/common/keyCodes":["Windows","Ctrl","Shift","Alt","Command","Windows"], +"vs/base/common/severity":["Error","Warning","Info"], +"vs/base/common/strings":["{0}-{1}-{2} {3}:{4}:{5}","{0}:{1}:{2}"], +"vs/editor/browser/view/viewImpl":["Editor content"], +"vs/editor/common/config/commonEditorConfig":["Editor configuration","Controls the font family.","Controls the font size.","Controls the line height.","Controls visibility of line numbers","Controls visibility of the glyph margin",'Controls the rendering size of tabs in characters. Accepted values: "auto", 2, 4, 6, etc. If set to "auto", the value will be guessed when a file is opened.','Controls if the editor will insert spaces for tabs. Accepted values: "auto", true, false. If set to "auto", the value will be guessed when a file is opened.',"Controls if selections have rounded corners","Controls if the editor will scroll beyond the last line","Controls after how many characters the editor will wrap to the next line. Setting this to 0 turns on viewport width wrapping","Controls the indentation of wrapped lines. Can be one of 'none', 'same' or 'indent'.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events","Controls if quick suggestions should show up or not while typing","Controls the delay in ms after which quick suggestions will show up","Controls if the editor should automatically close brackets after opening them","Controls if the editor should automatically format the line after typing","Controls if suggestions should automatically show up when typing trigger characters","Controls whether the editor should highlight similar matches to the selection","Controls the number of decorations that can show up at the same position in the overview ruler","Controls if the cursor should be hidden in the overview ruler.","Controls whether the editor should render whitespace characters","Controls if the editor shows reference information for the modes that support it","Controls if the diff editor shows the diff side by side or inline","Controls if the diff editor shows changes in leading or trailing whitespace as diffs"], +"vs/editor/common/controller/cursor":["Unexpected exception while executing command."], +"vs/editor/common/model/textModelWithTokens":["The mode has failed while tokenizing the input."], +"vs/editor/common/modes/languageExtensionPoint":["Contributes language declarations.","ID of the language.","Name aliases for the language.","File extensions associated to the language.","File names associated to the language.","Mime types associated to the language.","A regular expression matching the first line of a file of the language.","A relative path to a file containing configuration options for the language.","Empty value for `contributes.{0}`","property `{0}` is mandatory and must be of type `string`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string`","property `{0}` can be omitted and must be of type `string`","property `{0}` can be omitted and must be of type `string[]`","property `{0}` can be omitted and must be of type `string[]`","Invalid `contributes.{0}`. Expected an array."], +"vs/editor/common/services/bulkEdit":["These files have changed in the meantime: {0}"], +"vs/editor/contrib/clipboard/browser/clipboard":["Cut","Copy","Paste"], +"vs/editor/contrib/comment/common/comment":["Toggle Line Comment","Add Line Comment","Remove Line Comment","Toggle Block Comment"], +"vs/editor/contrib/contextmenu/browser/contextmenu":["Show Editor Context Menu"], +"vs/editor/contrib/find/browser/find":["Select All Occurences of Find Match","Find","Find Next","Find Previous","Replace","Move Last Selection To Next Find Match","Add Selection To Next Find Match"], +"vs/editor/contrib/find/browser/findWidget":["Find","Find","Previous match (Shift+F3)","Next match (F3)","Find in selection","Close (Escape)","Replace","Replace","Replace","Replace All","Toggle Replace mode"], +"vs/editor/contrib/format/common/formatActions":["代码格式化"], +"vs/editor/contrib/goToDeclaration/browser/goToDeclaration":["Click to show the {0} definitions for '{1}'.","预览定义","跳转到定义","Go to Type Definition"], +"vs/editor/contrib/gotoError/browser/gotoError":["Suggested fixes: ","Suggested fix: ","Go to Next Error or Warning","Go to Previous Error or Warning"], +"vs/editor/contrib/hover/browser/modesContentHover":["Loading..."], +"vs/editor/contrib/inPlaceReplace/common/inPlaceReplace":["Replace with Previous Value","Replace with Next Value"], +"vs/editor/contrib/linesOperations/common/linesOperations":["Delete Line","Trim Trailing Whitespace","Move Line Down","Move Line Up","Copy Line Down","Copy Line Up","Indent Line","Outdent Line","Insert Line Above","Insert Line Below"], +"vs/editor/contrib/links/browser/links":["Cmd + click to follow link","Ctrl + click to follow link","Invalid URI: cannot open {0}","Open Link"], +"vs/editor/contrib/multicursor/common/multicursor":["Insert Cursor Above","Insert Cursor Below"], +"vs/editor/contrib/parameterHints/browser/parameterHints":["Trigger Parameter Hints"], +"vs/editor/contrib/quickFix/browser/quickFix":["Quick Fix"], +"vs/editor/contrib/quickFix/browser/quickFixSelectionWidget":["Loading...","No fix suggestions."], +"vs/editor/contrib/quickOpen/browser/gotoLine":["Go to line {0} and column {1}","Go to line {0}","Type a line number between 1 and {0} to navigate to","Type a column between 1 and {0} to navigate to","Go to Line...","Type a line number, followed by an optional colon and a column number to navigate to"], +"vs/editor/contrib/quickOpen/browser/gotoLine.contribution":["Go to Line..."], +"vs/editor/contrib/quickOpen/browser/quickCommand":["快捷键","Type the name of an action you want to execute"], +"vs/editor/contrib/quickOpen/browser/quickCommand.contribution":["快捷键"], +"vs/editor/contrib/quickOpen/browser/quickOutline":["跳转...","Type the name of an identifier you wish to navigate to","symbols ({0})","modules ({0})","classes ({0})","interfaces ({0})","methods ({0})","functions ({0})","properties ({0})","variables ({0})","variables ({0})","constructors ({0})","calls ({0})"], +"vs/editor/contrib/quickOpen/browser/quickOutline.contribution":["Go to Symbol..."], +"vs/editor/contrib/referenceSearch/browser/referenceSearch":["Loading...","No results","查找所有引用","Show References"], +"vs/editor/contrib/referenceSearch/browser/referenceSearchWidget":["{0} references","{0} reference","no preview available","References"], +"vs/editor/contrib/rename/browser/rename":["修改所有出现过的单词"], +"vs/editor/contrib/rename/browser/rename2":["No result.","重命名变量"], +"vs/editor/contrib/smartSelect/common/jumpToBracket":["Go to Bracket"], +"vs/editor/contrib/smartSelect/common/smartSelect":["Expand Select","Shrink Select"], +"vs/editor/contrib/suggest/browser/suggest":["Trigger Suggest"], +"vs/editor/contrib/suggest/browser/suggestWidget":["Loading...","No suggestions."], +"vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode":["Toggle Use of Tab Key for Setting Focus"], +"vs/editor/contrib/zoneWidget/browser/peekViewWidget":["Close"], +"vs/languages/css/common/css.contribution":["CSS configuration","Controls CSS validation and problem severities."], +"vs/languages/css/common/services/lintRules":["When using a vendor-specific prefix make sure to also include all other vendor-specific properties","When using a vendor-specific prefix also include the standard property","Do not use duplicate style definitions","Do not use empty rulesets","Import statements do not load in parallel","Do not use width or height when using padding or border","The universal selector (*) is known to be slow","No unit for zero needed","@font-face rule must define 'src' and 'font-family' properties","Hex colors must consist of three or six hex numbers","Invalid number of parameters","Unknown property.","IE hacks are only necessary when supporting IE7 and older","Unknown vendor specific property.","Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect","Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.","Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.","Selectors should not contain IDs because these rules are too tightly coupled with the HTML.","Enables or disables all validations"], +"vs/languages/javascript/common/javascript.contribution":["JavaScript configuration","Controls how JavaScript IntelliSense works.","Always include all words from the current document.","Complete functions with their parameter signature.","Controls how JavaScript validation works.","Controls VSCode's Javascript validation. If set to false both syntax and sematic validation is disabled","Run linter checks for JavaScript files - overrides validate.lint.* settings.","Check JavaScript files for syntax errors.","Controls various aspects of validation.","Don't spare curly brackets.","Empty block should have a comment.","Use '!==' and '===' instead of '!=' and '=='.","Missing semicolon.","Unexpected output of the 'typeof'-operator.","Semicolon instead of block.","Function inside loop.","Function with lowercase name used as constructor.","Looks for mistyped triple-slash references.","Unused local variable.","Unused local function.","Parameter don't match a function signature","Don't re-declare a variable and change its type.","Don't use an undeclared variable.","Don't use an unknown property.","Don't require an unknown module.","Don't re-declare a variable type by an assignment.","Only use numbers for arthimetic operations.","Don't use instanceof with primitive types.","Function with return-statement used as constructor."], +"vs/languages/json/common/json.contribution":["JSON configuration","Associate schemas to JSON files in the current project","A URL to a schema or a relative path to a schema in the current directory","A file pattern that can contain '*' to match against when resolving JSON files to schemas.","An array of file patterns to match against when resolving JSON files to schemas.","The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL."], +"vs/languages/less/common/less.contribution":["LESS configuration","Controls LESS validation and problem severities."], +"vs/languages/markdown/common/markdown.contribution":["Markdown preview configuration","A list of URLs or local paths to CSS style sheets to use from the markdown preview."], +"vs/languages/sass/common/sass.contribution":["Sass configuration","Controls Sass validation and problem severities."], +"vs/languages/typescript/common/typescript.contribution":["TypeScript configuration","Controls how TypeScript IntelliSense works.","Always include all words from the current document.","Complete functions with their parameter signature.","Controls various aspects of validation.","Don't spare curly brackets.","Empty block should have a comment.","Use '!==' and '===' instead of '!=' and '=='.","Missing semicolon.","Unexpected output of the 'typeof'-operator.","Semicolon instead of block.","Function inside loop.","Function with lowercase name used as constructor.","Looks for mistyped triple-slash references.","Unused local variable.","Unused local function.","Unused private member.","Don't spare the return-type annotation for functions."], +"vs/platform/configuration/common/configurationRegistry":["Contributes configuration settings.","A summary of the settings. This label will be used in the settings file as separating comment.","Type of the configuration, needs to be 'object'","Description of the configuration properties."], +"vs/platform/keybinding/browser/keybindingServiceImpl":["Here are other available commands: ","({0}) was pressed. Waiting for second key of chord...","The key combination ({0}, {1}) is not a command."], +"vs/platform/message/common/message":["Close","Cancel"], +"vs/platform/plugins/common/abstractPluginService":["Extension `{1}` failed to activate. Reason: unknown dependency `{0}`.","Extension `{1}` failed to activate. Reason: dependency `{0}` failed to activate.","Extension `{0}` failed to activate. Reason: more than 10 levels of dependencies (most likely a dependency loop).","Activating extension `{0}` failed: {1}."], +"vs/platform/plugins/common/pluginsRegistry":["Got empty extension description","property `{0}` is mandatory and must be of type `string`","property `{0}` is mandatory and must be of type `string`","property `{0}` is mandatory and must be of type `object`","property `{0}` is mandatory and must be of type `string`","property `{0}` can be omitted or must be of type `string[]`","property `{0}` can be omitted or must be of type `string[]`","properties `{0}` and `{1}` must both be specified or must both be omitted","property `{0}` can be omitted or must be of type `string`","Expected `main` ({0}) to be included inside extension's folder ({1}). This might make the extension non-portable.","properties `{0}` and `{1}` must both be specified or must both be omitted","The publisher of the VSCode extension.","Activation events for the VSCode extension.","Dependencies to other extensions.","Script executed before the package is published as a VSCode extension.","All contributions of the VSCode extension represented by this package.","Contributes output views.","The label of the output view."], +"vs/platform/theme/common/themes":["Light","Dark","High Contrast"]}); \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieCore.d.ts b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieCore.d.ts new file mode 100755 index 0000000000000000000000000000000000000000..3e7ffa70b28205e90432dae29e2ad36de97a20a9 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieCore.d.ts @@ -0,0 +1,4609 @@ +/** + * @module annie + */ +declare namespace annie { + /** + * annie引擎类的基类 + * @class annie.AObject + * @since 1.0.0 + */ + abstract class AObject { + protected _instanceId: number; + protected _instanceType: string; + protected static _object_id: number; + constructor(); + /** + * 每一个annie引擎对象都会有一个唯一的id码。 + * @property instanceId + * @public + * @since 1.0.0 + * @type {number} + * @readonly + * @example + * //获取 annie引擎类对象唯一码 + * console.log(this.instanceId); + */ + instanceId: number; + /** + * 每一个annie类都有一个实例类型字符串,通过这个字符串,你能知道这个实例是从哪个类实例而来 + * @property instanceType + * @since 1.0.3 + * @public + * @type {string} + * @readonly + */ + instanceType: string; + /** + * 销毁一个对象 + * 销毁之前一定要做完其他善后工作,否则有可能会出错 + * @method destroy + * @since 2.0.0 + * @public + * @return {void} + */ + destroy(): void; + } + /** + * 事件触发基类 + * @class annie.EventDispatcher + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class EventDispatcher extends AObject { + protected eventTypes: any; + protected eventTypes1: any; + constructor(); + private static _MECO; + static _totalMEC: number; + static getMouseEventCount(type?: string): number; + /** + * 给对象添加一个侦听 + * @method addEventListener + * @public + * @since 1.0.0 + * @param {string} type 侦听类型 + * @param {Function}listener 侦听后的回调方法,如果这个方法是类实例的方法,为了this引用的正确性,请在方法参数后加上.bind(this); + * @param {boolean} useCapture true 捕获阶段 false 冒泡阶段 默认 true + * @return {void} + * @example + * this.addEventListener(annie.Event.ADD_TO_STAGE,function(e){console.log(this);}.bind(this)); + */ + addEventListener(type: string, listener: Function, useCapture?: boolean): void; + private _changeMouseCount(type, isAdd); + private _defaultEvent; + /** + * 广播侦听 + * @method dispatchEvent + * @public + * @since 1.0.0 + * @param {annie.Event|string} event 广播所带的事件对象,如果传的是字符串则自动生成一个annie.Event对象,事件类型就是传入进来的字符串的值 + * @param {Object} data 广播后跟着事件一起传过去的其他任信息,默认值为null + * @param {boolean} useCapture true 捕获阶段 false 冒泡阶段 默认 true + * @return {boolean} 如果有收听者则返回true + * @example + * var mySprite=new annie.Sprite(), + * yourEvent=new annie.Event("yourCustomerEvent"); + * yourEvent.data={a:1,b:2,c:"hello",d:{aa:1,bb:2}}; + * mySprite.addEventListener("yourCustomerEvent",function(e){ + * console.log(e.data); + * }) + * mySprite.dispatchEvent(yourEvent); + */ + dispatchEvent(event: any, data?: any, useCapture?: boolean): boolean; + /** + * 是否有添加过此类型的侦听 + * @method hasEventListener + * @public + * @since 1.0.0 + * @param {string} type 侦听类型 + * @param {boolean} useCapture true 捕获阶段 false 冒泡阶段 默认 true + * @return {boolean} 如果有则返回true + */ + hasEventListener(type: string, useCapture?: boolean): boolean; + /** + * 移除对应类型的侦听 + * @method removeEventListener + * @public + * @since 1.0.0 + * @param {string} type 要移除的侦听类型 + * @param {Function} listener 侦听时绑定的回调方法 + * @param {boolean} useCapture true 捕获阶段 false 冒泡阶段 默认 true + * @return {void} + */ + removeEventListener(type: string, listener: Function, useCapture?: boolean): void; + /** + * 移除对象中所有的侦听 + * @method removeAllEventListener + * @public + * @since 1.0.0 + * @return {void} + */ + removeAllEventListener(): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 事件类,annie引擎中一切事件的基类 + * @class annie.Event + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class Event extends AObject { + /** + * annie.Stage舞台初始化完成后会触发的事件 + * @property ON_INIT_STAGE + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ON_INIT_STAGE: string; + /** + *

小游戏不支持 小程序不支持

+ * annie.Stage舞台尺寸发生变化时触发 + * @property RESIZE + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static RESIZE: string; + /** + * annie引擎暂停或者恢复暂停时触发,这个事件只能在annie.globalDispatcher中监听 + * @property ON_RUN_CHANGED + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ON_RUN_CHANGED: string; + /** + * annie.Media相关媒体类的播放刷新事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @property ON_PLAY_UPDATE + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_PLAY_UPDATE: string; + /** + * annie.Media相关媒体类的播放完成事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @property ON_PLAY_END + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_PLAY_END: string; + /** + * annie.Media相关媒体类的开始播放事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @property ON_PLAY_START + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_PLAY_START: string; + /** + * annie.FlipBook组件翻页开始事件 + * @property ON_FLIP_START + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_FLIP_START: string; + /** + * annie.FlipBook组件翻页结束事件 + * @property ON_FLIP_STOP + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_FLIP_STOP: string; + /** + * annie.ScrollPage组件滑动到开始位置事件 + * @property ON_SCROLL_TO_HEAD + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SCROLL_TO_HEAD: string; + /** + * annie.ScrollPage组件停止滑动事件 + * @property ON_SCROLL_STOP + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SCROLL_STOP: string; + /** + * annie.ScrollPage组件开始滑动事件 + * @property ON_SCROLL_START + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SCROLL_START: string; + /** + * annie.ScrollPage组件滑动到结束位置事件 + * @property ON_SCROLL_TO_END + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SCROLL_TO_END: string; + /** + * annie.Slide 组件开始滑动事件 + * @property ON_SLIDE_START + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SLIDE_START: string; + /** + * annie.Slide 组件结束滑动事件 + * @property ON_SLIDE_END + * @static + * @since 1.1.0 + * @type {string} + */ + static ON_SLIDE_END: string; + /** + * annie.DisplayObject显示对象加入到舞台事件 + * @property ADD_TO_STAGE + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ADD_TO_STAGE: string; + /** + * annie.DisplayObject显示对象从舞台移出事件 + * @property REMOVE_TO_STAGE + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static REMOVE_TO_STAGE: string; + /** + * annie.DisplayObject显示对象 循环帧事件 + * @property ENTER_FRAME + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ENTER_FRAME: string; + /** + * annie.MovieClip 播放完成事件 + * @property END_FRAME + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static END_FRAME: string; + /** + * annie.MovieClip 帧标签事件 + * @property CALL_FRAME + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static CALL_FRAME: string; + /** + * 完成事件 + * @property COMPLETE + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static COMPLETE: string; + /** + * annie.URLLoader加载过程事件 + * @property PROGRESS + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static PROGRESS: string; + /** + * annie.URLLoader出错事件 + * @property ERROR + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ERROR: string; + /** + * annie.URLLoader中断事件 + * @property ABORT + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static ABORT: string; + /** + * annie.URLLoader开始事件 + * @property START + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + static START: string; + /** + * annie.Timer定时器触发事件 + * @property TIMER + * @static + * @since 1.0.9 + * @public + * @type {string} + */ + static TIMER: string; + /** + * annie.Timer定时器完成事件 + * @property TIMER_COMPLETE + * @since 1.0.9 + * @static + * @public + * @type {string} + */ + static TIMER_COMPLETE: string; + /** + * annie.ScratchCard 刮刮卡事件,刮了多少,一个百分比 + * @property ON_DRAW_PERCENT + * @since 1.0.9 + * @static + * @public + * @type {string} + */ + static ON_DRAW_PERCENT: string; + /** + * 事件类型名 + * @property type + * @type {string} + * @public + * @since 1.0.0 + */ + type: string; + /** + * 触发此事件的对象 + * @property target + * @public + * @since 1.0.0 + * @type {any} + * @default null + */ + target: any; + /** + * 随着事件一起附带的信息对象 + * 所有需要随事件一起发送的信息都可以放在此对象中 + * @property data + * @public + * @since 1.0.0 + * @type {any} + * @default null + */ + data: any; + /** + * @method Event + * @param {string} type 事件类型 + * @public + * @since 1.0.0 + */ + constructor(type: string); + /** + * 防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 + * @method stopImmediatePropagation + * @public + * @return {void} + * @since 2.0.0 + */ + stopImmediatePropagation(): void; + /** + * 防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 + * @method stopPropagation + * @public + * @since 2.0.0 + * @return {void} + */ + stopPropagation(): void; + private _bpd; + private _pd; + destroy(): void; + /** + * 重置事件到初始状态方便重复利用 + * @method reset + * @param {string} type + * @param target + * @since 2.0.0 + * @return {void} + * @public + */ + reset(type: string, target: any): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 鼠标事件类,电脑端鼠标,移动设备端的触摸都使用此事件来监听 + * @class annie.MouseEvent + * @extends annie.Event + * @public + * @since 1.0.0 + */ + class MouseEvent extends Event { + /** + * annie.DisplayObject鼠标或者手指按下事件 + * @property MOUSE_DOWN + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static MOUSE_DOWN: string; + /** + * annie.DisplayObject鼠标或者手指抬起事件 + * @property MOUSE_UP + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static MOUSE_UP: string; + /** + * annie.DisplayObject鼠标或者手指单击 + * @property CLICK + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static CLICK: string; + /** + * annie.DisplayObject鼠标或者手指移动事件 + * @property MOUSE_MOVE + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static MOUSE_MOVE: string; + /** + * annie.DisplayObject鼠标或者手指移入到显示对象上里触发的事件 + * @property MOUSE_OVER + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static MOUSE_OVER: string; + /** + * annie.DisplayObject鼠标或者手指移出显示对象边界触发的事件 + * @property MOUSE_OUT + * @static + * @public + * @since 1.0.0 + * @type {string} + */ + static MOUSE_OUT: string; + /** + * mouse或touch事件时rootDiv坐标x点 + * @property clientX + * @public + * @since 1.0.0 + * @type {number} + */ + clientX: number; + /** + * mouse或touch事件时rootDiv坐标y点 + * @property clientY + * @public + * @since 1.0.0 + * @type {number} + */ + clientY: number; + /** + * mouse或touch事件时全局坐标x点 + * @property stageX + * @public + * @since 1.0.0 + * @type {number} + */ + stageX: number; + /** + * mouse或touch事件时全局坐标y点 + * @property stageY + * @public + * @since 1.0.0 + * @type {number} + */ + stageY: number; + /** + * mouse或touch事件时本地坐标x点 + * @property localX + * @public + * @since 1.0.0 + * @type {number} + */ + localX: number; + /** + * mouse或touch事件时本地坐标y点 + * @property localY + * @public + * @since 1.0.0 + * @type {number} + */ + localY: number; + /** + * 绑定此事件的侦听对象 + * @property currentTarget + * @public + * @since 1.0.0 + * @type{annie.DisplayObject} + * @default null + */ + currentTarget: DisplayObject; + /** + * 触摸或者鼠标事件的手指唯一标识 + * @property identifier + * @type {number} + * @since 1.1.2 + * @public + */ + identifier: any; + /** + * @method MouseEvent + * @public + * @since 1.0.0 + * @param {string} type + */ + constructor(type: string); + /** + * 事件后立即更新显示列表状态 + * @method updateAfterEvent + * @since 1.0.9 + * @public + * @return {void} + */ + updateAfterEvent(): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 多点触碰事件。单点事件请使用mouseEvent,pc和mobile通用 + * @class annie.TouchEvent + * @extends annie.Event + */ + class TouchEvent extends Event { + /** + * annie.Stage 的多点触碰事件。这个事件只能在annie.Stage对象上侦听 + * @property ON_MULTI_TOUCH + * @static + * @public + * @since 1.0.3 + * @type {string} + */ + static ON_MULTI_TOUCH: string; + /** + * 多点事件中点的信息,两个手指的点的在Canvas中的信息,第1个点。 + * 此点坐标不是显示对象中的点坐标,是原始的canvas中的点坐标。 + * 如果需要获取显示对象中此点对应的位置,包括stage在内,请用对象的getGlobalToLocal方法转换。 + * @property clientPoint1 + * @public + * @since 1.0.3 + * @type {annie.Point} + */ + clientPoint1: Point; + /** + * 多点事件中点的信息,两个手指的点的在Canvas中的信息,第2个点。 + * 此点坐标不是显示对象中的点坐标,是原始的canvas中的点坐标。 + * 如果需要获取显示对象中此点对应的位置,包括stage在内,请用对象的getGlobalToLocal方法转换。 + * @property clientPoint2 + * @public + * @since 1.0.3 + * @type {annie.Point} + */ + clientPoint2: Point; + /** + * 相对于上一次的缩放值 + * @property scale + * @since 1.0.3 + */ + scale: number; + /** + * 相对于上一次的旋转值 + * @property rotate + * @since 1.0.3 + */ + rotate: number; + /** + * @method TouchEvent + * @public + * @since 1.0.3 + * @param {string} type + */ + constructor(type: string); + /** + * 事件后立即更新显示列表状态 + * @method updateAfterEvent + * @since 1.0.9 + * @public + * @return {void} + */ + updateAfterEvent(): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * @class annie.Point + * @extends annie.AObject + * @since 1.0.0 + * @public + */ + class Point extends annie.AObject { + destroy(): void; + /** + * 构造函数 + * @method Point + * @public + * @since 1.0.0 + * @param x + * @param y + */ + constructor(x?: number, y?: number); + /** + * 水平坐标 + * @property x + * @public + * @since 1.0.0 + * @type{number} + */ + x: number; + /** + * 垂直坐标 + * @property y + * @since 1.0.0 + * @public + * @type {number} + */ + y: number; + /** + * 求两点之间的距离 + * @method distance + * @param args 可变参数 传两个参数的话就是两个annie.Point类型 传四个参数的话分别是两个点的x y x y + * @return {number} + * @static + */ + static distance(...args: any[]): number; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 2维矩阵,不熟悉的朋友可以找相关书箱看看 + * @class annie.Matrix + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class Matrix extends annie.AObject { + /** + * @property a + * @type {number} + * @public + * @default 1 + * @since 1.0.0 + */ + a: number; + /** + * @property b + * @public + * @since 1.0.0 + * @type {number} + */ + b: number; + /** + * @property c + * @type {number} + * @public + * @since 1.0.0 + */ + c: number; + /** + * @property d + * @type {number} + * @public + * @since 1.0.0 + */ + d: number; + /** + * @property tx + * @type {number} + * @public + * @since 1.0.0 + */ + tx: number; + /** + * @property ty + * @type {number} + * @since 1.0.0 + * @public + */ + ty: number; + /** + * 构造函数 + * @method Matrix + * @param {number} a + * @param {number} b + * @param {number} c + * @param {number} d + * @param {number} tx + * @param {number} ty + * @public + * @since 1.0.0 + */ + constructor(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number); + /** + * 复制一个矩阵 + * @method clone + * @since 1.0.0 + * @public + * @return {annie.Matrix} + */ + clone(): Matrix; + /** + * 将一个点通过矩阵变换后的点 + * @method transformPoint + * @param {number} x + * @param {number} y + * @param {annie.Point} 默认为空,如果不为null,则返回的是Point就是此对象,如果为null,则返回来的Point是新建的对象 + * @return {annie.Point} + * @public + * @since 1.0.0 + */ + transformPoint: (x: number, y: number, bp?: Point) => Point; + /** + * 从一个矩阵里赋值给这个矩阵 + * @method setFrom + * @param {annie.Matrix} mtx + * @public + * @since 1.0.0 + */ + setFrom(mtx: Matrix): void; + /** + * 将矩阵恢复成原始矩阵 + * @method identity + * @public + * @since 1.0.0 + */ + identity(): void; + /** + * 反转一个矩阵 + * @method invert + * @return {Matrix} + * @since 1.0.0 + * @public + */ + invert(): Matrix; + /** + * 设置一个矩阵通过普通的显示对象的相关九大属性 + * @method createBox + * @param {number} x + * @param {number} y + * @param {number} scaleX + * @param {number} scaleY + * @param {number} rotation + * @param {number} skewX + * @param {number} skewY + * @param {number} ax + * @param {number} ay + * @since 1.0.0 + * @public + */ + createBox(x: number, y: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number, ax: number, ay: number): void; + /** + * 矩阵相乘 + * @method prepend + * @public + * @since 1.0.0 + * @param {annie.Matrix} mtx + */ + prepend: (mtx: Matrix) => void; + /** + * 判断两个矩阵是否相等 + * @method isEqual + * @static + * @public + * @since 1.0.0 + * @param {annie.Matrix} m1 + * @param {annie.Matrix} m2 + * @return {boolean} + */ + static isEqual(m1: Matrix, m2: Matrix): boolean; + concat(mtx: annie.Matrix): void; + /** + * 对矩阵应用旋转转换。 + * @method rotate + * @param angle + * @since 1.0.3 + * @public + */ + rotate(angle: number): void; + /** + * 对矩阵应用缩放转换。 + * @method scale + * @param {Number} sx 用于沿 x 轴缩放对象的乘数。 + * @param {Number} sy 用于沿 y 轴缩放对象的乘数。 + * @since 1.0.3 + * @public + */ + scale(sx: number, sy: number): void; + /** + * 沿 x 和 y 轴平移矩阵,由 dx 和 dy 参数指定。 + * @method translate + * @public + * @since 1.0.3 + * @param {Number} dx 沿 x 轴向右移动的量(以像素为单位 + * @param {Number} dy 沿 y 轴向右移动的量(以像素为单位 + */ + translate(dx: number, dy: number): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * + * @class annie.Rectangle + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class Rectangle extends AObject { + /** + * 构造函数 + * @method Rectangle + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + */ + constructor(x?: number, y?: number, width?: number, height?: number); + /** + * 矩形左上角的 x 坐标 + * @property x + * @public + * @since 1.0.0 + * @type{number} + * @default 0 + */ + x: number; + /** + * 矩形左上角的 y 坐标 + * @property y + * @public + * @since 1.0.0 + * @type{number} + * @default 0 + */ + y: number; + /** + * 矩形的宽度(以像素为单位) + * @property width + * @public + * @since 1.0.0 + * @type{number} + * @default 0 + */ + width: number; + /** + * 矩形的高度(以像素为单位) + * @property height + * @public + * @since 1.0.0 + * @type{number} + * @default 0 + */ + height: number; + /** + * 判断一个点是否在矩形内包括边 + * @method isPointIn + * @param {annie.Point} point + * @return {boolean} + * @public + * @since 1.0.0 + */ + isPointIn(point: Point): boolean; + /** + * 将多个矩形合成为一个矩形,并将结果存到第一个矩形参数,并返回 + * @method createFromRects + * @param {annie.Rectangle} rect + * @param {..arg} arg + * @public + * @since 1.0.0 + * @static + */ + static createFromRects(...arg: Rectangle[]): Rectangle; + /** + * 通过一系列点来生成一个矩形 + * 返回包含所有给定的点的最小矩形 + * @method createFromPoints + * @static + * @public + * @since 1.0.0 + * @param {annie.Point} p1 + * @param {..arg} ary + * @return {annie.Rectangle} + */ + static createFromPoints(rect: Rectangle, ...arg: Point[]): Rectangle; + /** + * 通过两个点来确定一个矩形 + * @method createRectform2Point + * @static + * @param rect + * @param p1 + * @param p2 + * @return {void} + */ + static createRectform2Point(rect: Rectangle, p1: Point, p2: Point): void; + /** + * 判读两个矩形是否相交 + * @method testRectCross + * @public + * @since 1.0.2 + * @param r1 + * @param r2 + * @return {boolean} + */ + static testRectCross(ra: Rectangle, rb: Rectangle): boolean; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 显示对象抽象类,不能直接实例化。一切显示对象的基类,包含了显示对象需要的一切属性 + * DisplayObject 类本身不包含任何用于在屏幕上呈现内容的 API。 + * 因此,如果要创建 DisplayObject 类的自定义子类,您将需要扩展其中一个具有在屏幕 + * 上呈现内容的 API 的子类,如 Shape、Sprite、Bitmap、TextField 或 MovieClip 类。 + * @class annie.DisplayObject + * @since 1.0.0 + * @extends annie.EventDispatcher + */ + abstract class DisplayObject extends EventDispatcher { + /** + * annie.DisplayObject显示对象加入到舞台事件 + * @event ADD_TO_STAGE + * @since 1.0.0 + */ + /** + * annie.DisplayObject显示对象从舞台移出事件 + * @event REMOVE_TO_STAGE + * @since 1.0.0 + */ + /** + * annie.DisplayObject显示对象 循环帧事件 + * @event ENTER_FRAME + * @since 1.0.0 + */ + /** + * annie.DisplayObject鼠标或者手指按下事件 + * @event MOUSE_DOWN + * @since 1.0.0 + */ + /** + * annie.DisplayObject鼠标或者手指抬起事件 + * @event MOUSE_UP + * @since 1.0.0 + */ + /** + * annie.DisplayObject鼠标或者手指单击 + * @event CLICK + * @type {string} + */ + /** + * annie.DisplayObject鼠标或者手指移动事件 + * @event MOUSE_MOVE + * @since 1.0.0 + */ + /** + * annie.DisplayObject鼠标或者手指移入到显示对象上里触发的事件 + * @event MOUSE_OVER + * @since 1.0.0 + */ + /** + * annie.DisplayObject鼠标或者手指移出显示对象边界触发的事件 + * @event MOUSE_OUT + * @since 1.0.0 + */ + /** + * @method DisplayObject + * @since 1.0.0 + * @public + */ + constructor(); + protected _UI: { + UD: boolean; + UM: boolean; + UA: boolean; + UF: boolean; + }; + /** + * 此显示对象所在的舞台对象,如果此对象没有被添加到显示对象列表中,此对象为空。 + * @property stage + * @public + * @since 1.0.0 + * @type {Stage} + * @default null; + * @readonly + * */ + stage: Stage; + /** + * 显示对象的父级 + * @property parent + * @since 1.0.0 + * @public + * @type {annie.Sprite} + * @default null + * @readonly + */ + parent: Sprite; + protected cAlpha: number; + protected cMatrix: Matrix; + /** + * 是否可以接受点击事件,如果设置为false,此显示对象将无法接收到点击事件 + * @property mouseEnable + * @type {boolean} + * @public + * @since 1.0.0 + * @default false + */ + mouseEnable: boolean; + protected cFilters: any; + /** + * 每一个显示对象都可以给他命一个名字,这样我们在查找子级的时候就可以直接用this.getChildrndByName("name")获取到这个对象的引用 + * @property name + * @since 1.0.0 + * @public + * @type {string} + * @default "" + */ + name: string; + /** + * 显示对象位置x + * @property x + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + x: number; + private _x; + /** + * 显示对象位置y + * @property y + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + y: number; + private _y; + /** + * 显示对象x方向的缩放值 + * @property scaleX + * @public + * @since 1.0.0 + * @type {number} + * @default 1 + */ + scaleX: number; + private _scaleX; + /** + * 显示对象y方向的缩放值 + * @property scaleY + * @public + * @since 1.0.0 + * @type {number} + * @default 1 + */ + scaleY: number; + private _scaleY; + /** + * 显示对象旋转角度 + * @property rotation + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + rotation: number; + private _rotation; + /** + * 显示对象透明度 + * @property alpha + * @public + * @since 1.0.0 + * @type {number} + * @default 1 + */ + alpha: number; + private _alpha; + /** + * 显示对象x方向的斜切值 + * @property skewX + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + skewX: number; + private _skewX; + /** + * 显示对象y方向的斜切值 + * @property skewY + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + skewY: number; + private _skewY; + /** + * 显示对象上x方向的缩放或旋转点 + * @property anchorX + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + anchorX: number; + private _anchorX; + /** + * 显示对象上y方向的缩放或旋转点 + * @property anchorY + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + anchorY: number; + private _anchorY; + /** + * 显未对象是否可见 + * @property visible + * @public + * @since 1.0.0 + * @type {boolean} + * @default 0 + */ + visible: boolean; + _visible: boolean; + /** + * 显示对象的混合模式 + * 支持的混合模式大概有 + * @property blendMode + * @public + * @since 1.0.0 + * @type {string} + * @default 0 + */ + /** + * 显示对象的变形矩阵 + * @property matrix + * @public + * @since 1.0.0 + * @type {annie.Matrix} + * @default null + */ + matrix: Matrix; + private _matrix; + /** + * 显示对象的遮罩, 是一个Shape显示对象或是一个只包含shape显示对象的MovieClip + * @property mask + * @public + * @since 1.0.0 + * @type {annie.DisplayObject} + * @default null + */ + mask: DisplayObject; + private _mask; + /** + *

小游戏不支持 小程序不支持

+ * 显示对象的滤镜数组 + * @property filters + * @since 1.0.0 + * @public + * @type {Array} + * @default null + */ + filters: any[]; + private _filters; + protected _cp: boolean; + /** + *将全局坐标转换到本地坐标值 + * @method globalToLocal + * @since 1.0.0 + * @public + * @param {annie.Point} point + * @return {annie.Point} + */ + globalToLocal(point: Point, bp?: Point): Point; + /** + *将本地坐标转换到全局坐标值 + * @method localToGlobal + * @public + * @since 1.0.0 + * @param {annie.Point} point + * @return {annie.Point} + */ + localToGlobal(point: Point, bp?: Point): Point; + static _bp: Point; + static _p1: Point; + static _p2: Point; + static _p3: Point; + static _p4: Point; + protected _dragBounds: Rectangle; + protected _isDragCenter: boolean; + protected _lastDragPoint: Point; + /** + * 启动鼠标或者触摸拖动 + * @method startDrag + * @param {boolean} isCenter 指定将可拖动的对象锁定到指针位置中心 (true),还是锁定到用户第一次单击该对象的位置 (false) 默认false + * @param {annie.Rectangle} bounds 相对于显示对象父级的坐标的值,用于指定 Sprite 约束矩形 + * @since 1.1.2 + * @public + * @return {void} + */ + startDrag(isCenter?: boolean, bounds?: Rectangle): void; + protected _isUseToMask: number; + /** + * 停止鼠标或者触摸拖动 + * @method stopDrag + * @public + * @since 1.1.2 + * @return {void} + */ + stopDrag(): void; + /** + * 点击碰撞测试,就是舞台上的一个point是否在显示对象内,在则返回该对象,不在则返回null + * @method hitTestPoint + * @public + * @since 1.0.0 + * @param {annie.Point} hitPoint 要检测碰撞的点 + * @param {boolean} isGlobalPoint 是不是全局坐标的点,默认false是本地坐标 + * @param {boolean} isMustMouseEnable 是不是一定要MouseEnable为true的显示对象才接受点击测试,默认为不需要 false + * @return {annie.DisplayObject} + */ + hitTestPoint(hitPoint: Point, isGlobalPoint?: boolean, isMustMouseEnable?: boolean): DisplayObject; + /** + * 获取对象的自身的没有任何形变的原始姿态下的原点坐标及宽高,抽象方法 + * @method getBounds + * @public + * @since 1.0.0 + * @return {annie.Rectangle} + */ + getBounds(): Rectangle; + /** + * 获取对象形变后外切矩形。 + * 可以从这个方法中读取到此显示对象变形后x方向上的宽和y方向上的高 + * @method getDrawRect + * @public + * @since 1.0.0 + * @return {annie.Rectangle} + */ + getDrawRect(): Rectangle; + /** + * 更新函数 + * @method update + * @public + * @since 1.0.0 + * @return {void} + */ + protected update(isDrawUpdate?: boolean): void; + /** + * 调用此方法将显示对象渲染到屏幕 + * @method render + * @public + * @since 1.0.0 + * @param {annie.IRender} renderObj + * @return {void} + */ + render(renderObj: IRender | any): void; + /** + * 获取或者设置显示对象在父级里的x方向的宽,不到必要不要用此属性获取高 + * 如果你要同时获取宽高,建议使用getWH()方法获取宽和高 + * @property width + * @public + * @since 1.0.3 + * @return {number} + */ + width: number; + /** + * 获取或者设置显示对象在父级里的y方向的高,不到必要不要用此属性获取高 + * 如果你要同时获取宽高,建议使用getWH()方法获取宽和高 + * @property height + * @public + * @since 1.0.3 + * @return {number} + */ + height: number; + /** + * 如果需要同时获取宽和高的值,建议使用此方法更有效率 + * @method getWH + * @public + * @return {{width: number, height: number}} + * @since 1.0.9 + */ + getWH(): { + width: number; + height: number; + }; + static _canvas: any; + protected _texture: any; + protected _offsetX: number; + protected _offsetY: number; + protected _bounds: Rectangle; + protected _drawRect: Rectangle; + protected _setProperty(property: string, value: any, type: number): void; + /** + * 停止这个显示对象上的所有声音 + * @method stopAllSounds + * @public + * @since 2.0.0 + * @return {void} + */ + stopAllSounds(): void; + /** + * @method getSound + * @param {number|string} id + * @return {Array} 这个对象里所有叫这个名字的声音引用数组 + * @since 2.0.0 + */ + getSound(id: any): any; + /** + * 当前对象包含的声音列表 + * @property soundList + * @public + * @since 2.0.0 + * @type {Array} + * @default [] + */ + soundList: any; + /** + * 返回一个id,这个id你要留着作为删除他时使用。 + * 这个声音会根据这个显示对象添加到舞台时播放,移出舞台而关闭 + * @method addSound + * @param {annie.Sound} sound + * @return {void} + * @since 2.0.0 + * @public + */ + addSound(sound: annie.Sound): void; + /** + * 删除一个已经添加进来的声音 + * @method removeSound + * @public + * @since 2.0.0 + * @param {number|string} id + * @return {void} + */ + removeSound(id: number | string): void; + private _a2x_res_obj; + destroy(): void; + protected callEventAndFrameScript(callState: number): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 利用 Bitmap() 构造函数,可以创建包含对 BitmapData 对象的引用的 Bitmap 对象。 + * 创建了 Bitmap 对象后,使用父 Sprite 实例的 addChild() 或 addChildAt() 方法将位图放在显示列表中。 + * @class annie.Bitmap + * @public + * @extends annie.DisplayObject + * @since 1.0.0 + */ + class Bitmap extends DisplayObject { + private _bitmapData; + private _realCacheImg; + /** + *

小游戏不支持 小程序不支持

+ * 有时候一张贴图,我们只需要显示他的部分。其他不显示,对你可能猜到了 + * SpriteSheet就用到了这个属性。默认为null表示全尺寸显示bitmapData需要显示的范围 + * @property rect + * @public + * @since 1.0.0 + * @type {annie.Rectangle} + * @default null + */ + rect: annie.Rectangle; + private _rect; + private _isCache; + /** + * 构造函数 + * @method Bitmap + * @since 1.0.0 + * @public + * @param {Image|Video|other} bitmapData 一个HTMl Image的实例,小程序或者小游戏里则只能是一个图片的地址 + * @param {annie.Rectangle} rect 设置显示Image的区域,不设置值则全部显示Image的内容,小程序或者小游戏里没有这个参数 + * @example + * //html5 + * var imgEle=new Image(); + * imgEle.onload=function (e) { + * var bitmap = new annie.Bitmap(imgEle) + * //居中对齐 + * bitmap.x = (s.stage.desWidth - bitmap.width) / 2; + * bitmap.y = (s.stage.desHeight - bitmap.height) / 2; + * s.addChild(bitmap); + * //截取图片的某一部分显示 + * var rect = new annie.Rectangle(0, 0, 200, 200), + * rectBitmap = new annie.Bitmap(imgEle, rect); + * rectBitmap.x = (s.stage.desWidth - bitmap.width) / 2; + * rectBitmap.y = 100; + * s.addChild(rectBitmap); + * } + * imgEle.src='http://test.annie2x.com/test.jpg'; + * //小程序或者小游戏 + * var imgEle="http://test.annie2x.com/test.jpg"; + * var bitmap=new annie.Bitmap(imgEle); + * s.addChild(bitmap); + * + *

测试链接

+ */ + constructor(bitmapData?: any, rect?: Rectangle); + /** + *

小游戏不支持 小程序不支持

+ * HTML的一个Image对象或者是canvas对象或者是video对象 + * @property bitmapData + * @public + * @since 1.0.0 + * @type {any} + * @default null + */ + bitmapData: any; + /** + *

小游戏不支持 小程序不支持

+ * 是否对图片对象使用像素碰撞检测透明度,默认关闭 + * @property hitTestWidthPixel + * @type {boolean} + * @default false + * @since 1.1.0 + */ + hitTestWidthPixel: boolean; + update(isDrawUpdate?: boolean): void; + /** + *

小游戏不支持 小程序不支持

+ * 从SpriteSheet的大图中剥离出单独的小图以供特殊用途 + * @method convertToImage + * @static + * @public + * @since 1.0.0 + * @param {annie.Bitmap} bitmap + * @param {boolean} isNeedImage 是否一定要返回img,如果不为true则有时返回的是canvas + * @return {Canvas|BitmapData} + * @example + * var spriteSheetImg = new Image(), + * rect = new annie.Rectangle(0, 0, 200, 200), + * yourBitmap = new annie.Bitmap(spriteSheetImg, rect); + * spriteSheetImg.onload=function(e){ + * var singleSmallImg = annie.Bitmap.convertToImage(yourBitmap);//convertToImage是annie.Bitmap的一个静态方法 + * console.log(singleSmallImg); + * } + * spriteSheetImg.src = 'http://test.annie2x.com/test.jpg'; + */ + static convertToImage(bitmap: annie.Bitmap, isNeedImage?: boolean): any; + hitTestPoint(hitPoint: Point, isGlobalPoint?: boolean, isMustMouseEnable?: boolean): DisplayObject; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 矢量对象 + * @class annie.Shape + * @extends annie.DisplayObject + * @since 1.0.0 + * @public + */ + class Shape extends DisplayObject { + constructor(); + private _command; + /** + * 通过一系统参数获取生成颜色或渐变所需要的对象 + * 一般给用户使用较少,Annie2x工具自动使用 + * @method getGradientColor + * @static + * @param points + * @param colors + * @return {any} + * @since 1.0.0 + * @public + */ + static getGradientColor(points: any, colors: any): any; + /** + * 设置位图填充时需要使用的方法,一般给用户使用较少,Annie2x工具自动使用 + * @method getBitmapStyle + * @static + * @param {Image} image HTML Image元素 + * @return {CanvasPattern} + * @public + * @since 1.0.0 + */ + static getBitmapStyle(image: any): any; + /** + * 通过24位颜色值和一个透明度值生成RGBA值 + * @method getRGBA + * @static + * @public + * @since 1.0.0 + * @param {string} color 字符串的颜色值,如:#33ffee + * @param {number} alpha 0-1区间的一个数据 0完全透明 1完全不透明 + * @return {string} + */ + static getRGBA(color: string, alpha: number): string; + private _isBitmapStroke; + private _isBitmapFill; + /** + *

小游戏不支持 小程序不支持

+ * 是否对矢量使用像素碰撞 默认开启 + * @property hitTestWidthPixel + * @type {boolean} + * @default true + * @since 1.1.0 + */ + hitTestWidthPixel: boolean; + /** + * 添加一条绘画指令,具体可以查阅Html Canvas画图方法 + * @method addDraw + * @param {string} commandName ctx指令的方法名 如moveTo lineTo arcTo等 + * @param {Array} params + * @public + * @since 1.0.0 + * @return {void} + */ + addDraw(commandName: string, params: Array): void; + /** + * 画一个带圆角的矩形 + * @method drawRoundRect + * @param {number} x 点x值 + * @param {number} y 点y值 + * @param {number} w 宽 + * @param {number} h 高 + * @param {number} rTL 左上圆角半径 + * @param {number} rTR 右上圆角半径 + * @param {number} rBL 左下圆角半径 + * @param {number} rBR 右上圆角半径 + * @public + * @since 1.0.0 + * @return {void} + */ + drawRoundRect(x: number, y: number, w: number, h: number, rTL?: number, rTR?: number, rBL?: number, rBR?: number): void; + /** + * 绘画时移动到某一点 + * @method moveTo + * @param {number} x + * @param {number} y + * @public + * @since 1.0.0 + * @return {void} + */ + moveTo(x: number, y: number): void; + /** + * 从上一点画到某一点,如果没有设置上一点,则上一点默认为(0,0) + * @method lineTo + * @param {number} x + * @param {number} y + * @public + * @since 1.0.0 + * @return {void} + */ + lineTo(x: number, y: number): void; + /** + * 从上一点画弧到某一点,如果没有设置上一点,则上一点默认为(0,0) + * @method arcTo + * @param {number} x + * @param {number} y + * @public + * @since 1.0.0 + * @return {void} + */ + arcTo(x: number, y: number): void; + /** + * 二次贝赛尔曲线 + * 从上一点画二次贝赛尔曲线到某一点,如果没有设置上一点,则上一占默认为(0,0) + * @method quadraticCurveTo + * @param {number} cpX 控制点X + * @param {number} cpX 控制点Y + * @param {number} x 终点X + * @param {number} y 终点Y + * @public + * @since 1.0.0 + * @return {void} + */ + quadraticCurveTo(cpX: number, cpY: number, x: number, y: number): void; + /** + * 三次贝赛尔曲线 + * 从上一点画二次贝赛尔曲线到某一点,如果没有设置上一点,则上一占默认为(0,0) + * @method bezierCurveTo + * @param {number} cp1X 1控制点X + * @param {number} cp1Y 1控制点Y + * @param {number} cp2X 2控制点X + * @param {number} cp2Y 2控制点Y + * @param {number} x 终点X + * @param {number} y 终点Y + * @public + * @since 1.0.0 + * @return {void} + */ + bezierCurveTo(cp1X: number, cp1Y: number, cp2X: number, cp2Y: number, x: number, y: number): void; + /** + * 闭合一个绘画路径 + * @method closePath + * @public + * @since 1.0.0 + * @return {void} + */ + closePath(): void; + /** + * 画一个矩形 + * @method drawRect + * @param {number} x + * @param {number} y + * @param {number} w + * @param {number} h + * @public + * @since 1.0.0 + * @return {void} + */ + drawRect(x: number, y: number, w: number, h: number): void; + /** + * 画一个弧形 + * @method drawArc + * @param {number} x 起始点x + * @param {number} y 起始点y + * @param {number} radius 半径 + * @param {number} start 开始角度 + * @param {number} end 结束角度 + * @public + * @since 1.0.0 + * @return {void} + */ + drawArc(x: number, y: number, radius: number, start: number, end: number): void; + /** + * 画一个圆 + * @method drawCircle + * @param {number} x 圆心x + * @param {number} y 圆心y + * @param {number} radius 半径 + * @public + * @since 1.0.0 + * @return {void} + */ + drawCircle(x: number, y: number, radius: number): void; + /** + * 画一个椭圆 + * @method drawEllipse + * @param {number} x + * @param {number} y + * @param {number} w + * @param {number} h + * @public + * @since 1.0.0 + * @return {void} + */ + drawEllipse(x: number, y: number, w: number, h: number): void; + /** + * 清除掉之前所有绘画的东西 + * @method clear + * @public + * @since 1.0.0 + * @return {void} + */ + clear(): void; + /** + * 开始绘画填充,如果想画的东西有颜色填充,一定要从此方法开始 + * @method beginFill + * @param {string} color 颜色值 单色和RGBA格式 + * @public + * @since 1.0.0 + * @return {void} + */ + beginFill(color: string): void; + /** + * 线性渐变填充 一般给Annie2x用 + * @method beginLinearGradientFill + * @param {Array} points 一组点 + * @param {Array} colors 一组颜色值 + * @public + * @since 1.0.0 + * @return {void} + */ + beginLinearGradientFill(points: any, colors: any): void; + /** + * 径向渐变填充 一般给Annie2x用 + * @method beginRadialGradientFill + * @param {Array} points 一组点 + * @param {Array} colors 一组颜色值 + * @param {Object} matrixDate 如果渐变填充有矩阵变形信息 + * @public + * @since 1.0.0 + * @return {void} + */ + beginRadialGradientFill: (points: any, colors: any) => void; + /** + * 位图填充 一般给Annie2x用 + * @method beginBitmapFill + * @param {Image} image + * @param { Array} matrix + * @public + * @since 1.0.0 + * @return {void} + */ + beginBitmapFill(image: any, matrix: Array): void; + private _fill(fillStyle); + /** + * 给线条着色 + * @method beginStroke + * @param {string} color 颜色值 + * @param {number} lineWidth 宽度 + * @param {number} cap 线头的形状 0 butt 1 round 2 square 默认 butt + * @param {number} join 线与线之间的交接处形状 0 miter 1 bevel 2 round 默认miter + * @param {number} miter 正数,规定最大斜接长度,如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示 默认10 + * @public + * @since 1.0.0 + * @return {void} + */ + beginStroke(color: string, lineWidth?: number, cap?: number, join?: number, miter?: number): void; + private static _caps; + private static _joins; + /** + * 画线性渐变的线条 一般给Annie2x用 + * @method beginLinearGradientStroke + * @param {Array} points 一组点 + * @param {Array} colors 一组颜色值 + * @param {number} lineWidth + * @param {number} cap 线头的形状 0 butt 1 round 2 square 默认 butt + * @param {number} join 线与线之间的交接处形状 0 miter 1 bevel 2 round 默认miter + * @param {number} miter 正数,规定最大斜接长度,如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示 默认10 + * @public + * @since 1.0.0 + * @return {void} + */ + beginLinearGradientStroke(points: Array, colors: any, lineWidth?: number, cap?: number, join?: number, miter?: number): void; + /** + * 画径向渐变的线条 一般给Annie2x用 + * @method beginRadialGradientStroke + * @param {Array} points 一组点 + * @param {Array} colors 一组颜色值 + * @param {number} lineWidth + * @param {string} cap 线头的形状 butt round square 默认 butt + * @param {string} join 线与线之间的交接处形状 bevel round miter 默认miter + * @param {number} miter 正数,规定最大斜接长度,如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示 默认10 + * @public + * @since 1.0.0 + * @return {void} + */ + beginRadialGradientStroke: (points: number[], colors: any, lineWidth?: number, cap?: number, join?: number, miter?: number) => void; + /** + * 线条位图填充 一般给Annie2x用 + * @method beginBitmapStroke + * @param {Image} image + * @param {Array} matrix + * @param {number} lineWidth + * @param {string} cap 线头的形状 butt round square 默认 butt + * @param {string} join 线与线之间的交接处形状 bevel round miter 默认miter + * @param {number} miter 正数,规定最大斜接长度,如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示 默认10 + * @public + * @since 1.0.0 + * @return {void} + */ + beginBitmapStroke(image: any, matrix: Array, lineWidth?: number, cap?: number, join?: number, miter?: number): void; + private _stroke(strokeStyle, width, cap, join, miter); + /** + * 结束填充 + * @method endFill + * @public + * @since 1.0.0 + * @return {void} + */ + endFill(): void; + /** + * 结束画线 + * @method endStroke + * @public + * @since 1.0.0 + * @return {void} + */ + endStroke(): void; + /** + * 解析一段路径 一般给Annie2x用 + * @method decodePath + * @param {Array} data + * @public + * @since 1.0.0 + * @return {void} + */ + decodePath: (data: any) => void; + update(isDrawUpdate?: boolean): void; + private _draw(ctx, isMask?); + hitTestPoint(hitPoint: Point, isGlobalPoint?: boolean, isMustMouseEnable?: boolean): DisplayObject; + /** + * 如果有的话,改变矢量对象的边框或者填充的颜色. + * @method changeColor + * @param {Object} infoObj + * @param {string|any} infoObj.fillColor 填充颜色值,如"#fff" 或者 "rgba(255,255,255,1)"或者是annie.Shape.getGradientColor()方法返回的渐变对象; + * @param {string} infoObj.strokeColor 线条颜色值,如"#fff" 或者 "rgba(255,255,255,1)"; + * @param {number} infoObj.lineWidth 线条的粗细,如"1,2,3..."; + * @public + * @since 1.0.2 + * @return {void} + */ + changeColor(infoObj: any): void; + /** + * 渲染 + * @method render + * @param {annie.IRender | any} renderObj + * @return {void} + */ + render(renderObj: IRender | any): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 显示对象的容器类,可以将其他显示对象放入其中,是annie引擎的核心容器类. + * Sprite 类是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点。 + * Sprite 对象与影片剪辑类似,但没有时间轴。Sprite 是不需要时间轴的对象的相应基类。 + * 例如,Sprite 将是通常不使用时间轴的用户界面 (UI) 组件的逻辑基类 + * @class annie.Sprite + * @extends annie.DisplayObject + * @public + * @since 1.0.0 + */ + class Sprite extends DisplayObject { + /** + * 构造函数 + * @method Sprite + * @public + * @since 1.0.0 + */ + constructor(); + destroy(): void; + /** + * 是否可以让children接收鼠标事件 + * 鼠标事件将不会往下冒泡 + * @property mouseChildren + * @type {boolean} + * @default true + * @public + * @since 1.0.0 + */ + mouseChildren: boolean; + /** + * 显示对象的child列表 + * @property children + * @type {Array} + * @public + * @since 1.0.0 + * @default [] + * @readonly + */ + children: DisplayObject[]; + _removeChildren: DisplayObject[]; + /** + *

小游戏不支持 小程序不支持

+ * 是否缓存为位图,注意一但缓存为位图,它的所有子级对象上的事件侦听都将无效 + * @property cacheAsBitmap + * @public + * @since 1.1.2 + * @default false + * @type boolean + */ + cacheAsBitmap: boolean; + private _cacheAsBitmap; + /** + * 添加一个显示对象到Sprite + * @method addChild + * @param {annie.DisplayObject} child + * @public + * @since 1.0.0 + * @return {void} + */ + addChild(child: DisplayObject): void; + /** + * 从Sprite中移除一个child + * @method removeChild + * @public + * @since 1.0.0 + * @param {annie.DisplayObject} child + * @return {void} + */ + removeChild(child: DisplayObject): void; + private static _getElementsByName(rex, root, isOnlyOne, isRecursive, resultList); + /** + * 通过给displayObject设置的名字来获取一个child,可以使用正则匹配查找 + * @method getChildByName + * @param {string} name 对象的具体名字或是一个正则表达式 + * @param {boolean} isOnlyOne 默认为true,如果为true,只返回最先找到的对象,如果为false则会找到所有匹配的对象数组 + * @param {boolean} isRecursive false,如果为true,则会递归查找下去,而不只是查找当前对象中的child,child里的child也会找,依此类推 + * @return {string|Array} 返回一个对象,或者一个对象数组,没有找到则返回空 + * @public + * @since 1.0.0 + */ + getChildByName(name: string | RegExp, isOnlyOne?: boolean, isRecursive?: boolean): any; + /** + * 添加一个child到Sprite中并指定添加到哪个层级 + * @method addChildAt + * @param {annie.DisplayObject} child + * @param {number} index 从0开始 + * @public + * @since 1.0.0 + * @return {void} + */ + addChildAt(child: DisplayObject, index: number): void; + /** + * 获取Sprite中指定层级一个child + * @method getChildAt + * @param {number} index 从0开始 + * @public + * @since 1.0.0 + * @return {annie.DisplayObject} + */ + getChildAt(index: number): annie.DisplayObject; + /** + * 获取Sprite中一个child所在的层级索引,找到则返回索引数,未找到则返回-1 + * @method getChildIndex + * @param {annie.DisplayObject} child 子对象 + * @public + * @since 1.0.2 + * @return {number} + */ + getChildIndex(child: DisplayObject): number; + /** + * 交换两个显示对象的层级 + * @method swapChild + * @param child1 显示对象,或者显示对象的索引 + * @param child2 显示对象,或者显示对象的索引 + * @since 2.0.0 + * @return {boolean} + */ + swapChild(child1: any, child2: any): boolean; + /** + * 移除指定层级上的孩子 + * @method removeChildAt + * @param {number} index 从0开始 + * @public + * @since 1.0.0 + * @return {void} + */ + removeChildAt(index: number): void; + /** + * 移除Sprite上的所有child + * @method removeAllChildren + * @public + * @since 1.0.0 + * @return {void} + */ + removeAllChildren(): void; + update(isDrawUpdate?: boolean): void; + hitTestPoint(hitPoint: Point, isGlobalPoint?: boolean, isMustMouseEnable?: boolean): DisplayObject; + getBounds(): Rectangle; + render(renderObj: IRender): void; + protected callEventAndFrameScript(callState: number): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 抽象类 一般不直接使用 + * @class annie.Media + * @extends annie.EventDispatcher + * @public + * @since 1.0.0 + */ + class Media extends annie.EventDispatcher { + /** + * html 标签 有可能是audio 或者 video + * @property media + * @type {Video|Audio} + * @public + * @since 1.0.0 + */ + media: any; + /** + * 媒体类型 VIDEO 或者 AUDIO + * @property type + * @type {string} + * @since 1.0.0 + */ + type: string; + /** + * @property isPlaying + * @type {boolean} + * @since 2.0.0 + * @default true + */ + isPlaying: boolean; + /** + * 给一个声音取一个名字,方便获取 + * @property name + * @type {string} + */ + name: string; + private _loop; + /** + * 构造函数 + * @method Media + * @param {string|HtmlElement} src + * @param {string} type + * @since 1.0.0 + * @example + * var media = new annie.Media('http://test.annie2x.com/biglong/apiDemo/annieBitmap/resource/music.mp3', 'Audio'); + * media.play();//媒体播放 + * //media.pause();//暂停播放 + * //media.stop();//停止播放 + */ + constructor(src: any, type: string); + private _playEvent; + private _updateEvent; + private _endEvent; + protected isNeedCheckPlay: boolean; + /** + * @property _repeate + * @type {number} + * @private + * @default 1 + */ + private _repeate; + /** + * 开始播放媒体 + * @method play + * @param {number} start 开始点 默认为0 + * @param {number} loop 循环次数 默认为1 + * @public + * @since 1.0.0 + */ + play(start?: number, loop?: number): void; + private _SBWeixin; + private _weixinSB(); + /** + * 停止播放 + * @method stop + * @public + * @since 1.0.0 + */ + stop(): void; + /** + * 暂停播放,或者恢复播放 + * @method pause + * @public + * @param isPause 默认为true;是否要暂停,如果要暂停,则暂停;否则则播放 + * @since 1.0.4 + */ + pause(isPause?: boolean): void; + /** + * 设置或者获取音量 从0-1 + * @since 1.1.0 + * @property volume + * @return {number} + */ + volume: number; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 声音类 + * @class annie.Sound + * @extends annie.Media + * @public + * @since 1.0.0 + */ + class Sound extends Media { + /** + * annie.Media相关媒体类的播放刷新事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @event annie.Event.ON_PLAY_UPDATE + * @since 1.1.0 + */ + /** + * annie.Media相关媒体类的播放完成事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @event annie.Event.ON_PLAY_END + * @since 1.1.0 + */ + /** + * annie.Media相关媒体类的开始播放事件。像annie.Sound annie.Video都可以捕捉这种事件。 + * @event annie.Event.ON_PLAY_START + * @since 1.1.0 + */ + /** + * 构造函数 + * @method Sound + * @since 1.0.0 + * @public + * @param src + * @example + * var soundPlayer = new annie.Sound('http://test.annie2x.com/biglong/apiDemo/annieBitmap/resource/music.mp3'); + * soundPlayer.play();//播放音乐 + * //soundPlayer.pause();//暂停音乐 + * //soundPlayer.stop();//停止音乐 + */ + constructor(src: any); + /** + * 从静态声音池中删除声音对象,如果一个声音再也不用了,建议先执行这个方法,再销毁 + * @method destroy + * @public + * @since 1.1.1 + */ + destroy(): void; + /** + * 作用和stop()相同,但你用这个方法停止声音了,用play2()方法才会有效 + * @method stop2 + * @since 2.0.0 + * @public + * @return {void} + */ + stop2(): void; + /** + * 如果你的项目有背景音乐一直在播放,但可能项目里需要播放视频的时候,需要停止背景音乐或者其他需求, + * 视频播放完之后再恢复背景音乐播放。这个时候,你要考虑用户之前是否有主动关闭过背景音乐,有的话, + * 这个时候你再调用play()方法或者pause()方法就违背用户意愿。所以你应该调用play2()方法。 + * 这个方法的原理就是如果用户之前关闭过了,那调用这个方法就不会播放声音,如果没关闭则会播放声音。 + * @method play2 + * @since 2.0.0 + * @public + * @return {void} + */ + play2(): void; + private static _soundList; + /** + * 停止当前所有正在播放的声音,当然一定要是annie.Sound类的声音 + * @method stopAllSounds + * @since 1.1.1 + * @static + * @public + */ + static stopAllSounds(): void; + /** + * 恢复当前所有正在停止的声音,当然一定要是annie.Sound类的声音 + * @method resumePlaySounds + * @since 2.0.0 + * @static + * @public + */ + static resumePlaySounds(): void; + /** + * 设置当前所有正在播放的声音,当然一定要是annie.Sound类的声音 + * @method setAllSoundsVolume + * @since 1.1.1 + * @static + * @public + * @param {number} volume 音量大小,从0-1 在ios里 volume只能是0 或者1,其他无效 + */ + static setAllSoundsVolume(volume: number): void; + private static _volume; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 视频类 + * @class annie.Video + * @extends annie.Media + * @public + * @since 1.0.0 + */ + class Video extends Media { + /** + * 构造函数 + * @method Video + * @param src + * @param width + * @param height + * @public + * @since 1.0.0 + * @example + * //切记在微信里视频地址一定要带上完整域名,并且视频尺寸不要超过1136不管是宽还是高,否则后果很严重 + * var videoPlayer = new annie.Video('http://test.annie2x.com/biglong/apiDemo/video.mp4'); + * videoPlayer.play();//播放视频 + * //videoPlayer.pause();//暂停视频 + * //videoPlayer.stop();//停止播放 + * var floatDisplay=new annie.FloatDisplay(); + * floatDisplay.init(videoPlayer); + * //这里的spriteObj是任何一个Sprite类或者其扩展类的实例对象 + * spriteObj.addChild(floatDisplay); + */ + constructor(src: any, width?: number, height?: number); + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * annie引擎核心类 + * @class annie.MovieClip + * @since 1.0.0 + * @public + * @extends annie.Sprite + */ + class MovieClip extends Sprite { + /** + * annie.MovieClip 播放完成事件 + * @event annie.Event.END_FRAME + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + /** + * annie.MovieClip 帧标签事件 + * @event annie.Event.CALL_FRAME + * @type {string} + * @static + * @public + * @since 1.0.0 + */ + /** + * mc的当前帧 + * @property currentFrame + * @public + * @since 1.0.0 + * @type {number} + * @default 1 + * @readonly + */ + currentFrame: number; + private _curFrame; + private _wantFrame; + private _lastFrameObj; + /** + * 当前动画是否处于播放状态 + * @property isPlaying + * @readOnly + * @public + * @since 1.0.0 + * @type {boolean} + * @default true + * @readonly + */ + isPlaying: boolean; + private _isPlaying; + /** + * 动画的播放方向,是顺着播还是在倒着播 + * @property isFront + * @public + * @since 1.0.0 + * @type {boolean} + * @default true + * @readonly + */ + isFront: boolean; + private _isFront; + /** + * 当前动画的总帧数 + * @property totalFrames + * @public + * @since 1.0.0 + * @type {number} + * @default 1 + * @readonly + */ + totalFrames: number; + private _lastFrame; + /** + * 构造函数 + * @method MovieClip + * @public + * @since 1.0.0 + */ + constructor(); + private _a2x_res_class; + private _a2x_res_children; + /** + * 调用止方法将停止当前帧 + * @method stop + * @public + * @since 1.0.0 + * @return {void} + */ + stop(): void; + private _a2x_script; + /** + * 给时间轴添加回调函数,当时间轴播放到当前帧时,此函数将被调用.注意,之前在此帧上添加的所有代码将被覆盖,包括Fla文件中当前帧的代码. + * @method addFrameScript + * @public + * @since 1.0.0 + * @param {number} frameIndex {number} 要将代码添加到哪一帧,从0开始.0就是第一帧,1是第二帧... + * @param {Function}frameScript {Function} 时间轴播放到当前帧时要执行回调方法 + */ + addFrameScript(frameIndex: number, frameScript: Function): void; + /** + * 移除帧上的回调方法 + * @method removeFrameScript + * @public + * @since 1.0.0 + * @param {number} frameIndex + */ + removeFrameScript(frameIndex: number): void; + /** + * 确认是不是按钮形态 + * @property isButton + * @type {boolean} + * @public + * @since 2.0.0 + * @default false + */ + isButton: boolean; + private _mode; + /** + * 将一个mc变成按钮来使用 如果mc在于2帧,那么点击此mc将自动有被按钮的状态,无需用户自己写代码. + * 此方法不可逆,设置后不再能设置回剪辑,一定要这么做的话,请联系作者,看作者答不答应 + * @method initButton + * @public + * @since 1.0.0 + * @return {void} + */ + initButton(): void; + /** + * 如果MovieClip设置成了按钮,则通过此属性可以让它定在按下后的状态上,哪怕再点击它并离开它的时候,他也不会变化状态 + * @property clicked + * @return {boolean} + * @public + * @since 2.0.0 + */ + clicked: boolean; + private _clicked; + private _mouseEvent(e); + /** + * movieClip的当前帧的标签数组,没有则为null + * @method getCurrentLabel + * @public + * @since 1.0.0 + * @return {Array} + * */ + getCurrentLabel(): any; + /** + * 将播放头向后移一帧并停在下一帧,如果本身在最后一帧则不做任何反应 + * @method nextFrame + * @since 1.0.0 + * @public + * @return {void} + */ + nextFrame(): void; + /** + * 将播放头向前移一帧并停在下一帧,如果本身在第一帧则不做任何反应 + * @method prevFrame + * @since 1.0.0 + * @public + * @return {void} + */ + prevFrame(): void; + /** + * 将播放头跳转到指定帧并停在那一帧,如果本身在第一帧则不做任何反应 + * @method gotoAndStop + * @public + * @since 1.0.0 + * @param {number|string} frameIndex 批定帧的帧数或指定帧的标签名 + * @return {void} + */ + gotoAndStop(frameIndex: number | string): void; + /** + * 如果当前时间轴停在某一帧,调用此方法将继续播放. + * @method play + * @public + * @since 1.0.0 + * @return {void} + */ + play(isFront?: boolean): void; + /** + * 将播放头跳转到指定帧并从那一帧开始继续播放 + * @method gotoAndPlay + * @public + * @since 1.0.0 + * @param {number|string} frameIndex 批定帧的帧数或指定帧的标签名 + * @param {boolean} isFront 跳到指定帧后是向前播放, 还是向后播放.不设置些参数将默认向前播放 + * @return {void} + */ + gotoAndPlay(frameIndex: number | string, isFront?: boolean): void; + private isUpdateFrame; + update(isDrawUpdate?: boolean): void; + private _a2x_sounds; + protected callEventAndFrameScript(callState: number): void; + private static _resetMC(obj); + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 此类对于需要在canvas上放置html其他类型元素的时候非常有用
+ * 比如有时候我们需要放置一个注册,登录或者其他的内容.这些内容包含了输入框
+ * 或者下拉框什么的,无法在canvas里实现,但这些元素又跟canvas里面的元素
+ * 位置,大小,缩放对应.就相当于是annie里的一个显示对象一样。可以随意设置他的
+ * 属性,那么将你的html元素通过此类封装成annie的显示对象再合适不过了 + * @class annie.FloatDisplay + * @extends annie.DisplayObject + * @public + * @since 1.0.0 + */ + class FloatDisplay extends DisplayObject { + /** + * 需要封装起来的html元素的引用。你可以通过这个引用来调用或设置此元素自身的属性方法和事件,甚至是样式 + * @property htmlElement + * @public + * @since 1.0.0 + * @type{HtmlElement} + */ + htmlElement: any; + private _isAdded; + /** + * 构造函数 + * @method FloatDisplay + * @since 1.0.0 + * @public + * @example + * var floatDisplay = new annie.FloatDisplay(); + * floatDisplay.init(document.getElementById('annie')); + * s.addChild(floatDisplay); + * + *

测试链接

+ */ + constructor(); + /** + * 初始化方法,htmlElement 一定要设置width和height样式,并且一定要用px单位 + * @method init + * @public + * @since 1.0.0 + * @param {HtmlElement} htmlElement 需要封装起来的html元素的引用。你可以通过这个引用来调用或设置此元素自身的属性方法和事件,甚至是样式 + */ + init(htmlElement: any): void; + private getStyle(elem, cssName); + updateStyle(): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 动态文本类,有时需要在canvas里有一个动态文本,能根据我们的显示内容来改变 + * @class annie.TextField + * @extends annie.DisplayObject + * @since 1.0.0 + * @public + */ + class TextField extends DisplayObject { + constructor(); + /** + * 文本的对齐方式 + * @property textAlign + * @public + * @since 1.0.0 + * @type {string} + * @default left + */ + textAlign: string; + private _textAlign; + /** + * @property textAlpha + * @since 2.0.0 + * @public + */ + textAlpha: number; + private _textAlpha; + /** + * 文本的行高 + * @property textHeight + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + textHeight: number; + private _textHeight; + /** + * @property lineSpacing + * @public + * @since 1.0.0 + * @param {number} value + */ + lineSpacing: number; + private _lineSpacing; + /** + * 文本的宽 + * @property textWidth + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + textWidth: number; + private _textWidth; + /** + * 文本类型,单行还是多行 single multi + * @property lineType + * @public + * @since 1.0.0 + * @type {string} 两种 single和multi + * @default single + */ + lineType: string; + private _lineType; + /** + * 文本内容 + * @property text + * @type {string} + * @public + * @default "" + * @since 1.0.0 + */ + text: string; + private _text; + /** + * 文本的css字体样式 + * @property font + * @public + * @since 1.0.0 + * @type {string} + * @default 12px Arial + */ + font: string; + private _font; + /** + * 文本的size + * @property size + * @public + * @since 1.0.0 + * @type {number} + * @default 12 + */ + size: number; + private _size; + /** + * 文本的颜色值 + * @property color + * @type {string} + * @public + * @since 1.0.0 + * @default #fff + */ + color: string; + _color: string; + /** + * 文本是否倾斜 + * @property italic + * @public + * @since + * @default false + * @type {boolean} + */ + italic: boolean; + private _italic; + /** + * 文本是否加粗 + * @property bold + * @public + * @since + * @default false + * @type {boolean} + */ + bold: boolean; + _bold: boolean; + /** + * 设置或获取是否有边框 + * @property property + * @param {boolean} show true或false + * @public + * @since 1.0.6 + */ + border: boolean; + private _border; + private _prepContext(ctx); + /** + * 获取当前文本中单行文字的宽,注意是文字的不是文本框的宽 + * @method getTextWidth + * @param {number} lineIndex 获取的哪一行的高度 默认是第1行 + * @since 2.0.0 + * @public + * @return {number} + */ + getTextWidth(lineIndex?: number): any; + /** + * 获取当前文本行数 + * @property lines + * @type {number} + * @public + * @readonly + * @since 2.0.0 + */ + lines: number; + private _getMeasuredWidth(text); + private realLines; + update(isDrawUpdate?: boolean): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 输入文本,此文本类是annie.FloatDisplay对象的典型代表 + * @class annie.InputText + * @public + * @since 1.0.0 + * @extends annie.FloatDisplay + */ + class InputText extends FloatDisplay { + /** + * 输入文本的类型. + * @property inputType + * @public + * @since 1.0.0 + * @type {number} 0 input 1 password 2 mulit + * @default 0 + */ + inputType: number; + /** + * 在手机端是否需要自动收回软键盘,在pc端此参数无效 + * @property isAutoDownKeyBoard + * @type {boolean} + * @since 1.0.3 + * @default true + */ + isAutoDownKeyBoard: boolean; + private static _inputTypeList; + /** + * @method InputText + * @public + * @since 1.0.0 + * @param {number} inputType 0 input 1 password 2 multiline + * @example + * var inputText=new annie.InputText('singleline'); + * inputText.initInfo('annie',100,100,'#ffffff','left',14,'微软雅黑',false,2); + */ + constructor(inputType?: number); + /** + * 初始化输入文本 + * @method init + * @param htmlElement + * @public + * @return {void} + * @since 1.0.0 + */ + init(htmlElement: any): void; + /** + * 被始化输入文件的一些属性 + * @method initInfo + * @public + * @since 1.0.0 + * @param {string} text 默认文字 + * @param {string}color 文字颜色 + * @param {string}align 文字的对齐方式 + * @param {number}size 文字大小 + * @param {string}font 文字所使用的字体 + * @param {boolean}showBorder 是否需要显示边框 + * @param {number}lineSpacing 如果是多行,请设置行高 + */ + initInfo(text: string, color: string, align: string, size: number, font: string, showBorder: boolean, lineSpacing: number): void; + /** + * @property lineSpacing + * @public + * @since 2.0.0 + * @type {number} + */ + lineSpacing: number; + /** + * 设置文本是否为粗体 + * @property bold + * @public + * @type {boolean} + * @since 1.0.3 + */ + bold: boolean; + /** + * 设置文本是否倾斜 + * @property italic + * @public + * @type {boolean} + * @since 1.0.3 + */ + italic: boolean; + /** + * 文本的行高 + * @property textHeight + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + textHeight: number; + /** + * 文本的宽 + * @property textWidth + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + */ + textWidth: number; + /** + * 设置文本颜色 + * @property color + * @type {string} + * @public + * @since 1.0.3 + */ + color: string; + /** + * 设置或获取是否有边框 + * @property property + * @type {boolean} + * @public + * @since 1.0.3 + */ + border: boolean; + /** + * 获取或设置输入文本的值 + * 之前的getText 和setText 已废弃 + * @property text + * @public + * @since 1.0.3 + * @type {string} + */ + text: string; + /** + * 输入文本的最大输入字数 + * @public + * @since 1.1.0 + * @property maxCharacters + * @type {number} + */ + maxCharacters: number; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * Stage 表示显示 canvas 内容的整个区域,所有显示对象的顶级显示容器 + * @class annie.Stage + * @extends annie.Sprite + * @public + * @since 1.0.0 + */ + class Stage extends Sprite { + /** + * annie.Stage舞台初始化完成后会触发的事件 + * @event annie.Event.ON_INIT_STAGE + * @since 1.0.0 + */ + /** + *

小游戏不支持 小程序不支持

+ * annie.Stage舞台尺寸发生变化时触发 + * @event annie.Event.RESIZE + * @since 1.0.0 + */ + /** + * annie引擎暂停或者恢复暂停时触发,这个事件只能在annie.globalDispatcher中监听 + * @event annie.Event.ON_RUN_CHANGED + * @since 1.0.0 + */ + /** + * annie.Stage 的多点触碰事件。这个事件只能在annie.Stage对象上侦听 + * @event annie.TouchEvent.ON_MULTI_TOUCH + * @type {string} + */ + /** + *

小游戏不支持 小程序不支持

+ * 是否阻止ios端双击后页面会往上弹的效果,因为如果阻止了,可能有些html元素出现全选框后无法取消 + * 所以需要自己灵活设置,默认阻止. + * @property iosTouchendPreventDefault + * @type {boolean} + * @default true + * @since 1.0.4 + * @public + */ + iosTouchendPreventDefault: boolean; + /** + *

小游戏不支持 小程序不支持

+ * 是否禁止引擎所在的canvas的鼠标事件或触摸事件的默认行为,默认为true是禁止的。 + * @property isPreventDefaultEvent + * @since 1.0.9 + * @default true + * @type {boolean} + */ + isPreventDefaultEvent: boolean; + /** + *

小游戏不支持 小程序不支持

+ * 整个引擎的最上层的div元素, + * 承载canvas的那个div html元素 + * @property rootDiv + * @public + * @since 1.0.0 + * @type {Html Div} + * @default null + */ + rootDiv: any; + /** + * 当前stage所使用的渲染器 + * 渲染器有两种,一种是canvas 一种是webGl + * @property renderObj + * @public + * @since 1.0.0 + * @type {IRender} + * @default null + */ + renderObj: IRender; + /** + * 渲染模式值 只读 CANVAS:0, webGl: 1 + * @property renderType + * @readonly + * @public + * @since 1.0.0 + * @type {number} + * @default 0 + * @readonly + */ + renderType: number; + /** + * 是否暂停 + * @property pause + * @static + * @type {boolean} + * @public + * @since 1.0.0 + * @default false + */ + static pause: boolean; + private static _pause; + /** + * 舞台在设备里截取后的可见区域,有些时候知道可见区域是非常重要的,因为这样你就可以根据舞台的可见区域做自适应了。 + * @property viewRect + * @public + * @readonly + * @since 1.0.0 + * @type {annie.Rectangle} + * @default {x:0,y:0,width:0,height:0} + * @readonly + * @example + * //始终让一个对象顶对齐,或者 + */ + viewRect: Rectangle; + /** + * 开启或关闭多点手势事件 目前仅支持两点 旋转 缩放 + * @property isMultiTouch + * @since 1.0.3 + * @type {boolean} + */ + isMultiTouch: boolean; + /** + * 开启或关闭多个手指的鼠标事件 目前仅支持两点 旋转 缩放 + * @property isMultiMouse + * @since 1.1.3 + * @type {boolean} + */ + isMultiMouse: boolean; + /** + *

小游戏不支持 小程序不支持

+ * 当设备尺寸更新,或者旋转后是否自动更新舞台方向 + * 默认不开启 + * @property autoSteering + * @public + * @since 1.0.0 + * @type {boolean} + * @default false + */ + autoSteering: boolean; + /** + *

小游戏不支持 小程序不支持

+ * 当设备尺寸更新,或者旋转后是否自动更新舞台尺寸 + * 默认不开启 + * @property autoResize + * @public + * @since 1.0.0 + * @type {boolean} + * @default false + */ + autoResize: boolean; + /** + * 舞台的尺寸宽,也就是我们常说的设计尺寸 + * @property desWidth + * @public + * @since 1.0.0 + * @default 320 + * @type {number} + * @readonly + */ + desWidth: number; + /** + * 舞台的尺寸高,也就是我们常说的设计尺寸 + * @property desHeight + * @public + * @since 1.0.0 + * @default 240 + * @type {number} + * @readonly + */ + desHeight: number; + /** + * 舞台在当前设备中的真实高 + * @property divHeight + * @public + * @since 1.0.0 + * @default 320 + * @type {number} + * @readonly + */ + divHeight: number; + /** + * 舞台在当前设备中的真实宽 + * @property divWidth + * @public + * @since 1.0.0 + * @default 240 + * @readonly + * @type {number} + */ + divWidth: number; + /** + * 舞台的背景色 + * 默认就是透明背景 + * 可能设置一个颜色值改变舞台背景 + * @property bgColor + * @public + * @since 1.0.0 + * @type {string} + * @default ""; + */ + bgColor: string; + /** + * 舞台的缩放模式 + * 默认为空就是无缩放的真实大小 + * "noBorder" 无边框模式 + * ”showAll" 显示所有内容 + * “fixedWidth" 固定宽 + * ”fixedHeight" 固定高 + * @property scaleMode + * @public + * @since 1.0.0 + * @default "onScale" + * @type {string} + * @example + * //动态更改stage的对齐方式示例 + * //以下代码放到一个舞台的显示对象的构造函数中 + * let s=this; + * s.addEventListener(annie.Event.ADD_TO_STAGE,function(e){ + * let i=0; + * s.stage.addEventListener(annie.MouseEvent.CLICK,function(e){ + * let aList=[annie.StageScaleMode.EXACT_FIT,annie.StageScaleMode.NO_BORDER,annie.StageScaleMode.NO_SCALE,annie.StageScaleMode.SHOW_ALL,annie.StageScaleMode.FIXED_WIDTH,annie.StageScaleMode.FIXED_HEIGHT] + * let state=e.currentTarget; + * state.scaleMode=aList[i]; + * if(i>5){i=0;} + * } + * } + * + */ + scaleMode: string; + private _scaleMode; + private _flush; + private _currentFlush; + static _dragDisplay: DisplayObject; + private static _isLoadedVConsole; + private _lastDpList; + private _rid; + private _floatDisplayList; + /** + * 显示对象入口函数 + * @method Stage + * @param {string} rootDivId + * @param {number} desW 舞台宽 + * @param {number} desH 舞台高 + * @param {number} fps 刷新率 + * @param {string} scaleMode 缩放模式 StageScaleMode + * @param {number} renderType 渲染模式0:canvas 1:webGl 2:dom + * @public + * @since 1.0.0 + */ + constructor(rootDivId?: string, desW?: number, desH?: number, frameRate?: number, scaleMode?: string, renderType?: number); + private _resizeEvent; + update(isDrawUpdate?: boolean): void; + private _touchEvent; + render(renderObj: IRender): void; + private _ml; + private _mp; + private _initMouseEvent(event, cp, sp, identifier); + private _mouseDownPoint; + private flush(); + /** + * 引擎的刷新率,就是一秒中执行多少次刷新 + * @method setFrameRate + * @param {number} fps 最好是60的倍数如 1 2 3 6 10 12 15 20 30 60 + * @since 1.0.0 + * @public + * @return {void} + */ + setFrameRate(fps: number): void; + /** + * 引擎的刷新率,就是一秒中执行多少次刷新 + * @method getFrameRate + * @since 1.0.0 + * @public + * @return {number} + */ + getFrameRate(): number; + /** + *

小游戏不支持 小程序不支持

+ * 获取引擎所在的div宽高 + * @method getRootDivWH + * @public + * @since 1.0.0 + * @param {HTMLDivElement} div + * @return {Object} + */ + getRootDivWH(div: HTMLDivElement): { + w: number; + h: number; + }; + private _mouseEventTypes; + private muliPoints; + private _mP1; + private _mP2; + private mouseEvent; + private onMouseEvent(e); + private setAlign(); + /** + * 当舞台尺寸发生改变时,如果stage autoResize 为 true,则此方法会自己调用; + * 如果设置stage autoResize 为 false 你需要手动调用此方法以更新界面. + * 不管autoResize 的状态是什么,你只要侦听 了stage 的 annie.Event.RESIZE 事件 + * 都可以接收到舞台变化的通知。 + * @method resize + * @public + * @since 1.0.0 + * @return {void} + */ + resize: () => void; + getBounds(): Rectangle; + /** + * 要循环调用 flush 函数对象列表 + * @method allUpdateObjList + * @static + * @since 1.0.0 + * @type {Array} + */ + private static allUpdateObjList; + private static flushAll(); + /** + * 添加一个刷新对象,这个对象里一定要有一个 flush 函数。 + * 因为一但添加,这个对象的 flush 函数会以stage的fps间隔调用 + * 如,你的stage是30fps 那么你这个对象的 flush 函数1秒会调用30次。 + * @method addUpdateObj + * @param target 要循化调用 flush 函数的对象 + * @public + * @static + * @since + * @return {void} + */ + static addUpdateObj(target: any): void; + /** + * 移除掉已经添加的循环刷新对象 + * @method removeUpdateObj + * @param target + * @public + * @static + * @since 1.0.0 + * @return {void} + */ + static removeUpdateObj(target: any): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 投影或者发光滤镜 + * @class annie.ShadowFilter + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class ShadowFilter extends AObject { + /** + * 颜色值 + * @property color + * @public + * @readonly + * @since 1.0.0 + * @default black + * @type {string} + */ + color: string; + /** + * x方向投影距离 + * @property offsetX + * @public + * @readonly + * @since 1.0.0 + * @default 2 + * @type {number} + */ + offsetX: number; + /** + * y方向投影距离 + * @property offsetY + * @public + * @readonly + * @since 1.0.0 + * @default 2 + * @type {number} + */ + offsetY: number; + /** + * 模糊值 + * @property blur + * @public + * @readonly + * @since 1.0.0 + * @default 2 + * @type {number} + */ + blur: number; + /** + * 滤镜类型只读 + * @property type + * @public + * @readonly + * @since 1.0.0 + * @default Shadow + * @type {string} + */ + type: string; + /** + * @method ShadowFilter + * @param {string} color + * @param {number} offsetX + * @param {number} offsetY + * @param {number} blur + */ + constructor(color?: string, offsetX?: number, offsetY?: number, blur?: number); + /** + *获取滤镜的字符串表现形式以方便比较两个滤镜是否效果一样 + * @method toString + * @public + * @since 1.0.0 + * @return {string} + */ + toString(): string; + /** + * 绘画滤镜效果 + * @method drawFilter + * @public + * @since 1.0.0 + * @param {ImageData} imageData + */ + drawFilter(imageData?: ImageData): void; + destroy(): void; + } + /** + *

小游戏不支持 小程序不支持

+ * 普通变色滤镜 + * @class annie.ColorFilter + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class ColorFilter extends AObject { + /** + * @property redMultiplier + * @public + * @since 1.0.0 + * @readonly + * @type {number} + */ + redMultiplier: number; + /** + * @property redOffset + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + redOffset: number; + /** + * @property greenMultiplier + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + greenMultiplier: number; + /** + * @property greenOffset + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + greenOffset: number; + /** + * @property blueMultiplier + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + blueMultiplier: number; + /** + * @property blueOffset + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + blueOffset: number; + /** + * @property alphaMultiplier + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + alphaMultiplier: number; + /** + * @property alphaOffset + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + alphaOffset: number; + /** + * @property type + * @public + * @readonly + * @since 1.0.0 + * @type {string} + */ + type: string; + /** + * @method ColorFilter + * @param {number} colorArrays 颜色值数据 + */ + constructor(colorArrays: number[]); + /** + * 绘画滤镜效果 + * @method drawFilter + * @param {ImageData} imageData + * @since 1.0.0 + * @public + */ + drawFilter(imageData?: ImageData): void; + /** + *获取滤镜的字符串表现形式以方便比较两个滤镜是否效果一样 + * @method toString + * @public + * @since 1.0.0 + * @return {string} + */ + toString(): string; + destroy(): void; + } + /** + *

小游戏不支持 小程序不支持

+ * 矩阵变色滤镜 + * @class annie.ColorMatrixFilter + * @extends annie.AObject + * @public + * @since 1.0.0 + */ + class ColorMatrixFilter extends AObject { + /** + * @property brightness + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + brightness: number; + /** + * @property contrast + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + contrast: number; + /** + * @property saturation + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + saturation: number; + /** + * @property hue + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + hue: number; + /** + * 滤镜类型 只读 + * @property type + * @public + * @readonly + * @since 1.0.0 + * @type {string} + */ + type: string; + private colorMatrix; + /** + * @method ColorMatrixFilter + * @param {number} brightness + * @param {number} contrast + * @param {number} saturation + * @param {number} hue + * @public + * @since 1.0.0 + */ + constructor(brightness: number, contrast: number, saturation: number, hue: number); + /** + * 绘画滤镜效果 + * @method drawFilter + * @param {ImageData} imageData + * @since 1.0.0 + * @public + */ + drawFilter(imageData?: ImageData): void; + static DELTA_INDEX: number[]; + private _multiplyMatrix(colorMat); + private _cleanValue(value, limit); + /** + *获取滤镜的字符串表现形式以方便比较两个滤镜是否效果一样 + * @method toString + * @public + * @since 1.0.0 + * @return {string} + */ + toString(): string; + destroy(): void; + } + /** + *

小游戏不支持 小程序不支持

+ * 模糊滤镜 + * @class annie.BlurFilter + * @extends annie.AOjbect + * @public + * @since 1.0.0 + */ + class BlurFilter extends AObject { + /** + * 滤镜类型 只读 + * @property type + * @public + * @readonly + * @since 1.0.0 + * @type {string} + */ + type: string; + /** + * 水平模糊量 + * @property blurX + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + blurX: number; + /** + * 垂直模糊量 + * @property blurY + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + blurY: number; + /** + * 模糊品质 + * @property quality + * @public + * @readonly + * @since 1.0.0 + * @type {number} + */ + quality: number; + /** + *

小游戏不支持 小程序不支持

+ * @method BlurFilter + * @public + * @since 1.0.0 + * @param {number} blurX + * @param {number} blurY + * @param {number} quality + * @example + * var imgEle = new Image(); + * imgEle.onload = function (e) { + * var rect = new annie.Rectangle(0, 0, 200, 200), + * rectBitmap = new annie.Bitmap(imgEle, rect); + * rectBitmap.x = (s.stage.desWidth - bitmap.width) / 2; + * rectBitmap.y = (s.stage.desHeight - bitmap.height) / 2; + * var blur=new annie.BlurFilter(30,30,1);//实例化模糊滤镜 + * rectBitmap.filters=[blur];//为bitmap添加模糊滤镜效果 + * s.addChild(rectBitmap); + * } + * imgEle.src = 'http://test.annie2x.com/biglong/logo.jpg'; + */ + constructor(blurX?: number, blurY?: number, quality?: number); + /** + *获取滤镜的字符串表现形式以方便比较两个滤镜是否效果一样 + * @method toString + * @public + * @since 1.0.0 + * @return {string} + */ + toString(): string; + private static SHG_TABLE; + private static MUL_TABLE; + /** + * 绘画滤镜效果 + * @method drawFilter + * @param {ImageData} imageData + * @since 1.0.0 + * @public + */ + drawFilter(imageData?: ImageData): boolean; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + interface IRender { + /** + * 渲染循环 + * @param target + */ + draw(target: any): void; + /** + * 初始化事件 + * @param stage + */ + init(): void; + /** + * 改变尺寸 + */ + reSize(): void; + /** + * 开始遮罩 + * @param target + */ + beginMask(target: any): void; + /** + * 结束遮罩 + */ + endMask(): void; + /** + * 最上层容器对象 + */ + rootContainer: any; + /** + * 开始渲染 + */ + begin(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * Canvas 渲染器 + * @class annie.CanvasRender + * @extends annie.AObject + * @implements IRender + * @public + * @since 1.0.0 + */ + class CanvasRender extends AObject implements IRender { + /** + * 渲染器所在最上层的对象 + * @property rootContainer + * @public + * @since 1.0.0 + * @type {any} + * @default null + */ + rootContainer: any; + /** + * @property _ctx + * @protected + * @default null + */ + protected _ctx: any; + /** + * @protected _stage + * @protected + * @default null + */ + private _stage; + /** + * @method CanvasRender + * @param {annie.Stage} stage + * @public + * @since 1.0.0 + */ + constructor(stage: Stage); + /** + * 开始渲染时执行 + * @method begin + * @since 1.0.0 + * @public + */ + begin(): void; + /** + * 开始有遮罩时调用 + * @method beginMask + * @param {annie.DisplayObject} target + * @public + * @since 1.0.0 + */ + beginMask(target: any): void; + private drawMask(target); + /** + * 结束遮罩时调用 + * @method endMask + * @public + * @since 1.0.0 + */ + endMask(): void; + /** + * 调用渲染 + * @public + * @since 1.0.0 + * @method draw + * @param {annie.DisplayObject} target 显示对象 + */ + draw(target: any): void; + /** + * 初始化渲染器 + * @public + * @since 1.0.0 + * @method init + */ + init(): void; + /** + * 当舞台尺寸改变时会调用 + * @public + * @since 1.0.0 + * @method reSize + */ + reSize(): void; + destroy(): void; + } +} +/** + * @module annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 资源加载类,后台请求,加载资源和后台交互都可以使用此类 + * @class annie.URLLoader + * @extends annie.EventDispatcher + * @public + * @since 1.0.0 + * @example + * var urlLoader = new annie.URLLoader(); + * urlLoader.addEventListener('onComplete', function (e) { + * //console.log(e.data.response); + * var bitmapData = e.data.response,//bitmap图片数据 + * bitmap = new annie.Bitmap(bitmapData);//实例化bitmap对象 + * //居中对齐 + * bitmap.x = (s.stage.desWidth - bitmap.width) / 2; + * bitmap.y = (s.stage.desHeight - bitmap.height) / 2; + * s.addChild(bitmap); + * }); + * urlLoader.load('http://test.annie2x.com/biglong/logo.jpg');//载入外部图片 + */ + class URLLoader extends EventDispatcher { + /** + * 完成事件 + * @event annie.Event.COMPLETE + * @since 1.0.0 + */ + /** + * annie.URLLoader加载过程事件 + * @event annie.Event.PROGRESS + * @since 1.0.0 + */ + /** + * annie.URLLoader出错事件 + * @event annie.Event.ERROR + * @since 1.0.0 + */ + /** + * annie.URLLoader中断事件 + * @event annie.Event.ABORT + * @since 1.0.0 + */ + /** + * annie.URLLoader开始事件 + * @event annie.Event.START + * @since 1.0.0 + */ + /** + * 构造函数 + * @method URLLoader + * @param type text json js xml image sound css svg video unKnow + */ + constructor(); + /** + * 取消加载 + * @method loadCancel + * @public + * @since 1.0.0 + */ + loadCancel(): void; + private _req; + private headers; + /** + * 加载或请求数据 + * @method load + * @public + * @since 1.0.0 + * @param {string} url + * @param {string} contentType 如果请求类型需要设置主体类型,有form json binary jsonp等,请设置 默认为form + */ + load(url: string, contentType?: string): void; + /** + * 后台返回来的数据类型 + * @property responseType + * @type {string} + * @default null + * @public + * @since 1.0.0 + */ + responseType: string; + /** + * 请求的url地址 + * @property url + * @public + * @since 1.0.0 + * @type {string} + */ + url: string; + /** + * 请求后台的类型 get post + * @property method + * @type {string} + * @default get + * @public + * @since 1.0.0 + */ + method: string; + /** + * 需要向后台传送的数据对象 + * @property data + * @public + * @since 1.0.0 + * @default null + * @type {Object} + */ + data: Object; + private _fqs; + private _fus; + /** + * 添加自定义头 + * @method addHeader + * @param name + * @param value + */ + addHeader(name: string, value: string): void; + destroy(): void; + } +} +/** + * Flash资源加载或者管理类,静态类,不可实例化 + * 一般都是初始化或者设置从Flash里导出的资源 + * @class annie + */ +declare namespace annie { + let _isReleased: boolean; + let _shareSceneList: any; + let res: any; + /** + *

注意:小程序 小游戏里这个方法是同步方法

+ * 加载一个flash2x转换的文件内容,如果未加载完成继续调用此方法将会刷新加载器,中断未被加载完成的资源 + * @method annie.loadScene + * @public + * @static + * @since 1.0.0 + * @param {string} sceneName fla通过flash2x转换时设置的包名 + * @param {Function} progressFun 加载进度回调,回调参数为当前的进度值1-100 + * @param {Function} completeFun 加载完成回调,回调参数为当前加载的场景信息 + * @param {string} domain 加载时要设置的url前缀,默认则不更改加载路径 + */ + let loadScene: (sceneName: any, progressFun: Function, completeFun: Function, domain?: string) => void; + /** + * 判断一个场景是否已经被加载 + * @method annie.isLoadedScene + * @public + * @static + * @since 1.0.0 + * @param {string} sceneName + * @return {boolean} + */ + function isLoadedScene(sceneName: string): Boolean; + /** + * 删除一个场景资源,以方便系统垃圾回收 + * @method annie.unLoadScene + * @public + * @static + * @since 1.0.2 + * @param {string} sceneName + */ + function unLoadScene(sceneName: string): void; + /** + * 获取已经加载场景中的资源 + * @method annie.getResource + * @public + * @static + * @since 2.0.0 + * @param {string} sceneName + * @param {string} resName + * @return {any} + */ + function getResource(sceneName: string, resName: string): any; + function d(target: any, info: any, parentFrame?: number): void; + function sb(sceneName: string, resName: string): annie.Bitmap; + /** + *

注意:小程序 小游戏不支持

+ * 向后台请求或者传输数据的快速简便方法,比直接用URLLoader要方便,小巧 + * @method annie.ajax + * @public + * @static + * @since 1.0.0 + * @param info 向后台传送数据所需要设置的信息 + * @param {url} info.url 向后台请求的地址 + * @param {string} info.type 向后台请求的类型 get 和 post,默认为get + * @param {Function} info.success 发送成功后的回调方法,后台数据将通过参数传回 + * @param {Function} info.error 发送出错后的回调方法,出错信息通过参数传回 + * @param {Object} info.data 向后台发送的信息对象,默认为null + * @param {string} info.responseType 后台返回数据的类型,默认为"text" + * @example + * //get + * annie.ajax({ + * type: "GET", + * url: serverUrl + "Home/Getinfo/getPersonInfo", + * responseType: 'json', + * success: function (result) {console.log(result)}, + * error: function (result) {console.log(result)} + * }) + * //post + * annie.ajax({ + * type: "POST", + * url: serverUrl + "Home/Getinfo/getPersonInfo", + * data: {phone:'135******58'}, + * responseType: 'json', + * success: function (result) {console.log(result)}, + * error: function (result) {console.log(result)} + * }) + */ + function ajax(info: any): void; + /** + *

注意:小程序 小游戏不支持

+ * jsonp调用方法 + * @method annie.jsonp + * @param url + * @param type 0或者1 如果是0,后台返回的是data型jsonp 如果是1,后台返回的是方法型jsonp + * @param callbackName + * @param callbackFun + * @static + * @since 1.0.4 + * @example + * annie.jsonp('js/testData.js', 1, 'getdata', function (result) { + * console.log(result); + * }) + */ + function jsonp(url: string, type: number, callbackName: string, callbackFun: any): void; + /** + *

注意:小程序 小游戏不支持

+ * 获取url地址中的get参数 + * @method annie.getQueryString + * @static + * @param name + * @return {any} + * @since 1.0.9 + * @public + * @example + * //如果当前网页的地址为http://xxx.xxx.com?id=1&username=anlun + * //通过此方法获取id和username的值 + * var id=annie.getQueryString("id"); + * var userName=annie.getQueryString("username"); + * console.log(id,userName); + */ + function getQueryString(name: string): string; + /** + * 引擎自调用.初始化 sprite和movieClip用 + * @method annie.initRes + * @param target + * @param {string} sceneName + * @param {string} resName + * @public + * @static + */ + function initRes(target: any, sceneName: string, resName: string): void; +} +/** + * @module annie + */ +declare namespace annie { + class TweenObj extends AObject { + constructor(); + currentFrame: number; + totalFrames: number; + protected _startData: any; + protected _disData: any; + target: any; + private _isTo; + private _isLoop; + private _delay; + _update: Function; + _completeFun: Function; + _ease: Function; + private _isFront; + private _cParams; + private _loop; + /** + * 初始化数据 + * @method init + * @param target + * @param times + * @param data + * @param isTo + * @public + * @since 1.0.0 + */ + init(target: any, times: number, data: any, isTo?: boolean): void; + /** + * 更新数据 + * @method update + * @since 1.0.0 + * @public + */ + update(): void; + destroy(): void; + } + /** + * 全局静态单列类,不要实例化此类 + * @class annie.Tween + * @public + * @since 1.0.0 + */ + class Tween { + /** + * 将target对象的属性数值渐变到data中对应属性指定的数值 + * @method to + * @static + * @param {Object} target + * @param {number} totalFrame 总时间长度 如果data.useFrame为true 这里就是帧数,如果data.useFrame为false则这里就是时间 + * @param {Object} data 包含target对象的各种数字类型属性及其他一些方法属性 + * @param {number:boolean} data.yoyo 是否像摆钟一样来回循环,默认为false.设置为true则会无限循环,或想只运行指定的摆动次数,将此参数设置为数字就行了。 + * @param {number:boolean} data.loop 是否循环播放。 + * @param {Function} data.onComplete 完成函数. 默认为null + * @param {Array} data.completeParams 完成函数参数. 默认为null,可以给完成函数里传参数 + * @param {Function} data.onUpdate 进入每帧后执行函数,回传参数是当前的Tween时间比.默认为null + * @param {Function} data.ease 缓动类型方法 + * @param {boolean} data.useFrame 为false用时间秒值;为true则是以帧为单位,默认以秒为单位 + * @param {number} data.delay 延时,useFrame为true以帧为单位 useFrame为false以秒为单位 + * @public + * @since 1.0.0 + */ + static to(target: any, totalFrame: number, data: Object): number; + /** + * 将target对象从data中指定的属性数值渐变到target属性当前的数值 + * @method from + * @static + * @param {Object} target + * @param {number} totalFrame 总时间长度 如果data.useFrame为true 这里就是帧数,如果data.useFrame为false则这里就是时间 + * @param {Object} data 包含target对象的各种数字类型属性及其他一些方法属性 + * @param {number:boolean} data.yoyo 是否像摆钟一样来回循环,默认为false.设置为true则会无限循环,或想只运行指定的摆动次数,将此参数设置为数字就行了。 + * @param {number:boolean} data.loop 是否循环播放。 + * @param {Function} data.onComplete 完成结束函数. 默认为null + * @param {Array} data.completeParams 完成函数参数. 默认为null,可以给完成函数里传参数 + * @param {Function} data.onUpdate 进入每帧后执行函数,回传参数是当前的Tween时间比.默认为null + * @param {Function} data.ease 缓动类型方法 + * @param {boolean} data.useFrame 为false用时间秒值;为true则是以帧为单位 + * @param {number} data.delay 延时,useFrame为true以帧为单位 useFrame为false以秒为单位 + * @public + * @since 1.0.0 + */ + static from(target: any, totalFrame: number, data: Object): number; + private static createTween(target, totalFrame, data, isTo); + /** + * 销毁所有正在运行的Tween对象 + * @method killAll + * @static + * @public + * @since 1.0.0 + */ + static killAll(): void; + /** + * @通过创建Tween对象返回时的唯一id来销毁对应的Tween对象 + * @method kill + * @static + * @public + * @param {annie.Tween} tween + * @since 1.0.0 + */ + static kill(tweenId: number): void; + private static _tweenPool; + private static _tweenList; + /** + * quadraticIn缓动类型 + * @method quadraticIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quadraticIn(k: number): number; + /** + * quadraticOut 缓动类型 + * @method quadraticOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quadraticOut(k: number): number; + /** + * quadraticInOut 缓动类型 + * @method quadraticInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quadraticInOut(k: number): number; + /** + * cubicIn 缓动类型 + * @method cubicIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static cubicIn(k: number): number; + /** + * cubicOut 缓动类型 + * @method cubicOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static cubicOut(k: number): number; + /** + * cubicInOut 缓动类型 + * @method cubicInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static cubicInOut(k: number): number; + /** + * quarticIn 缓动类型 + * @method quarticIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quarticIn(k: number): number; + /** + * quarticOut 缓动类型 + * @method quarticOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quarticOut(k: number): number; + /** + * quarticInOut 缓动类型 + * @method quarticInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quarticInOut(k: number): number; + /** + * quinticIn 缓动类型 + * @method quinticIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quinticIn(k: number): number; + /** + * quinticOut 缓动类型 + * @method quinticOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quinticOut(k: number): number; + /** + * quinticInOut 缓动类型 + * @method quinticInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static quinticInOut(k: number): number; + /** + * sinusoidalIn 缓动类型 + * @method sinusoidalIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static sinusoidalIn(k: number): number; + /** + * sinusoidalOut 缓动类型 + * @method sinusoidalOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static sinusoidalOut(k: number): number; + /** + * sinusoidalInOut 缓动类型 + * @method sinusoidalInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static sinusoidalInOut(k: number): number; + /** + * exponentialIn 缓动类型 + * @method exponentialIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static exponentialIn(k: number): number; + /** + * exponentialOut 缓动类型 + * @method exponentialOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static exponentialOut(k: number): number; + /** + * exponentialInOut 缓动类型 + * @method exponentialInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static exponentialInOut(k: number): number; + /** + * circularIn 缓动类型 + * @method circularIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static circularIn(k: number): number; + /** + * circularOut 缓动类型 + * @method circularOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static circularOut(k: number): number; + /** + * circularInOut 缓动类型 + * @method circularInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static circularInOut(k: number): number; + /** + * elasticIn 缓动类型 + * @method elasticIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static elasticIn(k: number): number; + /** + * elasticOut 缓动类型 + * @method elasticOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static elasticOut(k: number): number; + /** + * elasticInOut 缓动类型 + * @method elasticInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static elasticInOut(k: number): number; + /** + * backIn 缓动类型 + * @method backIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static backIn(k: number): number; + /** + * backOut 缓动类型 + * @method backOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static backOut(k: number): number; + /** + * backInOut 缓动类型 + * @method backInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static backInOut(k: number): number; + /** + * bounceIn 缓动类型 + * @method bounceIn + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static bounceIn(k: number): number; + /** + * bounceOut 缓动类型 + * @method bounceOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static bounceOut(k: number): number; + /** + * bounceInOut 缓动类型 + * @method bounceInOut + * @static + * @public + * @since 1.0.0 + * @param {number}k + * @return {number} + */ + static bounceInOut(k: number): number; + private static flush(); + } +} +/** + * @module annie + */ +declare namespace annie { + /** + * 定时器类 + * @class annie.Timer + * @public + * @since 1.0.9 + */ + class Timer extends annie.EventDispatcher { + /** + * annie.Timer定时器触发事件 + * @event annie.Event.TIMER + * @since 1.0.9 + */ + /** + * annie.Timer定时器完成事件 + * @event annie.Event.TIMER_COMPLETE + * @since 1.0.9 + */ + /** + * 构造函数,初始化 + * @method Timer + * @param {number} delay + * @param {number} repeatCount + * @example + * var timer=new annie.Timer(1000,10); + * timer.addEventListener(annie.Event.TIMER,function (e) { + * console.log("once"); + * }) + * timer.addEventListener(annie.Event.TIMER_COMPLETE, function (e) { + * console.log("complete"); + * e.target.kill(); + * }) + * timer.start(); + */ + constructor(delay: number, repeatCount?: number); + /** + * 重置定时器 + * @method reset + * @public + * @since 1.0.9 + */ + reset(): void; + /** + * 开始执行定时器 + * @method start + * @public + * @since 1.0.9 + */ + start(): void; + /** + * 停止执行定时器,通过再次调用start方法可以接着之前未完成的状态运行 + * @method stop + * @public + * @since 1.0.9 + */ + stop(): void; + /** + * 当前触发了多少次Timer事件 + * @property currentCount + * @readonly + * @public + * @since 1.0.9 + * @return {number} + */ + currentCount: number; + private _currentCount; + /** + * 设置或者获取当前定时器之间的执行间隔 + * @property delay + * @since 1.0.9 + * @public + * @return {number} + */ + delay: number; + private _delay; + private _frameDelay; + private _currentFrameDelay; + /** + * 执行触发Timer 的总次数 + * @method repeatCount + * @public + * @since 1.0.9 + * @return {number} + */ + repeatCount: number; + private _repeatCount; + /** + * 当前是否在运行中 + * @property running + * @since 1.0.9 + * @return {boolean} + */ + running: boolean; + private _running; + /** + * 定时器不用了,一定要记得杀死它,不然他会变成厉鬼,时时缠绕着你 + * @method kill + * @public + * @since 1.0.9 + */ + kill(): void; + private update(); + private static _timerList; + private static flush(); + destroy(): void; + } +} +/** + * @class annie + */ +declare namespace annie { + /** + *

小游戏不支持 小程序不支持

+ * 全局eval,相比自带的eval annie.Eval始终是全局的上下文。不会因为使用的位置和环境而改变上下文。 + * @public + * @property annie.Eval + * @since 1.0.3 + * @public + * @type {any} + */ + let Eval: any; + /** + *

小游戏不支持 小程序不支持

+ * 是否开启调试模式 + * @public + * @since 1.0.1 + * @public + * @property annie.debug + * @type {boolean} + * @example + * //在初始化stage之前输入以下代码,将会在界面调出调度面板 + * annie.debug=true; + */ + let debug: boolean; + /** + * annie引擎的版本号 + * @public + * @since 1.0.1 + * @property annie.version + * @type {string} + * @example + * //打印当前引擎的版本号 + * console.log(annie.version); + */ + let version: string; + /** + *

小游戏不支持 小程序不支持

+ * 当前设备是否是移动端或或是pc端,移动端是ios 或者 android + * @property annie.osType + * @since 1.0.0 + * @public + * @type {string|string} + * @static + * @example + * //获取当前设备类型 + * console.log(annie.osType); + */ + let osType: string; + /** + * 全局事件触发器 + * @static + * @property annie.globalDispatcher + * @type {annie.EventDispatcher} + * @public + * @since 1.0.0 + * @example + * //A代码放到任何合适的地方 + * annie.globalDispatcher.addEventListener("myTest",function(e){ + * console.log("收到了其他地方发来的消息:"+e.data); + * }); + * //B代码放到任何一个可以点击的对象的构造函数中 + * this.addEventListener(annie.MouseEvent.CLICK,function(e){ + * annie.globalDispatcher.dispatchEvent("myTest","我是小可"); + * }); + * + */ + let globalDispatcher: annie.EventDispatcher; + /** + * 设备的retina值,简单点说就是几个像素表示设备上的一个点 + * @property annie.devicePixelRatio + * @type {number} + * @since 1.0.0 + * @public + * @static + * @example + * //打印当前设备的retina值 + * console.log(annie.devicePixelRatio); + */ + let devicePixelRatio: number; + /** + * 一个 StageScaleMode 中指定要使用哪种缩放模式的值。以下是有效值: + * StageScaleMode.EXACT_FIT -- 整个应用程序在指定区域中可见,但不尝试保持原始高宽比。可能会发生扭曲,应用程序可能会拉伸或压缩显示。 + * StageScaleMode.SHOW_ALL -- 整个应用程序在指定区域中可见,且不发生扭曲,同时保持应用程序的原始高宽比。应用程序的两侧可能会显示边框。 + * StageScaleMode.NO_BORDER -- 整个应用程序填满指定区域,不发生扭曲,但有可能进行一些裁切,同时保持应用程序的原始高宽比。 + * StageScaleMode.NO_SCALE -- 整个应用程序的大小固定,因此,即使播放器窗口的大小更改,它也会保持不变。如果播放器窗口比内容小,则可能进行一些裁切。 + * StageScaleMode.FIXED_WIDTH -- 整个应用程序的宽固定,因此,即使播放器窗口的大小更改,它也会保持不变。如果播放器窗口比内容小,则可能进行一些裁切。 + * StageScaleMode.FIXED_HEIGHT -- 整个应用程序的高固定,因此,即使播放器窗口的大小更改,它也会保持不变。如果播放器窗口比内容小,则可能进行一些裁切。 + * @property annie.StageScaleMode + * @type {Object} + * @public + * @since 1.0.0 + * @static + * @example + * //动态更改stage的对齐方式示例 + * //以下代码放到一个舞台的显示对象的构造函数中 + * let s=this; + * s.addEventListener(annie.Event.ADD_TO_STAGE,function(e){ + * let i=0; + * s.stage.addEventListener(annie.MouseEvent.CLICK,function(e){ + * let aList=[annie.StageScaleMode.EXACT_FIT,annie.StageScaleMode.NO_BORDER,annie.StageScaleMode.NO_SCALE,annie.StageScaleMode.SHOW_ALL,annie.StageScaleMode.FIXED_WIDTH,annie.StageScaleMode.FIXED_HEIGHT] + * s.stage.scaleMode=aList[i]; + * if(i>5){i=0;} + * } + * } + * + */ + let StageScaleMode: { + EXACT_FIT: string; + NO_BORDER: string; + NO_SCALE: string; + SHOW_ALL: string; + FIXED_WIDTH: string; + FIXED_HEIGHT: string; + }; + /** + *

小游戏不支持 小程序不支持

+ * 跳转到指定网址 + * @method annie.navigateToURL + * @public + * @since 1.0.0 + * @param {string} url + * @static + * @example + * displayObject.addEventListener(annie.MouseEvent.CLICK,function (e) { + * annie.navigateToURL("http://www.annie2x.com"); + * }) + * + */ + function navigateToURL(url: string): void; + /** + *

小游戏不支持 小程序不支持

+ * 向后台发送数据,但不会理会任何的后台反馈 + * @method annie.sendToURL + * @public + * @since 1.0.0 + * @param {string} url + * @static + * @example + * submitBtn.addEventListener(annie.MouseEvent.CLICK,function (e) { + * annie.sendToURL("http://www.annie2x.com??key1=value&key2=value"); + * }) + */ + function sendToURL(url: string): void; + /** + *

小游戏不支持 小程序不支持

+ * 将显示对象转成base64的图片数据,如果要截取的显示对象从来没有添加到舞台更新渲染过,则需要在截图之前手动执行更新方法一次。如:this.update(true); + * @method annie.toDisplayDataURL + * @static + * @param {annie.DisplayObject} obj 显示对象 + * @param {annie.Rectangle} rect 需要裁切的区域,默认不裁切 + * @param {Object} typeInfo {type:"png"} 或者 {type:"jpeg",quality:100} png格式不需要设置quality,jpeg 格式需要设置quality的值 从1-100 + * @param {string} bgColor 颜色值如 #fff,rgba(255,23,34,44)等!默认值为空的情况下,jpeg格式的话就是黑色底,png格式的话就是透明底 + * @return {string} base64格式数据 + * @example + * annie.toDisplayDataURL(DisplayObj, { + * x: 0, + * y: 32, + * width: 441, + * height: 694 + * }, { + * type: "jpeg",//数据类型jpg/png + * quality: 90//图片质量值1-100,png格式不需要设置quality + * }, '#CDDBEB'); + * + * Tip:在一些需要上传图片,编辑图片,需要提交图片数据,分享作品又或者长按保存作品的项目,运用annie.toDisplayDataURL方法就是最好不过的选择了。 + */ + let toDisplayDataURL: (obj: any, rect?: Rectangle, typeInfo?: any, bgColor?: string) => string; + let toDisplayCache: (obj: any) => string; + /** + *

小游戏不支持 小程序不支持

+ * 获取显示区域的颜色值,会返回颜色值的数组 + * @method annie.getStagePixels + * @param {annie.Stage} stage + * @param {annie.Rectangle} rect + * @return {Array} + * @public + * @since 1.1.1 + */ + let getStagePixels: (stage: Stage, rect: Rectangle) => number[]; +} +/** + * @class 全局类和方法 + */ +/** + *

小游戏不支持 小程序不支持

+ * 往控制台打印调试信息 + * @method trace + * @param {Object} arg 任何个数,任意类型的参数 + * @since 1.0.0 + * @public + * @static + * @example + * trace(1); + * trace(1,"hello"); + */ +declare let trace: (...arg: any[]) => void; diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieUI.d.ts b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieUI.d.ts new file mode 100755 index 0000000000000000000000000000000000000000..5ccc7fbbb2f58403bed72bea5e618b1d590a83a0 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/annieUI.d.ts @@ -0,0 +1,817 @@ +/** + * @module annieUI + */ +declare namespace annieUI { + import Sprite = annie.Sprite; + /** + * 滚动视图,有些时候你的内容超过了一屏,需要上下或者左右滑动来查看内容,这个时候,你就应该用它了 + * @class annieUI.ScrollPage + * @public + * @extends annie.Sprite + * @since 1.0.0 + */ + class ScrollPage extends Sprite { + /** + * annie.ScrollPage组件滑动到开始位置事件 + * @event annie.Event.ON_SCROLL_TO_HEAD + * @since 1.1.0 + */ + /** + * annie.ScrollPage组件停止滑动事件 + * @event annie.Event.ON_SCROLL_STOP + * @since 1.1.0 + */ + /** + * annie.ScrollPage组件开始滑动事件 + * @event annie.Event.ON_SCROLL_START + * @since 1.1.0 + */ + /** + * annie.ScrollPage组件滑动到结束位置事件 + * @event annie.Event.ON_SCROLL_TO_END + * @since 1.1.0 + */ + /** + * 横向还是纵向 默认为纵向 + * @property isVertical + * @type {boolean} + * @protected + * @since 1.0.0 + * @default true + */ + protected isVertical: boolean; + /** + * 可见区域的宽 + * @property viewWidth + * @type {number} + * @protected + * @since 1.0.0 + * @default 0 + */ + protected viewWidth: number; + /** + * 可见区域的高 + * @property viewHeight + * @type {number} + * @protected + * @since 1.0.0 + * @default 0 + */ + protected viewHeight: number; + private _tweenId; + /** + * 整个滚动的最大距离值 + * @property maxDistance + * @type {number} + * @public + * @since 1.0.0 + * @default 1040 + */ + maxDistance: number; + /** + * @property 滚动距离 + * @type {number} + * @protected + * @default 0 + * @since 1.0.0 + */ + protected distance: number; + /** + * 最小鼠标滑动距离 + * @property minDis + * @protected + * @type {number} + */ + protected minDis: number; + private maskObj; + /** + * 真正的容器对象,所有滚动的内容都应该是添加到这个容器中 + * @property view + * @public + * @since 1.0.0 + * @type {annie.Sprite} + */ + view: Sprite; + private lastValue; + /** + * 速度 + * @property speed + * @protected + * @since 1.0.0 + * @type {number} + */ + protected speed: number; + /** + * 加速度 + * @property addSpeed + * @protected + * @since 1.0.0 + * @type {number} + */ + protected addSpeed: number; + /** + * 是否是停止滚动状态 + * @property isStop + * @public + * @since 1.0.0 + * @type {boolean} + * @default true + */ + isStop: boolean; + /** + * 滚动的最大速度,直接影响一次滑动之后最长可以滚多远 + * @property maxSpeed + * @public + * @since 1.0.0 + * @default 100 + * @type {number} + */ + maxSpeed: number; + /** + * 摩擦力,值越大,减速越快 + * @property fSpeed + * @public + * @since 1.0.0 + * @default 20 + * @type {number} + */ + fSpeed: number; + protected paramXY: string; + private stopTimes; + private isMouseDownState; + private autoScroll; + /** + * 构造函数 + * @method ScrollPage + * @param {number} vW 可视区域宽 + * @param {number} vH 可视区域高 + * @param {number} maxDistance 最大滚动的长度 + * @param {boolean} isVertical 是纵向还是横向,也就是说是滚x还是滚y,默认值为沿y方向滚动 + * @example + * s.sPage=new annie.ScrollPage(640,s.stage.viewRect.height,4943); + * s.addChild(s.sPage); + * s.sPage.view.addChild(new home.Content()); + * s.sPage.y=s.stage.viewRect.y; + * s.sPage.mouseEnable=false; + *

测试链接

+ */ + constructor(vW: number, vH: number, maxDistance: number, isVertical?: boolean); + /** + * 设置可见区域,可见区域的坐标始终在本地坐标中0,0点位置 + * @method setViewRect + * @param {number}w 设置可见区域的宽 + * @param {number}h 设置可见区域的高 + * @param {boolean} isVertical 方向 + * @public + * @since 1.1.1 + */ + setViewRect(w: number, h: number, isVertical: boolean): void; + private onMouseEvent(e); + /** + * 滚到指定的坐标位置 + * @method scrollTo + * @param {number} dis 需要去到的位置 + * @param {number} time 滚动需要的时间 默认为0 即没有动画效果直接跳到指定页 + * @since 1.1.1 + * @public + */ + scrollTo(dis: number, time?: number): void; + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + import Sprite = annie.Sprite; + /** + *

小游戏不支持 小程序不支持

+ * 有时我们需要从外部获取一张个人头像,将它变成方形或者圆形展示出来。 + * 又希望他能按照我们的尺寸展示,这个时候你就需要用到FacePhoto类啦。 + * @class annieUI.FacePhoto + * @public + * @extends annie.Sprite + * @since 1.0.0 + */ + class FacePhoto extends Sprite { + /** + * 图片加载完成事件 + * @event COMPLETE + * @since 1.0.0 + */ + /** + * 构造函数 + * @method FacePhoto + * @since 1.0.0 + * @public + * @example + * var circleface = new annie.FacePhoto(), + * rectFace=new annie.FacePhoto(); + * //圆形头像 + * circleface.init('http://test.annie2x.com/biglong/logo.jpg', 100, 0); + * circleface.x = 260; + * circleface.y = 100; + * s.addChild(circleface); + * //方形头像 + * rectFace.init('http://test.annie2x.com/biglong/logo.jpg', 200, 1); + * rectFace.x = 260; + * rectFace.y = 400; + * s.addChild(rectFace); + */ + constructor(); + private photo; + private bitmap; + private maskType; + private radioW; + private radioH; + private radio; + private maskObj; + /** + * 被始化头像,可反复调用设置不同的遮罩类型或者不同的头像地址 + * @method init + * @param {string} src 头像的地址 + * @param {number} w 指定头像的宽 + * @param {number} h 指定头像的高 + * @param {number} maskType 遮罩类型,是圆形遮罩还是方形遮罩 0 圆形 1方形 默认是0 + */ + init(src: string, w: number, h: number, maskType?: number): void; + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + import Sprite = annie.Sprite; + /** + * 滑动页面类 + * @class annieUI.SlidePage + * @public + * @extends annie.Sprite + * @since 1.0.0 + */ + class SlidePage extends Sprite { + /** + * annie.Slide 组件开始滑动事件 + * @event annie.Event.ON_SLIDE_START + * @since 1.1.0 + */ + /** + * annie.Slide 组件结束滑动事件 + * @event annie.Event.ON_SLIDE_END + * @since 1.1.0 + */ + /** + * 页面个数 + * @property listLen + * @type {number} + * @protected + * @default 0 + */ + protected listLen: number; + /** + * 页面滑动容器 + * @property view + * @type {annie.Sprite} + * @since 1.1.0 + * @public + */ + view: Sprite; + maskObj: annie.Shape; + /** + * 滑动方向 + * @property isVertical + * @type {boolean} + * @protected + */ + protected isVertical: boolean; + /** + * 容器活动速度 + * @property slideSpeed + * @type {number} + * @public + * @default 0.2 + */ + slideSpeed: number; + private _isBreak; + /** + * 滚动距离 + * @property distance + * @type {number} + * @protected + * @default 0 + * @since 1.0.0 + */ + protected distance: number; + private touchEndX; + private movingX; + private movingY; + private _moveDis; + private touchEndY; + /** + * 当前页面索引ID 默认从0开始 + * @property currentPageIndex + * @type {number} + * @public + * @since 1.0.3 + * @default 0 + */ + currentPageIndex: number; + reBound: number; + isPageFollowToMove: boolean; + follow: number; + /** + * 页面是否移动 + * @property isMoving + * @type {boolean} + * @public + * @default false + * @public + */ + isMoving: boolean; + /** + * 页面宽 + * @property viewWidth + * @type {number} + * @protected + */ + protected viewWidth: number; + /** + * 页面高 + * @property viewHeight + * @type {number} + * @protected + */ + protected viewHeight: number; + /** + * 页面列表 + * @property pageList + * @type {Array} + * @public + */ + pageList: Array; + pageClassList: Array; + private lastX; + private lastY; + /** + * 是否点击了鼠标 + * @property isMouseDown + * @type {boolean} + * @public + */ + isMouseDown: boolean; + /** + * 是否可以下一页 + * @property canSlideNext + * @since 1.0.3 + * @default true + * @type {boolean} + * @public + */ + canSlideNext: boolean; + /** + * 是否可以上一页 + * @property canSlidePrev + * @type {boolean} + * @public + * @default true + */ + canSlidePrev: boolean; + paramXY: string; + private _ease; + /** + * 构造函数 + * @method SlidePage + * @param {number} vW 宽 + * @param {number} vH 高 + * @param {boolean} isVertical 是横向还是纵向 默认纵向 + * @param {Function} ease annie.Tween的缓存函数,也可以是自定义的缓动函数,自定义的话,请尊守annie.Tween缓动函数接口 + */ + constructor(vW: number, vH: number, isVertical?: boolean, ease?: Function); + /** + * 设置可见区域,可见区域的坐标始终在本地坐标中0,0点位置 + * @method setMask + * @param {number}w 设置可见区域的宽 + * @param {number}h 设置可见区域的高 + * @public + * @since 1.0.0 + */ + private setMask(w, h); + private onMouseEvent(e); + /** + * 滑动到指定页 + * @method slideTo + * @public + * @since 1.1.1 + * @param {number} index 要跳到页的索引 + * @param {boolean} noTween 是否需要动画过渡,如果不需要设置成true + */ + slideTo(index: number, noTween?: boolean): void; + /** + * 用于插入分页 + * @method addPageList + * @param {Array} classList 每个页面的类,注意是类,不是对象 + * @since 1.0.3 + * @public + */ + addPageList(classList: any): void; + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + import Sprite = annie.Sprite; + class FlipBook extends Sprite { + /** + * annie.FlipBook组件翻页开始事件 + * @event annie.Event.ON_FLIP_START + * @since 1.1.0 + */ + /** + * annie.FlipBook组件翻页结束事件 + * @event annie.Event.ON_FLIP_STOP + * @since 1.1.0 + */ + /** + * 电子杂志组件类 + * @class annieUI.FlipBook + * @public + * @extends annie.Sprite + * @since 1.0.3 + */ + /** + * 总页数 + * @property totalPage + * @type {number} + */ + totalPage: number; + /** + * 当前页数 + * @property + * @type {number} + * @since 1.0.3 + */ + currPage: number; + /** + * 翻页速度,0-1之间,值越小,速度越快 + * @property + * @since 1.1.3 + * @type {number} + */ + speed: number; + private bW; + private bH; + private toPage; + private crossGap; + private layer1Arr; + private layer0Arr; + private state; + private timerArg0; + private timerArg1; + private px; + private py; + private toPosArr; + private myPosArr; + private rPage0; + private rPage1; + private pageMC; + private leftPage; + private rightPage; + private rMask0; + private rMask1; + private shadow0; + private shadow1; + private sMask0; + private sMask1; + private p1; + private p2; + private p3; + private p4; + private limitP1; + private limitP2; + private pages; + private stageMP; + private getPageCallback; + /** + * 指定是否能够翻页动作 + * @property canFlip + * @since 1.0.3 + * @type {boolean} + */ + canFlip: boolean; + /** + * 初始化电子杂志 + * @method FlipBook + * @param {number} width 单页宽 + * @param {number} height 单页高 + * @param {number} pageCount 总页数,一般为偶数 + * @param {Function} getPageCallBack,通过此回调获取指定页的内容的显示对象 + * @since 1.0.3 + */ + constructor(width: number, height: number, pageCount: any, getPageCallBack: Function); + private drawPage(num, movePoint); + private checkLimit(point, limitPoint, limitGap); + private getPage(index); + private getBookArr(point, actionPoint1, actionPoint2); + private getLayerArr(point1, point2, actionPoint1, actionPoint2, limitPoint1, limitPoint2); + private getShape(shape, pointArr); + private setShadowMask(shape, g_width, g_height); + private getShadow(shape, point1, point2, arg); + private setPage(pageNum); + private onMouseDown(e); + private onMouseUp(e); + private onMouseMove(e); + private checkArea(point); + /** + * 跳到指定的页数 + * @method flipTo + * @param {number} index 跳到指定的页数 + * @since 1.0.3 + */ + flipTo(index: number): void; + /** + * @method nextPage + * @public + * @since 1.1.1 + */ + nextPage(): void; + /** + * @method prevPage + * @public + * @since 1.1.1 + */ + prevPage(): void; + /** + * @method startPage + * @public + * @since 1.1.1 + */ + startPage(): void; + /** + * @method endPage + * @public + * @since 1.1.1 + */ + endPage(): void; + private flushPage(); + private onEnterFrame(e); + private arc(argR, argN1, argN2); + private angle(target1, target2); + private pos(target1, target2); + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + import DisplayObject = annie.DisplayObject; + /** + * 有些时候需要大量的有规则的滚动内容。这个是滚动类的Item类接口 + * @class annieUI.IScrollListItem + * @public + * @extends annie.DisplayObject + * @since 1.0.9 + */ + interface IScrollListItem extends DisplayObject { + initData(id: number, data: Array): void; + id: number; + data: number; + } + /** + * 有些时候需要大量的有规则的滚动内容。这个时候就应该用到这个类了 + * @class annieUI.ScrollList + * @public + * @extends annieUI.ScrollPage + * @since 1.0.9 + */ + class ScrollList extends ScrollPage { + private _items; + private _itemW; + private _itemH; + private _itemRow; + private _itemCol; + private _itemCount; + private _itemClass; + private _isInit; + data: Array; + private downL; + private _cols; + private _disParam; + private _lastFirstId; + /** + * 获取下拉滚动的loadingView对象 + * @property loadingView + * @since 1.0.9 + * @return {DisplayObject} + */ + loadingView: DisplayObject; + /** + * 构造函数 + * @method ScrollList + * @param {Class} itemClassName 可以做为Item的类 + * @param {number} itemWidth item宽 + * @param {number} itemHeight item高 + * @param {number} vW 列表的宽 + * @param {number} vH 列表的高 + * @param {boolean} isVertical 是横向滚动还是纵向滚动 默认是纵向 + * @param {number} cols 分几列,默认是1列 + * @since 1.0.9 + */ + constructor(itemClassName: any, itemWidth: number, itemHeight: number, vW: number, vH: number, isVertical?: boolean, cols?: number); + /** + * 更新列表数据 + * @method updateData + * @param {Array} data + * @param {boolean} isReset 是否重置数据列表。 + * @since 1.0.9 + */ + updateData(data: Array, isReset?: boolean): void; + private flushData(); + /** + * 设置可见区域,可见区域的坐标始终在本地坐标中0,0点位置 + * @method setViewRect + * @param {number}w 设置可见区域的宽 + * @param {number}h 设置可见区域的高 + * @param {boolean} isVertical 方向 + * @public + * @since 1.1.1 + */ + setViewRect(w: number, h: number, isVertical: boolean): void; + private _updateViewRect(); + /** + * 设置加载数据时显示的loading对象 + * @since 1.0.9 + * @method setLoading + * @param {annie.DisplayObject} downLoading + */ + setLoading(downLoading: DisplayObject): void; + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + /** + *

小游戏不支持 小程序不支持

+ * 画板类 + * @class annieUI.DrawingBoard + * @public + * @extends annie.Bitmap + * @since 1.1.1 + */ + class DrawingBoard extends annie.Bitmap { + protected context: CanvasRenderingContext2D; + protected _isMouseDown: boolean; + /** + * 绘画半径 + * @property drawRadius + * @type {number} + * @public + * @since 1.1.1 + */ + drawRadius: number; + protected _drawRadius: number; + /** + * 绘画颜色, 可以是任何的颜色类型 + * @property drawColor + * @type {string} + * @public + * @since + * @type {any} + */ + drawColor: any; + /** + * 背景色 可以是任何的颜色类型 + * @property bgColor + * @type {any} + * @public + * @since 1.1.1 + */ + bgColor: any; + /** + * 画板宽 + * @property drawWidth + * @type {number} + * @readonly + * @public + * @since 1.1.1 + */ + drawWidth: number; + /** + * 画板高 + * @property drawHeight + * @type {number} + * @readonly + * @public + * @since 1.1.1 + */ + drawHeight: number; + /** + * 总步数数据 + * @property totalStepList + * @protected + * @type {any[]} + */ + protected totalStepList: any; + /** + * 单步数据 + * @protected + * @property addStepObj + * @type {Object} + */ + protected addStepObj: any; + /** + * 当前步数所在的id + * @property currentStepId + * @protected + * @type {number} + */ + protected currentStepId: number; + /** + * 构造函数 + * @method DrawingBoard + * @param width 画板宽 + * @param height 画板高 + * @param bgColor 背景色 默认透明 + * @since 1.1.1 + */ + constructor(width: number, height: number, bgColor?: any); + private onMouseDown(e); + private onMouseUp(e); + private onMouseMove(e); + /** + * 重置画板 + * @method reset + * @param bgColor + * @public + * @since 1.1.1 + */ + reset(bgColor?: any): void; + /** + * 撤销步骤 + * @method cancel + * @param {number} step 撤销几步 0则全部撤销,等同于reset + * @public + * @since 1.1.1 + */ + cancel(step?: number): boolean; + destroy(): void; + } +} +/** + * @module annieUI + */ +declare namespace annieUI { + /** + * 刮刮卡类 + * @class annieUI.ScratchCard + * @public + * @extends annie.DrawingBoard + * @since 1.1.1 + */ + class ScratchCard extends DrawingBoard { + /** + * annie.ScratchCard 刮刮卡事件,刮了多少,一个百分比 + * @event annie.Event.ON_DRAW_PERCENT + * @since 1.0.9 + * + */ + /** + * 构造函数 + * 请监听 "onDrawTime"事件来判断刮完多少百分比了。 + * @method ScratchCard + * @param width 宽 + * @param height 高 + * @param frontColorObj 没刮开之前的图,可以为单色,也可以为位图填充。一般是用位图填充,如果生成位图填充,请自行复习canvas位图填充 + * @param backColorObj 被刮开之后的图,可以为单色,也可以为位图填充。一般是用位图填充,如果生成位图填充,请自行复习canvas位图填充 + * @param drawRadius 刮刮卡刮的时候的半径,默认为50 + */ + constructor(width: number, height: number, frontColorObj: any, backColorObj: any, drawRadius?: number); + private _drawList; + private _totalDraw; + private _currentDraw; + /** + * 重置刮刮卡 + * @method reset + * @param backColorObj 要更换的被刮出来的图片,不赋值的话默认之前设置的 + * @since 1.1.1 + * @public + */ + reset(backColorObj?: any): void; + /** + * 撤销步骤 没有任何功能,只是把从基类中的代码移除,调用不会产生任何效果 + * @method cancel + * @param step + * @public + * @since 1.1.1 + * @return {boolean} + */ + cancel(step?: number): boolean; + drawRadius: number; + destroy(): void; + } +} diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.d.ts b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.d.ts new file mode 100755 index 0000000000000000000000000000000000000000..337ab51fd014228c574e412ae3bb83734c51426c --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.d.ts @@ -0,0 +1,19552 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare var NaN: number; +declare var Infinity: number; + + +declare function eval(x: string): any; + + +declare function parseInt(s: string, radix?: number): number; + + +declare function parseFloat(string: string): number; + + +declare function isNaN(number: number): boolean; + + +declare function isFinite(number: number): boolean; + + +declare function decodeURI(encodedURI: string): string; + + +declare function decodeURIComponent(encodedURIComponent: string): string; + + +declare function encodeURI(uri: string): string; + + +declare function encodeURIComponent(uriComponent: string): string; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get? (): any; + set? (v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + + constructor: Function; + + + toString(): string; + + + toLocaleString(): string; + + + valueOf(): Object; + + + hasOwnProperty(v: string): boolean; + + + isPrototypeOf(v: Object): boolean; + + + propertyIsEnumerable(v: string): boolean; +} + +interface ObjectConstructor { + new (value?: any): Object; + (): any; + (value: any): any; + + + prototype: Object; + + + getPrototypeOf(o: any): any; + + + getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; + + + getOwnPropertyNames(o: any): string[]; + + + create(o: any, properties?: PropertyDescriptorMap): any; + + + defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; + + + defineProperties(o: any, properties: PropertyDescriptorMap): any; + + + seal(o: T): T; + + + freeze(o: T): T; + + + preventExtensions(o: T): T; + + + isSealed(o: any): boolean; + + + isFrozen(o: any): boolean; + + + isExtensible(o: any): boolean; + + + keys(o: any): string[]; +} + + +declare var Object: ObjectConstructor; + + +interface Function { + + apply(thisArg: any, argArray?: any): any; + + + call(thisArg: any, ...argArray: any[]): any; + + + bind(thisArg: any, ...argArray: any[]): any; + + prototype: any; + length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +interface FunctionConstructor { + + new (...args: string[]): Function; + (...args: string[]): Function; + prototype: Function; +} + +declare var Function: FunctionConstructor; + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + + toString(): string; + + + charAt(pos: number): string; + + + charCodeAt(index: number): number; + + + concat(...strings: string[]): string; + + + indexOf(searchString: string, position?: number): number; + + + lastIndexOf(searchString: string, position?: number): number; + + + localeCompare(that: string): number; + + + match(regexp: string): RegExpMatchArray; + + + match(regexp: RegExp): RegExpMatchArray; + + + replace(searchValue: string, replaceValue: string): string; + + + replace(searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; + + + replace(searchValue: RegExp, replaceValue: string): string; + + + replace(searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; + + + search(regexp: string): number; + + + search(regexp: RegExp): number; + + + slice(start?: number, end?: number): string; + + + split(separator: string, limit?: number): string[]; + + + split(separator: RegExp, limit?: number): string[]; + + + substring(start: number, end?: number): string; + + + toLowerCase(): string; + + + toLocaleLowerCase(): string; + + + toUpperCase(): string; + + + toLocaleUpperCase(): string; + + + trim(): string; + + + length: number; + + // IE extensions + + substr(from: number, length?: number): string; + + + valueOf(): string; + + [index: number]: string; +} + +interface StringConstructor { + new (value?: any): String; + (value?: any): string; + prototype: String; + fromCharCode(...codes: number[]): string; +} + + +declare var String: StringConstructor; + +interface Boolean { + + valueOf(): boolean; +} + +interface BooleanConstructor { + new (value?: any): Boolean; + (value?: any): boolean; + prototype: Boolean; +} + +declare var Boolean: BooleanConstructor; + +interface Number { + + toString(radix?: number): string; + + + toFixed(fractionDigits?: number): string; + + + toExponential(fractionDigits?: number): string; + + + toPrecision(precision?: number): string; + + + valueOf(): number; +} + +interface NumberConstructor { + new (value?: any): Number; + (value?: any): number; + prototype: Number; + + + MAX_VALUE: number; + + + MIN_VALUE: number; + + + NaN: number; + + + NEGATIVE_INFINITY: number; + + + POSITIVE_INFINITY: number; +} + + +declare var Number: NumberConstructor; + +interface TemplateStringsArray extends Array { + raw: string[]; +} + +interface Math { + + E: number; + + LN10: number; + + LN2: number; + + LOG2E: number; + + LOG10E: number; + + PI: number; + + SQRT1_2: number; + + SQRT2: number; + + abs(x: number): number; + + acos(x: number): number; + + asin(x: number): number; + + atan(x: number): number; + + atan2(y: number, x: number): number; + + ceil(x: number): number; + + cos(x: number): number; + + exp(x: number): number; + + floor(x: number): number; + + log(x: number): number; + + max(...values: number[]): number; + + min(...values: number[]): number; + + pow(x: number, y: number): number; + + random(): number; + + round(x: number): number; + + sin(x: number): number; + + sqrt(x: number): number; + + tan(x: number): number; +} + +declare var Math: Math; + + +interface Date { + + toString(): string; + + toDateString(): string; + + toTimeString(): string; + + toLocaleString(): string; + + toLocaleDateString(): string; + + toLocaleTimeString(): string; + + valueOf(): number; + + getTime(): number; + + getFullYear(): number; + + getUTCFullYear(): number; + + getMonth(): number; + + getUTCMonth(): number; + + getDate(): number; + + getUTCDate(): number; + + getDay(): number; + + getUTCDay(): number; + + getHours(): number; + + getUTCHours(): number; + + getMinutes(): number; + + getUTCMinutes(): number; + + getSeconds(): number; + + getUTCSeconds(): number; + + getMilliseconds(): number; + + getUTCMilliseconds(): number; + + getTimezoneOffset(): number; + + setTime(time: number): number; + + setMilliseconds(ms: number): number; + + setUTCMilliseconds(ms: number): number; + + + setSeconds(sec: number, ms?: number): number; + + setUTCSeconds(sec: number, ms?: number): number; + + setMinutes(min: number, sec?: number, ms?: number): number; + + setUTCMinutes(min: number, sec?: number, ms?: number): number; + + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + + setDate(date: number): number; + + setUTCDate(date: number): number; + + setMonth(month: number, date?: number): number; + + setUTCMonth(month: number, date?: number): number; + + setFullYear(year: number, month?: number, date?: number): number; + + setUTCFullYear(year: number, month?: number, date?: number): number; + + toUTCString(): string; + + toISOString(): string; + + toJSON(key?: any): string; +} + +interface DateConstructor { + new (): Date; + new (value: number): Date; + new (value: string): Date; + new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; + (): string; + prototype: Date; + + parse(s: string): number; + + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +declare var Date: DateConstructor; + +interface RegExpMatchArray extends Array { + index?: number; + input?: string; +} + +interface RegExpExecArray extends Array { + index: number; + input: string; +} + +interface RegExp { + + exec(string: string): RegExpExecArray; + + + test(string: string): boolean; + + + source: string; + + + global: boolean; + + + ignoreCase: boolean; + + + multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): RegExp; +} + +interface RegExpConstructor { + new (pattern: string, flags?: string): RegExp; + (pattern: string, flags?: string): RegExp; + prototype: RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +declare var RegExp: RegExpConstructor; + +interface Error { + name: string; + message: string; +} + +interface ErrorConstructor { + new (message?: string): Error; + (message?: string): Error; + prototype: Error; +} + +declare var Error: ErrorConstructor; + +interface EvalError extends Error { +} + +interface EvalErrorConstructor { + new (message?: string): EvalError; + (message?: string): EvalError; + prototype: EvalError; +} + +declare var EvalError: EvalErrorConstructor; + +interface RangeError extends Error { +} + +interface RangeErrorConstructor { + new (message?: string): RangeError; + (message?: string): RangeError; + prototype: RangeError; +} + +declare var RangeError: RangeErrorConstructor; + +interface ReferenceError extends Error { +} + +interface ReferenceErrorConstructor { + new (message?: string): ReferenceError; + (message?: string): ReferenceError; + prototype: ReferenceError; +} + +declare var ReferenceError: ReferenceErrorConstructor; + +interface SyntaxError extends Error { +} + +interface SyntaxErrorConstructor { + new (message?: string): SyntaxError; + (message?: string): SyntaxError; + prototype: SyntaxError; +} + +declare var SyntaxError: SyntaxErrorConstructor; + +interface TypeError extends Error { +} + +interface TypeErrorConstructor { + new (message?: string): TypeError; + (message?: string): TypeError; + prototype: TypeError; +} + +declare var TypeError: TypeErrorConstructor; + +interface URIError extends Error { +} + +interface URIErrorConstructor { + new (message?: string): URIError; + (message?: string): URIError; + prototype: URIError; +} + +declare var URIError: URIErrorConstructor; + +interface JSON { + + parse(text: string, reviver?: (key: any, value: any) => any): any; + + stringify(value: any): string; + + stringify(value: any, replacer: (key: string, value: any) => any): string; + + stringify(value: any, replacer: any[]): string; + + stringify(value: any, replacer: (key: string, value: any) => any, space: string | number): string; + + stringify(value: any, replacer: any[], space: string | number): string; +} + +declare var JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface Array { + + length: number; + + toString(): string; + toLocaleString(): string; + + push(...items: T[]): number; + + pop(): T; + + concat(...items: U[]): T[]; + + concat(...items: T[]): T[]; + + join(separator?: string): string; + + reverse(): T[]; + + shift(): T; + + slice(start?: number, end?: number): T[]; + + + sort(compareFn?: (a: T, b: T) => number): T[]; + + + splice(start: number): T[]; + + + splice(start: number, deleteCount: number, ...items: T[]): T[]; + + + unshift(...items: T[]): number; + + + indexOf(searchElement: T, fromIndex?: number): number; + + + lastIndexOf(searchElement: T, fromIndex?: number): number; + + + every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + + some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + + + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + + + filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): T[]; + + + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; + + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; + + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + [n: number]: T; +} + +interface ArrayConstructor { + new (arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): arg is Array; + prototype: Array; +} + +declare var Array: ArrayConstructor; + +interface TypedPropertyDescriptor { + enumerable?: boolean; + configurable?: boolean; + writable?: boolean; + value?: T; + get?: () => T; + set?: (value: T) => void; +} + +declare type ClassDecorator = (target: TFunction) => TFunction | void; +declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; +declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; +declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; + +declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; + +interface PromiseLike { + + then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; + then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; +} + +interface ArrayLike { + length: number; + [n: number]: T; +} + + + +interface ArrayBuffer { + + byteLength: number; + + + slice(begin:number, end?:number): ArrayBuffer; +} + +interface ArrayBufferConstructor { + prototype: ArrayBuffer; + new (byteLength: number): ArrayBuffer; + isView(arg: any): arg is ArrayBufferView; +} +declare var ArrayBuffer: ArrayBufferConstructor; + +interface ArrayBufferView { + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; +} + +interface DataView { + buffer: ArrayBuffer; + byteLength: number; + byteOffset: number; + + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + + getInt8(byteOffset: number): number; + + + getInt16(byteOffset: number, littleEndian?: boolean): number; + + getInt32(byteOffset: number, littleEndian?: boolean): number; + + + getUint8(byteOffset: number): number; + + + getUint16(byteOffset: number, littleEndian?: boolean): number; + + + getUint32(byteOffset: number, littleEndian?: boolean): number; + + + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; + + + setInt8(byteOffset: number, value: number): void; + + + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + + setUint8(byteOffset: number, value: number): void; + + + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; +} + +interface DataViewConstructor { + new (buffer: ArrayBuffer, byteOffset?: number, byteLength?: number): DataView; +} +declare var DataView: DataViewConstructor; + + +interface Int8Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Int8Array; + + + every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Int8Array; + + + filter(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): Int8Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + + reverse(): Int8Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Int8Array; + + + some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Int8Array; + + + subarray(begin: number, end?: number): Int8Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} +interface Int8ArrayConstructor { + prototype: Int8Array; + new (length: number): Int8Array; + new (array: ArrayLike): Int8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Int8Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; + +} +declare var Int8Array: Int8ArrayConstructor; + + +interface Uint8Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Uint8Array; + + + every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Uint8Array; + + + filter(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): Uint8Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + + reverse(): Uint8Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Uint8Array; + + + some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Uint8Array; + + + subarray(begin: number, end?: number): Uint8Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Uint8ArrayConstructor { + prototype: Uint8Array; + new (length: number): Uint8Array; + new (array: ArrayLike): Uint8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Uint8Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; + +} +declare var Uint8Array: Uint8ArrayConstructor; + + +interface Uint8ClampedArray { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Uint8ClampedArray; + + + every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Uint8ClampedArray; + + + filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): Uint8ClampedArray; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + + reverse(): Uint8ClampedArray; + + + set(index: number, value: number): void; + + + set(array: Uint8ClampedArray, offset?: number): void; + + + slice(start?: number, end?: number): Uint8ClampedArray; + + + some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Uint8ClampedArray; + + + subarray(begin: number, end?: number): Uint8ClampedArray; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Uint8ClampedArrayConstructor { + prototype: Uint8ClampedArray; + new (length: number): Uint8ClampedArray; + new (array: ArrayLike): Uint8ClampedArray; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Uint8ClampedArray; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; +} +declare var Uint8ClampedArray: Uint8ClampedArrayConstructor; + + +interface Int16Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Int16Array; + + + every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Int16Array; + + + filter(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): Int16Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + + reverse(): Int16Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Int16Array; + + + some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Int16Array; + + + subarray(begin: number, end?: number): Int16Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Int16ArrayConstructor { + prototype: Int16Array; + new (length: number): Int16Array; + new (array: ArrayLike): Int16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Int16Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; + +} +declare var Int16Array: Int16ArrayConstructor; + + +interface Uint16Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Uint16Array; + + + every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Uint16Array; + + + filter(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): Uint16Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + + reverse(): Uint16Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Uint16Array; + + + some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Uint16Array; + + + subarray(begin: number, end?: number): Uint16Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Uint16ArrayConstructor { + prototype: Uint16Array; + new (length: number): Uint16Array; + new (array: ArrayLike): Uint16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Uint16Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; + +} +declare var Uint16Array: Uint16ArrayConstructor; + +interface Int32Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Int32Array; + + + every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Int32Array; + + + filter(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): Int32Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + + reverse(): Int32Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Int32Array; + + + some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Int32Array; + + + subarray(begin: number, end?: number): Int32Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Int32ArrayConstructor { + prototype: Int32Array; + new (length: number): Int32Array; + new (array: ArrayLike): Int32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Int32Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; +} +declare var Int32Array: Int32ArrayConstructor; + + +interface Uint32Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Uint32Array; + + + every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Uint32Array; + + + filter(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): Uint32Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + + reverse(): Uint32Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Uint32Array; + + + some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Uint32Array; + + + subarray(begin: number, end?: number): Uint32Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Uint32ArrayConstructor { + prototype: Uint32Array; + new (length: number): Uint32Array; + new (array: ArrayLike): Uint32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Uint32Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; +} +declare var Uint32Array: Uint32ArrayConstructor; + + +interface Float32Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Float32Array; + + + every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Float32Array; + + + filter(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): Float32Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + + reverse(): Float32Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Float32Array; + + + some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Float32Array; + + + subarray(begin: number, end?: number): Float32Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Float32ArrayConstructor { + prototype: Float32Array; + new (length: number): Float32Array; + new (array: ArrayLike): Float32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Float32Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; + +} +declare var Float32Array: Float32ArrayConstructor; + + +interface Float64Array { + + BYTES_PER_ELEMENT: number; + + + buffer: ArrayBuffer; + + + byteLength: number; + + + byteOffset: number; + + + copyWithin(target: number, start: number, end?: number): Float64Array; + + + every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + + fill(value: number, start?: number, end?: number): Float64Array; + + + filter(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): Float64Array; + + + find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; + + + findIndex(predicate: (value: number) => boolean, thisArg?: any): number; + + + forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; + + + indexOf(searchElement: number, fromIndex?: number): number; + + + join(separator?: string): string; + + + lastIndexOf(searchElement: number, fromIndex?: number): number; + + + length: number; + + + map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; + + + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; + + + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; + + + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + + reverse(): Float64Array; + + + set(index: number, value: number): void; + + + set(array: ArrayLike, offset?: number): void; + + + slice(start?: number, end?: number): Float64Array; + + + some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + + sort(compareFn?: (a: number, b: number) => number): Float64Array; + + + subarray(begin: number, end?: number): Float64Array; + + + toLocaleString(): string; + + + toString(): string; + + [index: number]: number; +} + +interface Float64ArrayConstructor { + prototype: Float64Array; + new (length: number): Float64Array; + new (array: ArrayLike): Float64Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; + + + BYTES_PER_ELEMENT: number; + + + of(...items: number[]): Float64Array; + + + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; +} +declare var Float64Array: Float64ArrayConstructor; +///////////////////////////// +/// ECMAScript Internationalization API +///////////////////////////// + +declare module Intl { + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new (locales?: string[], options?: CollatorOptions): Collator; + new (locale?: string, options?: CollatorOptions): Collator; + (locales?: string[], options?: CollatorOptions): Collator; + (locale?: string, options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string[], options?: CollatorOptions): string[]; + supportedLocalesOf(locale: string, options?: CollatorOptions): string[]; + } + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + minimumIntegerDigits?: number; + minimumFractionDigits?: number; + maximumFractionDigits?: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new (locales?: string[], options?: NumberFormatOptions): NumberFormat; + new (locale?: string, options?: NumberFormatOptions): NumberFormat; + (locales?: string[], options?: NumberFormatOptions): NumberFormat; + (locale?: string, options?: NumberFormatOptions): NumberFormat; + supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[]; + } + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12?: boolean; + timeZone?: string; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date?: Date | number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new (locales?: string[], options?: DateTimeFormatOptions): DateTimeFormat; + new (locale?: string, options?: DateTimeFormatOptions): DateTimeFormat; + (locales?: string[], options?: DateTimeFormatOptions): DateTimeFormat; + (locale?: string, options?: DateTimeFormatOptions): DateTimeFormat; + supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[]; + } +} + +interface String { + + localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number; + + + localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number; +} + +interface Number { + + toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string; + + + toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string; +} + +interface Date { + + toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string; + + toLocaleDateString(locales?: string[], options?: Intl.DateTimeFormatOptions): string; + + + toLocaleTimeString(locale?: string[], options?: Intl.DateTimeFormatOptions): string; + + + toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string; + + + toLocaleDateString(locale?: string, options?: Intl.DateTimeFormatOptions): string; + + + toLocaleTimeString(locale?: string, options?: Intl.DateTimeFormatOptions): string; +} + + +///////////////////////////// +/// IE DOM APIs +///////////////////////////// + +interface Algorithm { + name?: string; +} + +interface AriaRequestEventInit extends EventInit { + attributeName?: string; + attributeValue?: string; +} + +interface ClipboardEventInit extends EventInit { + data?: string; + dataType?: string; +} + +interface CommandEventInit extends EventInit { + commandName?: string; + detail?: string; +} + +interface CompositionEventInit extends UIEventInit { + data?: string; +} + +interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { + arrayOfDomainStrings?: string[]; +} + +interface CustomEventInit extends EventInit { + detail?: any; +} + +interface DeviceAccelerationDict { + x?: number; + y?: number; + z?: number; +} + +interface DeviceRotationRateDict { + alpha?: number; + beta?: number; + gamma?: number; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; +} + +interface ExceptionInformation { + domain?: string; +} + +interface FocusEventInit extends UIEventInit { + relatedTarget?: EventTarget; +} + +interface HashChangeEventInit extends EventInit { + newURL?: string; + oldURL?: string; +} + +interface KeyAlgorithm { + name?: string; +} + +interface KeyboardEventInit extends SharedKeyboardAndMouseEventInit { + key?: string; + location?: number; + repeat?: boolean; +} + +interface MouseEventInit extends SharedKeyboardAndMouseEventInit { + screenX?: number; + screenY?: number; + clientX?: number; + clientY?: number; + button?: number; + buttons?: number; + relatedTarget?: EventTarget; +} + +interface MsZoomToOptions { + contentX?: number; + contentY?: number; + viewportX?: string; + viewportY?: string; + scaleFactor?: number; + animate?: string; +} + +interface MutationObserverInit { + childList?: boolean; + attributes?: boolean; + characterData?: boolean; + subtree?: boolean; + attributeOldValue?: boolean; + characterDataOldValue?: boolean; + attributeFilter?: string[]; +} + +interface ObjectURLOptions { + oneTimeOnly?: boolean; +} + +interface PointerEventInit extends MouseEventInit { + pointerId?: number; + width?: number; + height?: number; + pressure?: number; + tiltX?: number; + tiltY?: number; + pointerType?: string; + isPrimary?: boolean; +} + +interface PositionOptions { + enableHighAccuracy?: boolean; + timeout?: number; + maximumAge?: number; +} + +interface SharedKeyboardAndMouseEventInit extends UIEventInit { + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + metaKey?: boolean; + keyModifierStateAltGraph?: boolean; + keyModifierStateCapsLock?: boolean; + keyModifierStateFn?: boolean; + keyModifierStateFnLock?: boolean; + keyModifierStateHyper?: boolean; + keyModifierStateNumLock?: boolean; + keyModifierStateOS?: boolean; + keyModifierStateScrollLock?: boolean; + keyModifierStateSuper?: boolean; + keyModifierStateSymbol?: boolean; + keyModifierStateSymbolLock?: boolean; +} + +interface StoreExceptionsInformation extends ExceptionInformation { + siteName?: string; + explanationString?: string; + detailURI?: string; +} + +interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { + arrayOfDomainStrings?: string[]; +} + +interface UIEventInit extends EventInit { + view?: Window; + detail?: number; +} + +interface WebGLContextAttributes { + alpha?: boolean; + depth?: boolean; + stencil?: boolean; + antialias?: boolean; + premultipliedAlpha?: boolean; + preserveDrawingBuffer?: boolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WheelEventInit extends MouseEventInit { + deltaX?: number; + deltaY?: number; + deltaZ?: number; + deltaMode?: number; +} + +interface EventListener { + (evt: Event): void; +} + +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: number, first: number, count: number, primcount: number): void; + drawElementsInstancedANGLE(mode: number, count: number, type: number, offset: number, primcount: number): void; + vertexAttribDivisorANGLE(index: number, divisor: number): void; + VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number; +} + +declare var ANGLE_instanced_arrays: { + prototype: ANGLE_instanced_arrays; + new(): ANGLE_instanced_arrays; + VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number; +} + +interface AnalyserNode extends AudioNode { + fftSize: number; + frequencyBinCount: number; + maxDecibels: number; + minDecibels: number; + smoothingTimeConstant: number; + getByteFrequencyData(array: Uint8Array): void; + getByteTimeDomainData(array: Uint8Array): void; + getFloatFrequencyData(array: Float32Array): void; + getFloatTimeDomainData(array: Float32Array): void; +} + +declare var AnalyserNode: { + prototype: AnalyserNode; + new(): AnalyserNode; +} + +interface AnimationEvent extends Event { + animationName: string; + elapsedTime: number; + initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void; +} + +declare var AnimationEvent: { + prototype: AnimationEvent; + new(): AnimationEvent; +} + +interface ApplicationCache extends EventTarget { + oncached: (ev: Event) => any; + onchecking: (ev: Event) => any; + ondownloading: (ev: Event) => any; + onerror: (ev: Event) => any; + onnoupdate: (ev: Event) => any; + onobsolete: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + onupdateready: (ev: Event) => any; + status: number; + abort(): void; + swapCache(): void; + update(): void; + CHECKING: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; + UNCACHED: number; + UPDATEREADY: number; + addEventListener(type: "cached", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "checking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "downloading", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "noupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "obsolete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "updateready", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + CHECKING: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; + UNCACHED: number; + UPDATEREADY: number; +} + +interface AriaRequestEvent extends Event { + attributeName: string; + attributeValue: string; +} + +declare var AriaRequestEvent: { + prototype: AriaRequestEvent; + new(type: string, eventInitDict?: AriaRequestEventInit): AriaRequestEvent; +} + +interface Attr extends Node { + name: string; + ownerElement: Element; + specified: boolean; + value: string; +} + +declare var Attr: { + prototype: Attr; + new(): Attr; +} + +interface AudioBuffer { + duration: number; + length: number; + numberOfChannels: number; + sampleRate: number; + getChannelData(channel: number): Float32Array; +} + +declare var AudioBuffer: { + prototype: AudioBuffer; + new(): AudioBuffer; +} + +interface AudioBufferSourceNode extends AudioNode { + buffer: AudioBuffer; + loop: boolean; + loopEnd: number; + loopStart: number; + onended: (ev: Event) => any; + playbackRate: AudioParam; + start(when?: number, offset?: number, duration?: number): void; + stop(when?: number): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var AudioBufferSourceNode: { + prototype: AudioBufferSourceNode; + new(): AudioBufferSourceNode; +} + +interface AudioContext extends EventTarget { + currentTime: number; + destination: AudioDestinationNode; + listener: AudioListener; + sampleRate: number; + state: string; + createAnalyser(): AnalyserNode; + createBiquadFilter(): BiquadFilterNode; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + createBufferSource(): AudioBufferSourceNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createConvolver(): ConvolverNode; + createDelay(maxDelayTime?: number): DelayNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createGain(): GainNode; + createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createOscillator(): OscillatorNode; + createPanner(): PannerNode; + createPeriodicWave(real: Float32Array, imag: Float32Array): PeriodicWave; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createStereoPanner(): StereoPannerNode; + createWaveShaper(): WaveShaperNode; + decodeAudioData(audioData: ArrayBuffer, successCallback: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): void; +} + +declare var AudioContext: { + prototype: AudioContext; + new(): AudioContext; +} + +interface AudioDestinationNode extends AudioNode { + maxChannelCount: number; +} + +declare var AudioDestinationNode: { + prototype: AudioDestinationNode; + new(): AudioDestinationNode; +} + +interface AudioListener { + dopplerFactor: number; + speedOfSound: number; + setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; + setPosition(x: number, y: number, z: number): void; + setVelocity(x: number, y: number, z: number): void; +} + +declare var AudioListener: { + prototype: AudioListener; + new(): AudioListener; +} + +interface AudioNode extends EventTarget { + channelCount: number; + channelCountMode: string; + channelInterpretation: string; + context: AudioContext; + numberOfInputs: number; + numberOfOutputs: number; + connect(destination: AudioNode, output?: number, input?: number): void; + disconnect(output?: number): void; +} + +declare var AudioNode: { + prototype: AudioNode; + new(): AudioNode; +} + +interface AudioParam { + defaultValue: number; + value: number; + cancelScheduledValues(startTime: number): void; + exponentialRampToValueAtTime(value: number, endTime: number): void; + linearRampToValueAtTime(value: number, endTime: number): void; + setTargetAtTime(target: number, startTime: number, timeConstant: number): void; + setValueAtTime(value: number, startTime: number): void; + setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): void; +} + +declare var AudioParam: { + prototype: AudioParam; + new(): AudioParam; +} + +interface AudioProcessingEvent extends Event { + inputBuffer: AudioBuffer; + outputBuffer: AudioBuffer; + playbackTime: number; +} + +declare var AudioProcessingEvent: { + prototype: AudioProcessingEvent; + new(): AudioProcessingEvent; +} + +interface AudioTrack { + enabled: boolean; + id: string; + kind: string; + label: string; + language: string; + sourceBuffer: SourceBuffer; +} + +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +} + +interface AudioTrackList extends EventTarget { + length: number; + onaddtrack: (ev: TrackEvent) => any; + onchange: (ev: Event) => any; + onremovetrack: (ev: TrackEvent) => any; + getTrackById(id: string): AudioTrack; + item(index: number): AudioTrack; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "removetrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: AudioTrack; +} + +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; +} + +interface BarProp { + visible: boolean; +} + +declare var BarProp: { + prototype: BarProp; + new(): BarProp; +} + +interface BeforeUnloadEvent extends Event { + returnValue: any; +} + +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; +} + +interface BiquadFilterNode extends AudioNode { + Q: AudioParam; + detune: AudioParam; + frequency: AudioParam; + gain: AudioParam; + type: string; + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +} + +declare var BiquadFilterNode: { + prototype: BiquadFilterNode; + new(): BiquadFilterNode; +} + +interface Blob { + size: number; + type: string; + msClose(): void; + msDetachStream(): any; + slice(start?: number, end?: number, contentType?: string): Blob; +} + +declare var Blob: { + prototype: Blob; + new (blobParts?: any[], options?: BlobPropertyBag): Blob; +} + +interface CDATASection extends Text { +} + +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; +} + +interface CSS { + supports(property: string, value?: string): boolean; +} +declare var CSS: CSS; + +interface CSSConditionRule extends CSSGroupingRule { + conditionText: string; +} + +declare var CSSConditionRule: { + prototype: CSSConditionRule; + new(): CSSConditionRule; +} + +interface CSSFontFaceRule extends CSSRule { + style: CSSStyleDeclaration; +} + +declare var CSSFontFaceRule: { + prototype: CSSFontFaceRule; + new(): CSSFontFaceRule; +} + +interface CSSGroupingRule extends CSSRule { + cssRules: CSSRuleList; + deleteRule(index?: number): void; + insertRule(rule: string, index?: number): number; +} + +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; +} + +interface CSSImportRule extends CSSRule { + href: string; + media: MediaList; + styleSheet: CSSStyleSheet; +} + +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; +} + +interface CSSKeyframeRule extends CSSRule { + keyText: string; + style: CSSStyleDeclaration; +} + +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; +} + +interface CSSKeyframesRule extends CSSRule { + cssRules: CSSRuleList; + name: string; + appendRule(rule: string): void; + deleteRule(rule: string): void; + findRule(rule: string): CSSKeyframeRule; +} + +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; +} + +interface CSSMediaRule extends CSSConditionRule { + media: MediaList; +} + +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; +} + +interface CSSNamespaceRule extends CSSRule { + namespaceURI: string; + prefix: string; +} + +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; +} + +interface CSSPageRule extends CSSRule { + pseudoClass: string; + selector: string; + selectorText: string; + style: CSSStyleDeclaration; +} + +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; +} + +interface CSSRule { + cssText: string; + parentRule: CSSRule; + parentStyleSheet: CSSStyleSheet; + type: number; + CHARSET_RULE: number; + FONT_FACE_RULE: number; + IMPORT_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + MEDIA_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + STYLE_RULE: number; + SUPPORTS_RULE: number; + UNKNOWN_RULE: number; + VIEWPORT_RULE: number; +} + +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + CHARSET_RULE: number; + FONT_FACE_RULE: number; + IMPORT_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + MEDIA_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + STYLE_RULE: number; + SUPPORTS_RULE: number; + UNKNOWN_RULE: number; + VIEWPORT_RULE: number; +} + +interface CSSRuleList { + length: number; + item(index: number): CSSRule; + [index: number]: CSSRule; +} + +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; +} + +interface CSSStyleDeclaration { + alignContent: string; + alignItems: string; + alignSelf: string; + alignmentBaseline: string; + animation: string; + animationDelay: string; + animationDirection: string; + animationDuration: string; + animationFillMode: string; + animationIterationCount: string; + animationName: string; + animationPlayState: string; + animationTimingFunction: string; + backfaceVisibility: string; + background: string; + backgroundAttachment: string; + backgroundClip: string; + backgroundColor: string; + backgroundImage: string; + backgroundOrigin: string; + backgroundPosition: string; + backgroundPositionX: string; + backgroundPositionY: string; + backgroundRepeat: string; + backgroundSize: string; + baselineShift: string; + border: string; + borderBottom: string; + borderBottomColor: string; + borderBottomLeftRadius: string; + borderBottomRightRadius: string; + borderBottomStyle: string; + borderBottomWidth: string; + borderCollapse: string; + borderColor: string; + borderImage: string; + borderImageOutset: string; + borderImageRepeat: string; + borderImageSlice: string; + borderImageSource: string; + borderImageWidth: string; + borderLeft: string; + borderLeftColor: string; + borderLeftStyle: string; + borderLeftWidth: string; + borderRadius: string; + borderRight: string; + borderRightColor: string; + borderRightStyle: string; + borderRightWidth: string; + borderSpacing: string; + borderStyle: string; + borderTop: string; + borderTopColor: string; + borderTopLeftRadius: string; + borderTopRightRadius: string; + borderTopStyle: string; + borderTopWidth: string; + borderWidth: string; + bottom: string; + boxShadow: string; + boxSizing: string; + breakAfter: string; + breakBefore: string; + breakInside: string; + captionSide: string; + clear: string; + clip: string; + clipPath: string; + clipRule: string; + color: string; + colorInterpolationFilters: string; + columnCount: any; + columnFill: string; + columnGap: any; + columnRule: string; + columnRuleColor: any; + columnRuleStyle: string; + columnRuleWidth: any; + columnSpan: string; + columnWidth: any; + columns: string; + content: string; + counterIncrement: string; + counterReset: string; + cssFloat: string; + cssText: string; + cursor: string; + direction: string; + display: string; + dominantBaseline: string; + emptyCells: string; + enableBackground: string; + fill: string; + fillOpacity: string; + fillRule: string; + filter: string; + flex: string; + flexBasis: string; + flexDirection: string; + flexFlow: string; + flexGrow: string; + flexShrink: string; + flexWrap: string; + floodColor: string; + floodOpacity: string; + font: string; + fontFamily: string; + fontFeatureSettings: string; + fontSize: string; + fontSizeAdjust: string; + fontStretch: string; + fontStyle: string; + fontVariant: string; + fontWeight: string; + glyphOrientationHorizontal: string; + glyphOrientationVertical: string; + height: string; + imeMode: string; + justifyContent: string; + kerning: string; + left: string; + length: number; + letterSpacing: string; + lightingColor: string; + lineHeight: string; + listStyle: string; + listStyleImage: string; + listStylePosition: string; + listStyleType: string; + margin: string; + marginBottom: string; + marginLeft: string; + marginRight: string; + marginTop: string; + marker: string; + markerEnd: string; + markerMid: string; + markerStart: string; + mask: string; + maxHeight: string; + maxWidth: string; + minHeight: string; + minWidth: string; + msContentZoomChaining: string; + msContentZoomLimit: string; + msContentZoomLimitMax: any; + msContentZoomLimitMin: any; + msContentZoomSnap: string; + msContentZoomSnapPoints: string; + msContentZoomSnapType: string; + msContentZooming: string; + msFlowFrom: string; + msFlowInto: string; + msFontFeatureSettings: string; + msGridColumn: any; + msGridColumnAlign: string; + msGridColumnSpan: any; + msGridColumns: string; + msGridRow: any; + msGridRowAlign: string; + msGridRowSpan: any; + msGridRows: string; + msHighContrastAdjust: string; + msHyphenateLimitChars: string; + msHyphenateLimitLines: any; + msHyphenateLimitZone: any; + msHyphens: string; + msImeAlign: string; + msOverflowStyle: string; + msScrollChaining: string; + msScrollLimit: string; + msScrollLimitXMax: any; + msScrollLimitXMin: any; + msScrollLimitYMax: any; + msScrollLimitYMin: any; + msScrollRails: string; + msScrollSnapPointsX: string; + msScrollSnapPointsY: string; + msScrollSnapType: string; + msScrollSnapX: string; + msScrollSnapY: string; + msScrollTranslation: string; + msTextCombineHorizontal: string; + msTextSizeAdjust: any; + msTouchAction: string; + msTouchSelect: string; + msUserSelect: string; + msWrapFlow: string; + msWrapMargin: any; + msWrapThrough: string; + opacity: string; + order: string; + orphans: string; + outline: string; + outlineColor: string; + outlineStyle: string; + outlineWidth: string; + overflow: string; + overflowX: string; + overflowY: string; + padding: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + pageBreakAfter: string; + pageBreakBefore: string; + pageBreakInside: string; + parentRule: CSSRule; + perspective: string; + perspectiveOrigin: string; + pointerEvents: string; + position: string; + quotes: string; + right: string; + rubyAlign: string; + rubyOverhang: string; + rubyPosition: string; + stopColor: string; + stopOpacity: string; + stroke: string; + strokeDasharray: string; + strokeDashoffset: string; + strokeLinecap: string; + strokeLinejoin: string; + strokeMiterlimit: string; + strokeOpacity: string; + strokeWidth: string; + tableLayout: string; + textAlign: string; + textAlignLast: string; + textAnchor: string; + textDecoration: string; + textFillColor: string; + textIndent: string; + textJustify: string; + textKashida: string; + textKashidaSpace: string; + textOverflow: string; + textShadow: string; + textTransform: string; + textUnderlinePosition: string; + top: string; + touchAction: string; + transform: string; + transformOrigin: string; + transformStyle: string; + transition: string; + transitionDelay: string; + transitionDuration: string; + transitionProperty: string; + transitionTimingFunction: string; + unicodeBidi: string; + verticalAlign: string; + visibility: string; + webkitAlignContent: string; + webkitAlignItems: string; + webkitAlignSelf: string; + webkitAnimation: string; + webkitAnimationDelay: string; + webkitAnimationDirection: string; + webkitAnimationDuration: string; + webkitAnimationFillMode: string; + webkitAnimationIterationCount: string; + webkitAnimationName: string; + webkitAnimationPlayState: string; + webkitAnimationTimingFunction: string; + webkitAppearance: string; + webkitBackfaceVisibility: string; + webkitBackground: string; + webkitBackgroundAttachment: string; + webkitBackgroundClip: string; + webkitBackgroundColor: string; + webkitBackgroundImage: string; + webkitBackgroundOrigin: string; + webkitBackgroundPosition: string; + webkitBackgroundPositionX: string; + webkitBackgroundPositionY: string; + webkitBackgroundRepeat: string; + webkitBackgroundSize: string; + webkitBorderBottomLeftRadius: string; + webkitBorderBottomRightRadius: string; + webkitBorderImage: string; + webkitBorderImageOutset: string; + webkitBorderImageRepeat: string; + webkitBorderImageSlice: string; + webkitBorderImageSource: string; + webkitBorderImageWidth: string; + webkitBorderRadius: string; + webkitBorderTopLeftRadius: string; + webkitBorderTopRightRadius: string; + webkitBoxAlign: string; + webkitBoxDirection: string; + webkitBoxFlex: string; + webkitBoxOrdinalGroup: string; + webkitBoxOrient: string; + webkitBoxPack: string; + webkitBoxSizing: string; + webkitColumnBreakAfter: string; + webkitColumnBreakBefore: string; + webkitColumnBreakInside: string; + webkitColumnCount: any; + webkitColumnGap: any; + webkitColumnRule: string; + webkitColumnRuleColor: any; + webkitColumnRuleStyle: string; + webkitColumnRuleWidth: any; + webkitColumnSpan: string; + webkitColumnWidth: any; + webkitColumns: string; + webkitFilter: string; + webkitFlex: string; + webkitFlexBasis: string; + webkitFlexDirection: string; + webkitFlexFlow: string; + webkitFlexGrow: string; + webkitFlexShrink: string; + webkitFlexWrap: string; + webkitJustifyContent: string; + webkitOrder: string; + webkitPerspective: string; + webkitPerspectiveOrigin: string; + webkitTapHighlightColor: string; + webkitTextFillColor: string; + webkitTextSizeAdjust: any; + webkitTransform: string; + webkitTransformOrigin: string; + webkitTransformStyle: string; + webkitTransition: string; + webkitTransitionDelay: string; + webkitTransitionDuration: string; + webkitTransitionProperty: string; + webkitTransitionTimingFunction: string; + webkitUserSelect: string; + webkitWritingMode: string; + whiteSpace: string; + widows: string; + width: string; + wordBreak: string; + wordSpacing: string; + wordWrap: string; + writingMode: string; + zIndex: string; + zoom: string; + getPropertyPriority(propertyName: string): string; + getPropertyValue(propertyName: string): string; + item(index: number): string; + removeProperty(propertyName: string): string; + setProperty(propertyName: string, value: string, priority?: string): void; + [index: number]: string; +} + +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; +} + +interface CSSStyleRule extends CSSRule { + readOnly: boolean; + selectorText: string; + style: CSSStyleDeclaration; +} + +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; +} + +interface CSSStyleSheet extends StyleSheet { + cssRules: CSSRuleList; + cssText: string; + href: string; + id: string; + imports: StyleSheetList; + isAlternate: boolean; + isPrefAlternate: boolean; + ownerRule: CSSRule; + owningElement: Element; + pages: StyleSheetPageList; + readOnly: boolean; + rules: CSSRuleList; + addImport(bstrURL: string, lIndex?: number): number; + addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; + addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; + deleteRule(index?: number): void; + insertRule(rule: string, index?: number): number; + removeImport(lIndex: number): void; + removeRule(lIndex: number): void; +} + +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +} + +interface CSSSupportsRule extends CSSConditionRule { +} + +declare var CSSSupportsRule: { + prototype: CSSSupportsRule; + new(): CSSSupportsRule; +} + +interface CanvasGradient { + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +} + +interface CanvasPattern { +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +} + +interface CanvasRenderingContext2D { + canvas: HTMLCanvasElement; + fillStyle: string | CanvasGradient | CanvasPattern; + font: string; + globalAlpha: number; + globalCompositeOperation: string; + lineCap: string; + lineDashOffset: number; + lineJoin: string; + lineWidth: number; + miterLimit: number; + msFillRule: string; + msImageSmoothingEnabled: boolean; + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; + strokeStyle: string | CanvasGradient | CanvasPattern; + textAlign: string; + textBaseline: string; + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + beginPath(): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + clearRect(x: number, y: number, w: number, h: number): void; + clip(fillRule?: string): void; + closePath(): void; + createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; + drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, offsetX: number, offsetY: number, width?: number, height?: number, canvasOffsetX?: number, canvasOffsetY?: number, canvasImageWidth?: number, canvasImageHeight?: number): void; + fill(fillRule?: string): void; + fillRect(x: number, y: number, w: number, h: number): void; + fillText(text: string, x: number, y: number, maxWidth?: number): void; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + getLineDash(): number[]; + isPointInPath(x: number, y: number, fillRule?: string): boolean; + lineTo(x: number, y: number): void; + measureText(text: string): TextMetrics; + moveTo(x: number, y: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; + restore(): void; + rotate(angle: number): void; + save(): void; + scale(x: number, y: number): void; + setLineDash(segments: number[]): void; + setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + stroke(): void; + strokeRect(x: number, y: number, w: number, h: number): void; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; + transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + translate(x: number, y: number): void; +} + +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +} + +interface ChannelMergerNode extends AudioNode { +} + +declare var ChannelMergerNode: { + prototype: ChannelMergerNode; + new(): ChannelMergerNode; +} + +interface ChannelSplitterNode extends AudioNode { +} + +declare var ChannelSplitterNode: { + prototype: ChannelSplitterNode; + new(): ChannelSplitterNode; +} + +interface CharacterData extends Node, ChildNode { + data: string; + length: number; + appendData(arg: string): void; + deleteData(offset: number, count: number): void; + insertData(offset: number, arg: string): void; + replaceData(offset: number, count: number, arg: string): void; + substringData(offset: number, count: number): string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; +} + +interface ClientRect { + bottom: number; + height: number; + left: number; + right: number; + top: number; + width: number; +} + +declare var ClientRect: { + prototype: ClientRect; + new(): ClientRect; +} + +interface ClientRectList { + length: number; + item(index: number): ClientRect; + [index: number]: ClientRect; +} + +declare var ClientRectList: { + prototype: ClientRectList; + new(): ClientRectList; +} + +interface ClipboardEvent extends Event { + clipboardData: DataTransfer; +} + +declare var ClipboardEvent: { + prototype: ClipboardEvent; + new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; +} + +interface CloseEvent extends Event { + code: number; + reason: string; + wasClean: boolean; + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(): CloseEvent; +} + +interface CommandEvent extends Event { + commandName: string; + detail: string; +} + +declare var CommandEvent: { + prototype: CommandEvent; + new(type: string, eventInitDict?: CommandEventInit): CommandEvent; +} + +interface Comment extends CharacterData { + text: string; +} + +declare var Comment: { + prototype: Comment; + new(): Comment; +} + +interface CompositionEvent extends UIEvent { + data: string; + locale: string; + initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +} + +declare var CompositionEvent: { + prototype: CompositionEvent; + new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent; +} + +interface Console { + assert(test?: boolean, message?: string, ...optionalParams: any[]): void; + clear(): void; + count(countTitle?: string): void; + debug(message?: string, ...optionalParams: any[]): void; + dir(value?: any, ...optionalParams: any[]): void; + dirxml(value: any): void; + error(message?: any, ...optionalParams: any[]): void; + group(groupTitle?: string): void; + groupCollapsed(groupTitle?: string): void; + groupEnd(): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + msIsIndependentlyComposed(element: Element): boolean; + profile(reportName?: string): void; + profileEnd(): void; + select(element: Element): void; + time(timerName?: string): void; + timeEnd(timerName?: string): void; + trace(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; +} + +declare var Console: { + prototype: Console; + new(): Console; +} + +interface ConvolverNode extends AudioNode { + buffer: AudioBuffer; + normalize: boolean; +} + +declare var ConvolverNode: { + prototype: ConvolverNode; + new(): ConvolverNode; +} + +interface Coordinates { + accuracy: number; + altitude: number; + altitudeAccuracy: number; + heading: number; + latitude: number; + longitude: number; + speed: number; +} + +declare var Coordinates: { + prototype: Coordinates; + new(): Coordinates; +} + +interface Crypto extends Object, RandomSource { + subtle: SubtleCrypto; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +} + +interface CryptoKey { + algorithm: KeyAlgorithm; + extractable: boolean; + type: string; + usages: string[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +} + +interface CryptoKeyPair { + privateKey: CryptoKey; + publicKey: CryptoKey; +} + +declare var CryptoKeyPair: { + prototype: CryptoKeyPair; + new(): CryptoKeyPair; +} + +interface CustomEvent extends Event { + detail: any; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: any): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +} + +interface DOMError { + name: string; + toString(): string; +} + +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +} + +interface DOMException { + code: number; + message: string; + name: string; + toString(): string; + ABORT_ERR: number; + DATA_CLONE_ERR: number; + DOMSTRING_SIZE_ERR: number; + HIERARCHY_REQUEST_ERR: number; + INDEX_SIZE_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_ACCESS_ERR: number; + INVALID_CHARACTER_ERR: number; + INVALID_MODIFICATION_ERR: number; + INVALID_NODE_TYPE_ERR: number; + INVALID_STATE_ERR: number; + NAMESPACE_ERR: number; + NETWORK_ERR: number; + NOT_FOUND_ERR: number; + NOT_SUPPORTED_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + PARSE_ERR: number; + QUOTA_EXCEEDED_ERR: number; + SECURITY_ERR: number; + SERIALIZE_ERR: number; + SYNTAX_ERR: number; + TIMEOUT_ERR: number; + TYPE_MISMATCH_ERR: number; + URL_MISMATCH_ERR: number; + VALIDATION_ERR: number; + WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(): DOMException; + ABORT_ERR: number; + DATA_CLONE_ERR: number; + DOMSTRING_SIZE_ERR: number; + HIERARCHY_REQUEST_ERR: number; + INDEX_SIZE_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_ACCESS_ERR: number; + INVALID_CHARACTER_ERR: number; + INVALID_MODIFICATION_ERR: number; + INVALID_NODE_TYPE_ERR: number; + INVALID_STATE_ERR: number; + NAMESPACE_ERR: number; + NETWORK_ERR: number; + NOT_FOUND_ERR: number; + NOT_SUPPORTED_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + PARSE_ERR: number; + QUOTA_EXCEEDED_ERR: number; + SECURITY_ERR: number; + SERIALIZE_ERR: number; + SYNTAX_ERR: number; + TIMEOUT_ERR: number; + TYPE_MISMATCH_ERR: number; + URL_MISMATCH_ERR: number; + VALIDATION_ERR: number; + WRONG_DOCUMENT_ERR: number; +} + +interface DOMImplementation { + createDocument(namespaceURI: string, qualifiedName: string, doctype: DocumentType): Document; + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createHTMLDocument(title: string): Document; + hasFeature(feature: string, version: string): boolean; +} + +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; +} + +interface DOMParser { + parseFromString(source: string, mimeType: string): Document; +} + +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; +} + +interface DOMSettableTokenList extends DOMTokenList { + value: string; +} + +declare var DOMSettableTokenList: { + prototype: DOMSettableTokenList; + new(): DOMSettableTokenList; +} + +interface DOMStringList { + length: number; + contains(str: string): boolean; + item(index: number): string; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +} + +interface DOMStringMap { + [name: string]: string; +} + +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +} + +interface DOMTokenList { + length: number; + add(...token: string[]): void; + contains(token: string): boolean; + item(index: number): string; + remove(...token: string[]): void; + toString(): string; + toggle(token: string, force?: boolean): boolean; + [index: number]: string; +} + +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; +} + +interface DataCue extends TextTrackCue { + data: ArrayBuffer; +} + +declare var DataCue: { + prototype: DataCue; + new(): DataCue; +} + +interface DataTransfer { + dropEffect: string; + effectAllowed: string; + files: FileList; + items: DataTransferItemList; + types: DOMStringList; + clearData(format?: string): boolean; + getData(format: string): string; + setData(format: string, data: string): boolean; +} + +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; +} + +interface DataTransferItem { + kind: string; + type: string; + getAsFile(): File; + getAsString(_callback: FunctionStringCallback): void; +} + +declare var DataTransferItem: { + prototype: DataTransferItem; + new(): DataTransferItem; +} + +interface DataTransferItemList { + length: number; + add(data: File): DataTransferItem; + clear(): void; + item(index: number): DataTransferItem; + remove(index: number): void; + [index: number]: DataTransferItem; +} + +declare var DataTransferItemList: { + prototype: DataTransferItemList; + new(): DataTransferItemList; +} + +interface DeferredPermissionRequest { + id: number; + type: string; + uri: string; + allow(): void; + deny(): void; +} + +declare var DeferredPermissionRequest: { + prototype: DeferredPermissionRequest; + new(): DeferredPermissionRequest; +} + +interface DelayNode extends AudioNode { + delayTime: AudioParam; +} + +declare var DelayNode: { + prototype: DelayNode; + new(): DelayNode; +} + +interface DeviceAcceleration { + x: number; + y: number; + z: number; +} + +declare var DeviceAcceleration: { + prototype: DeviceAcceleration; + new(): DeviceAcceleration; +} + +interface DeviceMotionEvent extends Event { + acceleration: DeviceAcceleration; + accelerationIncludingGravity: DeviceAcceleration; + interval: number; + rotationRate: DeviceRotationRate; + initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict, accelerationIncludingGravity: DeviceAccelerationDict, rotationRate: DeviceRotationRateDict, interval: number): void; +} + +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(): DeviceMotionEvent; +} + +interface DeviceOrientationEvent extends Event { + absolute: boolean; + alpha: number; + beta: number; + gamma: number; + initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number, beta: number, gamma: number, absolute: boolean): void; +} + +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(): DeviceOrientationEvent; +} + +interface DeviceRotationRate { + alpha: number; + beta: number; + gamma: number; +} + +declare var DeviceRotationRate: { + prototype: DeviceRotationRate; + new(): DeviceRotationRate; +} + +interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEvent { + + URL: string; + + URLUnencoded: string; + + activeElement: Element; + + alinkColor: string; + + all: HTMLCollection; + + anchors: HTMLCollection; + + applets: HTMLCollection; + + bgColor: string; + + body: HTMLElement; + characterSet: string; + + charset: string; + + compatMode: string; + cookie: string; + + defaultCharset: string; + defaultView: Window; + + designMode: string; + + dir: string; + + doctype: DocumentType; + + documentElement: HTMLElement; + + domain: string; + + embeds: HTMLCollection; + + fgColor: string; + + forms: HTMLCollection; + fullscreenElement: Element; + fullscreenEnabled: boolean; + head: HTMLHeadElement; + hidden: boolean; + + images: HTMLCollection; + + implementation: DOMImplementation; + + inputEncoding: string; + + lastModified: string; + + linkColor: string; + + links: HTMLCollection; + + location: Location; + media: string; + msCSSOMElementFloatMetrics: boolean; + msCapsLockWarningOff: boolean; + msHidden: boolean; + msVisibilityState: string; + + onabort: (ev: Event) => any; + + onactivate: (ev: UIEvent) => any; + + onbeforeactivate: (ev: UIEvent) => any; + + onbeforedeactivate: (ev: UIEvent) => any; + + onblur: (ev: FocusEvent) => any; + + oncanplay: (ev: Event) => any; + oncanplaythrough: (ev: Event) => any; + + onchange: (ev: Event) => any; + + onclick: (ev: MouseEvent) => any; + + oncontextmenu: (ev: PointerEvent) => any; + + ondblclick: (ev: MouseEvent) => any; + + ondeactivate: (ev: UIEvent) => any; + + ondrag: (ev: DragEvent) => any; + + ondragend: (ev: DragEvent) => any; + + ondragenter: (ev: DragEvent) => any; + + ondragleave: (ev: DragEvent) => any; + + ondragover: (ev: DragEvent) => any; + + ondragstart: (ev: DragEvent) => any; + ondrop: (ev: DragEvent) => any; + + ondurationchange: (ev: Event) => any; + + onemptied: (ev: Event) => any; + + onended: (ev: Event) => any; + + onerror: (ev: Event) => any; + + onfocus: (ev: FocusEvent) => any; + onfullscreenchange: (ev: Event) => any; + onfullscreenerror: (ev: Event) => any; + oninput: (ev: Event) => any; + + onkeydown: (ev: KeyboardEvent) => any; + + onkeypress: (ev: KeyboardEvent) => any; + + onkeyup: (ev: KeyboardEvent) => any; + + onload: (ev: Event) => any; + + onloadeddata: (ev: Event) => any; + + onloadedmetadata: (ev: Event) => any; + + onloadstart: (ev: Event) => any; + + onmousedown: (ev: MouseEvent) => any; + + onmousemove: (ev: MouseEvent) => any; + + onmouseout: (ev: MouseEvent) => any; + + onmouseover: (ev: MouseEvent) => any; + + onmouseup: (ev: MouseEvent) => any; + + onmousewheel: (ev: MouseWheelEvent) => any; + onmscontentzoom: (ev: UIEvent) => any; + onmsgesturechange: (ev: MSGestureEvent) => any; + onmsgesturedoubletap: (ev: MSGestureEvent) => any; + onmsgestureend: (ev: MSGestureEvent) => any; + onmsgesturehold: (ev: MSGestureEvent) => any; + onmsgesturestart: (ev: MSGestureEvent) => any; + onmsgesturetap: (ev: MSGestureEvent) => any; + onmsinertiastart: (ev: MSGestureEvent) => any; + onmsmanipulationstatechanged: (ev: MSManipulationEvent) => any; + onmspointercancel: (ev: MSPointerEvent) => any; + onmspointerdown: (ev: MSPointerEvent) => any; + onmspointerenter: (ev: MSPointerEvent) => any; + onmspointerleave: (ev: MSPointerEvent) => any; + onmspointermove: (ev: MSPointerEvent) => any; + onmspointerout: (ev: MSPointerEvent) => any; + onmspointerover: (ev: MSPointerEvent) => any; + onmspointerup: (ev: MSPointerEvent) => any; + + onmssitemodejumplistitemremoved: (ev: MSSiteModeEvent) => any; + + onmsthumbnailclick: (ev: MSSiteModeEvent) => any; + + onpause: (ev: Event) => any; + + onplay: (ev: Event) => any; + + onplaying: (ev: Event) => any; + onpointerlockchange: (ev: Event) => any; + onpointerlockerror: (ev: Event) => any; + + onprogress: (ev: ProgressEvent) => any; + + onratechange: (ev: Event) => any; + + onreadystatechange: (ev: ProgressEvent) => any; + + onreset: (ev: Event) => any; + + onscroll: (ev: UIEvent) => any; + + onseeked: (ev: Event) => any; + + onseeking: (ev: Event) => any; + + onselect: (ev: UIEvent) => any; + onselectstart: (ev: Event) => any; + + onstalled: (ev: Event) => any; + + onstop: (ev: Event) => any; + onsubmit: (ev: Event) => any; + + onsuspend: (ev: Event) => any; + + ontimeupdate: (ev: Event) => any; + ontouchcancel: (ev: TouchEvent) => any; + ontouchend: (ev: TouchEvent) => any; + ontouchmove: (ev: TouchEvent) => any; + ontouchstart: (ev: TouchEvent) => any; + + onvolumechange: (ev: Event) => any; + + onwaiting: (ev: Event) => any; + onwebkitfullscreenchange: (ev: Event) => any; + onwebkitfullscreenerror: (ev: Event) => any; + plugins: HTMLCollection; + pointerLockElement: Element; + + readyState: string; + + referrer: string; + + rootElement: SVGSVGElement; + + scripts: HTMLCollection; + security: string; + + styleSheets: StyleSheetList; + + title: string; + visibilityState: string; + + vlinkColor: string; + webkitCurrentFullScreenElement: Element; + webkitFullscreenElement: Element; + webkitFullscreenEnabled: boolean; + webkitIsFullScreen: boolean; + xmlEncoding: string; + xmlStandalone: boolean; + + xmlVersion: string; + currentScript: HTMLScriptElement; + adoptNode(source: Node): Node; + captureEvents(): void; + clear(): void; + + close(): void; + + createAttribute(name: string): Attr; + createAttributeNS(namespaceURI: string, qualifiedName: string): Attr; + createCDATASection(data: string): CDATASection; + + createComment(data: string): Comment; + + createDocumentFragment(): DocumentFragment; + + createElement(tagName: "a"): HTMLAnchorElement; + createElement(tagName: "abbr"): HTMLPhraseElement; + createElement(tagName: "acronym"): HTMLPhraseElement; + createElement(tagName: "address"): HTMLBlockElement; + createElement(tagName: "applet"): HTMLAppletElement; + createElement(tagName: "area"): HTMLAreaElement; + createElement(tagName: "audio"): HTMLAudioElement; + createElement(tagName: "b"): HTMLPhraseElement; + createElement(tagName: "base"): HTMLBaseElement; + createElement(tagName: "basefont"): HTMLBaseFontElement; + createElement(tagName: "bdo"): HTMLPhraseElement; + createElement(tagName: "big"): HTMLPhraseElement; + createElement(tagName: "blockquote"): HTMLBlockElement; + createElement(tagName: "body"): HTMLBodyElement; + createElement(tagName: "br"): HTMLBRElement; + createElement(tagName: "button"): HTMLButtonElement; + createElement(tagName: "canvas"): HTMLCanvasElement; + createElement(tagName: "caption"): HTMLTableCaptionElement; + createElement(tagName: "center"): HTMLBlockElement; + createElement(tagName: "cite"): HTMLPhraseElement; + createElement(tagName: "code"): HTMLPhraseElement; + createElement(tagName: "col"): HTMLTableColElement; + createElement(tagName: "colgroup"): HTMLTableColElement; + createElement(tagName: "datalist"): HTMLDataListElement; + createElement(tagName: "dd"): HTMLDDElement; + createElement(tagName: "del"): HTMLModElement; + createElement(tagName: "dfn"): HTMLPhraseElement; + createElement(tagName: "dir"): HTMLDirectoryElement; + createElement(tagName: "div"): HTMLDivElement; + createElement(tagName: "dl"): HTMLDListElement; + createElement(tagName: "dt"): HTMLDTElement; + createElement(tagName: "em"): HTMLPhraseElement; + createElement(tagName: "embed"): HTMLEmbedElement; + createElement(tagName: "fieldset"): HTMLFieldSetElement; + createElement(tagName: "font"): HTMLFontElement; + createElement(tagName: "form"): HTMLFormElement; + createElement(tagName: "frame"): HTMLFrameElement; + createElement(tagName: "frameset"): HTMLFrameSetElement; + createElement(tagName: "h1"): HTMLHeadingElement; + createElement(tagName: "h2"): HTMLHeadingElement; + createElement(tagName: "h3"): HTMLHeadingElement; + createElement(tagName: "h4"): HTMLHeadingElement; + createElement(tagName: "h5"): HTMLHeadingElement; + createElement(tagName: "h6"): HTMLHeadingElement; + createElement(tagName: "head"): HTMLHeadElement; + createElement(tagName: "hr"): HTMLHRElement; + createElement(tagName: "html"): HTMLHtmlElement; + createElement(tagName: "i"): HTMLPhraseElement; + createElement(tagName: "iframe"): HTMLIFrameElement; + createElement(tagName: "img"): HTMLImageElement; + createElement(tagName: "input"): HTMLInputElement; + createElement(tagName: "ins"): HTMLModElement; + createElement(tagName: "isindex"): HTMLIsIndexElement; + createElement(tagName: "kbd"): HTMLPhraseElement; + createElement(tagName: "keygen"): HTMLBlockElement; + createElement(tagName: "label"): HTMLLabelElement; + createElement(tagName: "legend"): HTMLLegendElement; + createElement(tagName: "li"): HTMLLIElement; + createElement(tagName: "link"): HTMLLinkElement; + createElement(tagName: "listing"): HTMLBlockElement; + createElement(tagName: "map"): HTMLMapElement; + createElement(tagName: "marquee"): HTMLMarqueeElement; + createElement(tagName: "menu"): HTMLMenuElement; + createElement(tagName: "meta"): HTMLMetaElement; + createElement(tagName: "nextid"): HTMLNextIdElement; + createElement(tagName: "nobr"): HTMLPhraseElement; + createElement(tagName: "object"): HTMLObjectElement; + createElement(tagName: "ol"): HTMLOListElement; + createElement(tagName: "optgroup"): HTMLOptGroupElement; + createElement(tagName: "option"): HTMLOptionElement; + createElement(tagName: "p"): HTMLParagraphElement; + createElement(tagName: "param"): HTMLParamElement; + createElement(tagName: "plaintext"): HTMLBlockElement; + createElement(tagName: "pre"): HTMLPreElement; + createElement(tagName: "progress"): HTMLProgressElement; + createElement(tagName: "q"): HTMLQuoteElement; + createElement(tagName: "rt"): HTMLPhraseElement; + createElement(tagName: "ruby"): HTMLPhraseElement; + createElement(tagName: "s"): HTMLPhraseElement; + createElement(tagName: "samp"): HTMLPhraseElement; + createElement(tagName: "script"): HTMLScriptElement; + createElement(tagName: "select"): HTMLSelectElement; + createElement(tagName: "small"): HTMLPhraseElement; + createElement(tagName: "source"): HTMLSourceElement; + createElement(tagName: "span"): HTMLSpanElement; + createElement(tagName: "strike"): HTMLPhraseElement; + createElement(tagName: "strong"): HTMLPhraseElement; + createElement(tagName: "style"): HTMLStyleElement; + createElement(tagName: "sub"): HTMLPhraseElement; + createElement(tagName: "sup"): HTMLPhraseElement; + createElement(tagName: "table"): HTMLTableElement; + createElement(tagName: "tbody"): HTMLTableSectionElement; + createElement(tagName: "td"): HTMLTableDataCellElement; + createElement(tagName: "textarea"): HTMLTextAreaElement; + createElement(tagName: "tfoot"): HTMLTableSectionElement; + createElement(tagName: "th"): HTMLTableHeaderCellElement; + createElement(tagName: "thead"): HTMLTableSectionElement; + createElement(tagName: "title"): HTMLTitleElement; + createElement(tagName: "tr"): HTMLTableRowElement; + createElement(tagName: "track"): HTMLTrackElement; + createElement(tagName: "tt"): HTMLPhraseElement; + createElement(tagName: "u"): HTMLPhraseElement; + createElement(tagName: "ul"): HTMLUListElement; + createElement(tagName: "var"): HTMLPhraseElement; + createElement(tagName: "video"): HTMLVideoElement; + createElement(tagName: "x-ms-webview"): MSHTMLWebViewElement; + createElement(tagName: "xmp"): HTMLBlockElement; + createElement(tagName: string): HTMLElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "clipPath"): SVGClipPathElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "componentTransferFunction"): SVGComponentTransferFunctionElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "defs"): SVGDefsElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "desc"): SVGDescElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "ellipse"): SVGEllipseElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feBlend"): SVGFEBlendElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feColorMatrix"): SVGFEColorMatrixElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComponentTransfer"): SVGFEComponentTransferElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComposite"): SVGFECompositeElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feConvolveMatrix"): SVGFEConvolveMatrixElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDiffuseLighting"): SVGFEDiffuseLightingElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDisplacementMap"): SVGFEDisplacementMapElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDistantLight"): SVGFEDistantLightElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFlood"): SVGFEFloodElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncA"): SVGFEFuncAElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncB"): SVGFEFuncBElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncG"): SVGFEFuncGElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncR"): SVGFEFuncRElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feGaussianBlur"): SVGFEGaussianBlurElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feImage"): SVGFEImageElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMerge"): SVGFEMergeElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMergeNode"): SVGFEMergeNodeElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMorphology"): SVGFEMorphologyElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feOffset"): SVGFEOffsetElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "fePointLight"): SVGFEPointLightElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpecularLighting"): SVGFESpecularLightingElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpotLight"): SVGFESpotLightElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTile"): SVGFETileElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTurbulence"): SVGFETurbulenceElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "filter"): SVGFilterElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "foreignObject"): SVGForeignObjectElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "g"): SVGGElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "image"): SVGImageElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "gradient"): SVGGradientElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "line"): SVGLineElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "linearGradient"): SVGLinearGradientElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "marker"): SVGMarkerElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "mask"): SVGMaskElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "path"): SVGPathElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "metadata"): SVGMetadataElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "pattern"): SVGPatternElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polygon"): SVGPolygonElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polyline"): SVGPolylineElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "radialGradient"): SVGRadialGradientElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "rect"): SVGRectElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "svg"): SVGSVGElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "script"): SVGScriptElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "stop"): SVGStopElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "style"): SVGStyleElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "switch"): SVGSwitchElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "symbol"): SVGSymbolElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "tspan"): SVGTSpanElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textContent"): SVGTextContentElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "text"): SVGTextElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPath"): SVGTextPathElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPositioning"): SVGTextPositioningElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "title"): SVGTitleElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement + createElementNS(namespaceURI: string, qualifiedName: string): Element; + createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; + createNSResolver(nodeResolver: Node): XPathNSResolver; + + createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter, entityReferenceExpansion?: boolean): NodeIterator; + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + + createRange(): Range; + + createTextNode(data: string): Text; + createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouchList(...touches: Touch[]): TouchList; + + createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter, entityReferenceExpansion?: boolean): TreeWalker; + + elementFromPoint(x: number, y: number): Element; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver, type: number, result: XPathResult): XPathResult; + + execCommand(commandId: string, showUI?: boolean, value?: any): boolean; + + execCommandShowHelp(commandId: string): boolean; + exitFullscreen(): void; + exitPointerLock(): void; + + focus(): void; + + getElementById(elementId: string): HTMLElement; + getElementsByClassName(classNames: string): NodeListOf; + + getElementsByName(elementName: string): NodeListOf; + + getElementsByTagName(tagname: "a"): NodeListOf; + getElementsByTagName(tagname: "abbr"): NodeListOf; + getElementsByTagName(tagname: "acronym"): NodeListOf; + getElementsByTagName(tagname: "address"): NodeListOf; + getElementsByTagName(tagname: "applet"): NodeListOf; + getElementsByTagName(tagname: "area"): NodeListOf; + getElementsByTagName(tagname: "article"): NodeListOf; + getElementsByTagName(tagname: "aside"): NodeListOf; + getElementsByTagName(tagname: "audio"): NodeListOf; + getElementsByTagName(tagname: "b"): NodeListOf; + getElementsByTagName(tagname: "base"): NodeListOf; + getElementsByTagName(tagname: "basefont"): NodeListOf; + getElementsByTagName(tagname: "bdo"): NodeListOf; + getElementsByTagName(tagname: "big"): NodeListOf; + getElementsByTagName(tagname: "blockquote"): NodeListOf; + getElementsByTagName(tagname: "body"): NodeListOf; + getElementsByTagName(tagname: "br"): NodeListOf; + getElementsByTagName(tagname: "button"): NodeListOf; + getElementsByTagName(tagname: "canvas"): NodeListOf; + getElementsByTagName(tagname: "caption"): NodeListOf; + getElementsByTagName(tagname: "center"): NodeListOf; + getElementsByTagName(tagname: "circle"): NodeListOf; + getElementsByTagName(tagname: "cite"): NodeListOf; + getElementsByTagName(tagname: "clippath"): NodeListOf; + getElementsByTagName(tagname: "code"): NodeListOf; + getElementsByTagName(tagname: "col"): NodeListOf; + getElementsByTagName(tagname: "colgroup"): NodeListOf; + getElementsByTagName(tagname: "datalist"): NodeListOf; + getElementsByTagName(tagname: "dd"): NodeListOf; + getElementsByTagName(tagname: "defs"): NodeListOf; + getElementsByTagName(tagname: "del"): NodeListOf; + getElementsByTagName(tagname: "desc"): NodeListOf; + getElementsByTagName(tagname: "dfn"): NodeListOf; + getElementsByTagName(tagname: "dir"): NodeListOf; + getElementsByTagName(tagname: "div"): NodeListOf; + getElementsByTagName(tagname: "dl"): NodeListOf; + getElementsByTagName(tagname: "dt"): NodeListOf; + getElementsByTagName(tagname: "ellipse"): NodeListOf; + getElementsByTagName(tagname: "em"): NodeListOf; + getElementsByTagName(tagname: "embed"): NodeListOf; + getElementsByTagName(tagname: "feblend"): NodeListOf; + getElementsByTagName(tagname: "fecolormatrix"): NodeListOf; + getElementsByTagName(tagname: "fecomponenttransfer"): NodeListOf; + getElementsByTagName(tagname: "fecomposite"): NodeListOf; + getElementsByTagName(tagname: "feconvolvematrix"): NodeListOf; + getElementsByTagName(tagname: "fediffuselighting"): NodeListOf; + getElementsByTagName(tagname: "fedisplacementmap"): NodeListOf; + getElementsByTagName(tagname: "fedistantlight"): NodeListOf; + getElementsByTagName(tagname: "feflood"): NodeListOf; + getElementsByTagName(tagname: "fefunca"): NodeListOf; + getElementsByTagName(tagname: "fefuncb"): NodeListOf; + getElementsByTagName(tagname: "fefuncg"): NodeListOf; + getElementsByTagName(tagname: "fefuncr"): NodeListOf; + getElementsByTagName(tagname: "fegaussianblur"): NodeListOf; + getElementsByTagName(tagname: "feimage"): NodeListOf; + getElementsByTagName(tagname: "femerge"): NodeListOf; + getElementsByTagName(tagname: "femergenode"): NodeListOf; + getElementsByTagName(tagname: "femorphology"): NodeListOf; + getElementsByTagName(tagname: "feoffset"): NodeListOf; + getElementsByTagName(tagname: "fepointlight"): NodeListOf; + getElementsByTagName(tagname: "fespecularlighting"): NodeListOf; + getElementsByTagName(tagname: "fespotlight"): NodeListOf; + getElementsByTagName(tagname: "fetile"): NodeListOf; + getElementsByTagName(tagname: "feturbulence"): NodeListOf; + getElementsByTagName(tagname: "fieldset"): NodeListOf; + getElementsByTagName(tagname: "figcaption"): NodeListOf; + getElementsByTagName(tagname: "figure"): NodeListOf; + getElementsByTagName(tagname: "filter"): NodeListOf; + getElementsByTagName(tagname: "font"): NodeListOf; + getElementsByTagName(tagname: "footer"): NodeListOf; + getElementsByTagName(tagname: "foreignobject"): NodeListOf; + getElementsByTagName(tagname: "form"): NodeListOf; + getElementsByTagName(tagname: "frame"): NodeListOf; + getElementsByTagName(tagname: "frameset"): NodeListOf; + getElementsByTagName(tagname: "g"): NodeListOf; + getElementsByTagName(tagname: "h1"): NodeListOf; + getElementsByTagName(tagname: "h2"): NodeListOf; + getElementsByTagName(tagname: "h3"): NodeListOf; + getElementsByTagName(tagname: "h4"): NodeListOf; + getElementsByTagName(tagname: "h5"): NodeListOf; + getElementsByTagName(tagname: "h6"): NodeListOf; + getElementsByTagName(tagname: "head"): NodeListOf; + getElementsByTagName(tagname: "header"): NodeListOf; + getElementsByTagName(tagname: "hgroup"): NodeListOf; + getElementsByTagName(tagname: "hr"): NodeListOf; + getElementsByTagName(tagname: "html"): NodeListOf; + getElementsByTagName(tagname: "i"): NodeListOf; + getElementsByTagName(tagname: "iframe"): NodeListOf; + getElementsByTagName(tagname: "image"): NodeListOf; + getElementsByTagName(tagname: "img"): NodeListOf; + getElementsByTagName(tagname: "input"): NodeListOf; + getElementsByTagName(tagname: "ins"): NodeListOf; + getElementsByTagName(tagname: "isindex"): NodeListOf; + getElementsByTagName(tagname: "kbd"): NodeListOf; + getElementsByTagName(tagname: "keygen"): NodeListOf; + getElementsByTagName(tagname: "label"): NodeListOf; + getElementsByTagName(tagname: "legend"): NodeListOf; + getElementsByTagName(tagname: "li"): NodeListOf; + getElementsByTagName(tagname: "line"): NodeListOf; + getElementsByTagName(tagname: "lineargradient"): NodeListOf; + getElementsByTagName(tagname: "link"): NodeListOf; + getElementsByTagName(tagname: "listing"): NodeListOf; + getElementsByTagName(tagname: "map"): NodeListOf; + getElementsByTagName(tagname: "mark"): NodeListOf; + getElementsByTagName(tagname: "marker"): NodeListOf; + getElementsByTagName(tagname: "marquee"): NodeListOf; + getElementsByTagName(tagname: "mask"): NodeListOf; + getElementsByTagName(tagname: "menu"): NodeListOf; + getElementsByTagName(tagname: "meta"): NodeListOf; + getElementsByTagName(tagname: "metadata"): NodeListOf; + getElementsByTagName(tagname: "nav"): NodeListOf; + getElementsByTagName(tagname: "nextid"): NodeListOf; + getElementsByTagName(tagname: "nobr"): NodeListOf; + getElementsByTagName(tagname: "noframes"): NodeListOf; + getElementsByTagName(tagname: "noscript"): NodeListOf; + getElementsByTagName(tagname: "object"): NodeListOf; + getElementsByTagName(tagname: "ol"): NodeListOf; + getElementsByTagName(tagname: "optgroup"): NodeListOf; + getElementsByTagName(tagname: "option"): NodeListOf; + getElementsByTagName(tagname: "p"): NodeListOf; + getElementsByTagName(tagname: "param"): NodeListOf; + getElementsByTagName(tagname: "path"): NodeListOf; + getElementsByTagName(tagname: "pattern"): NodeListOf; + getElementsByTagName(tagname: "plaintext"): NodeListOf; + getElementsByTagName(tagname: "polygon"): NodeListOf; + getElementsByTagName(tagname: "polyline"): NodeListOf; + getElementsByTagName(tagname: "pre"): NodeListOf; + getElementsByTagName(tagname: "progress"): NodeListOf; + getElementsByTagName(tagname: "q"): NodeListOf; + getElementsByTagName(tagname: "radialgradient"): NodeListOf; + getElementsByTagName(tagname: "rect"): NodeListOf; + getElementsByTagName(tagname: "rt"): NodeListOf; + getElementsByTagName(tagname: "ruby"): NodeListOf; + getElementsByTagName(tagname: "s"): NodeListOf; + getElementsByTagName(tagname: "samp"): NodeListOf; + getElementsByTagName(tagname: "script"): NodeListOf; + getElementsByTagName(tagname: "section"): NodeListOf; + getElementsByTagName(tagname: "select"): NodeListOf; + getElementsByTagName(tagname: "small"): NodeListOf; + getElementsByTagName(tagname: "source"): NodeListOf; + getElementsByTagName(tagname: "span"): NodeListOf; + getElementsByTagName(tagname: "stop"): NodeListOf; + getElementsByTagName(tagname: "strike"): NodeListOf; + getElementsByTagName(tagname: "strong"): NodeListOf; + getElementsByTagName(tagname: "style"): NodeListOf; + getElementsByTagName(tagname: "sub"): NodeListOf; + getElementsByTagName(tagname: "sup"): NodeListOf; + getElementsByTagName(tagname: "svg"): NodeListOf; + getElementsByTagName(tagname: "switch"): NodeListOf; + getElementsByTagName(tagname: "symbol"): NodeListOf; + getElementsByTagName(tagname: "table"): NodeListOf; + getElementsByTagName(tagname: "tbody"): NodeListOf; + getElementsByTagName(tagname: "td"): NodeListOf; + getElementsByTagName(tagname: "text"): NodeListOf; + getElementsByTagName(tagname: "textpath"): NodeListOf; + getElementsByTagName(tagname: "textarea"): NodeListOf; + getElementsByTagName(tagname: "tfoot"): NodeListOf; + getElementsByTagName(tagname: "th"): NodeListOf; + getElementsByTagName(tagname: "thead"): NodeListOf; + getElementsByTagName(tagname: "title"): NodeListOf; + getElementsByTagName(tagname: "tr"): NodeListOf; + getElementsByTagName(tagname: "track"): NodeListOf; + getElementsByTagName(tagname: "tspan"): NodeListOf; + getElementsByTagName(tagname: "tt"): NodeListOf; + getElementsByTagName(tagname: "u"): NodeListOf; + getElementsByTagName(tagname: "ul"): NodeListOf; + getElementsByTagName(tagname: "use"): NodeListOf; + getElementsByTagName(tagname: "var"): NodeListOf; + getElementsByTagName(tagname: "video"): NodeListOf; + getElementsByTagName(tagname: "view"): NodeListOf; + getElementsByTagName(tagname: "wbr"): NodeListOf; + getElementsByTagName(tagname: "x-ms-webview"): NodeListOf; + getElementsByTagName(tagname: "xmp"): NodeListOf; + getElementsByTagName(tagname: string): NodeListOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeListOf; + + getSelection(): Selection; + + hasFocus(): boolean; + importNode(importedNode: Node, deep: boolean): Node; + msElementsFromPoint(x: number, y: number): NodeList; + msElementsFromRect(left: number, top: number, width: number, height: number): NodeList; + + open(url?: string, name?: string, features?: string, replace?: boolean): Document; + + queryCommandEnabled(commandId: string): boolean; + + queryCommandIndeterm(commandId: string): boolean; + + queryCommandState(commandId: string): boolean; + + queryCommandSupported(commandId: string): boolean; + + queryCommandText(commandId: string): string; + + queryCommandValue(commandId: string): string; + releaseEvents(): void; + + updateSettings(): void; + webkitCancelFullScreen(): void; + webkitExitFullscreen(): void; + + write(...content: string[]): void; + + writeln(...content: string[]): void; + createElement(tagName: "picture"): HTMLPictureElement; + getElementsByTagName(tagname: "picture"): NodeListOf; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "fullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "fullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mssitemodejumplistitemremoved", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "msthumbnailclick", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerlockchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointerlockerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stop", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Document: { + prototype: Document; + new(): Document; +} + +interface DocumentFragment extends Node, NodeSelector { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +} + +interface DocumentType extends Node, ChildNode { + entities: NamedNodeMap; + internalSubset: string; + name: string; + notations: NamedNodeMap; + publicId: string; + systemId: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +} + +interface DragEvent extends MouseEvent { + dataTransfer: DataTransfer; + initDragEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, dataTransferArg: DataTransfer): void; + msConvertURL(file: File, targetType: string, targetURL?: string): void; +} + +declare var DragEvent: { + prototype: DragEvent; + new(): DragEvent; +} + +interface DynamicsCompressorNode extends AudioNode { + attack: AudioParam; + knee: AudioParam; + ratio: AudioParam; + reduction: AudioParam; + release: AudioParam; + threshold: AudioParam; +} + +declare var DynamicsCompressorNode: { + prototype: DynamicsCompressorNode; + new(): DynamicsCompressorNode; +} + +interface EXT_texture_filter_anisotropic { + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; + TEXTURE_MAX_ANISOTROPY_EXT: number; +} + +declare var EXT_texture_filter_anisotropic: { + prototype: EXT_texture_filter_anisotropic; + new(): EXT_texture_filter_anisotropic; + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; + TEXTURE_MAX_ANISOTROPY_EXT: number; +} + +interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelector, ChildNode { + classList: DOMTokenList; + clientHeight: number; + clientLeft: number; + clientTop: number; + clientWidth: number; + msContentZoomFactor: number; + msRegionOverflow: string; + onariarequest: (ev: AriaRequestEvent) => any; + oncommand: (ev: CommandEvent) => any; + ongotpointercapture: (ev: PointerEvent) => any; + onlostpointercapture: (ev: PointerEvent) => any; + onmsgesturechange: (ev: MSGestureEvent) => any; + onmsgesturedoubletap: (ev: MSGestureEvent) => any; + onmsgestureend: (ev: MSGestureEvent) => any; + onmsgesturehold: (ev: MSGestureEvent) => any; + onmsgesturestart: (ev: MSGestureEvent) => any; + onmsgesturetap: (ev: MSGestureEvent) => any; + onmsgotpointercapture: (ev: MSPointerEvent) => any; + onmsinertiastart: (ev: MSGestureEvent) => any; + onmslostpointercapture: (ev: MSPointerEvent) => any; + onmspointercancel: (ev: MSPointerEvent) => any; + onmspointerdown: (ev: MSPointerEvent) => any; + onmspointerenter: (ev: MSPointerEvent) => any; + onmspointerleave: (ev: MSPointerEvent) => any; + onmspointermove: (ev: MSPointerEvent) => any; + onmspointerout: (ev: MSPointerEvent) => any; + onmspointerover: (ev: MSPointerEvent) => any; + onmspointerup: (ev: MSPointerEvent) => any; + ontouchcancel: (ev: TouchEvent) => any; + ontouchend: (ev: TouchEvent) => any; + ontouchmove: (ev: TouchEvent) => any; + ontouchstart: (ev: TouchEvent) => any; + onwebkitfullscreenchange: (ev: Event) => any; + onwebkitfullscreenerror: (ev: Event) => any; + scrollHeight: number; + scrollLeft: number; + scrollTop: number; + scrollWidth: number; + tagName: string; + id: string; + className: string; + innerHTML: string; + getAttribute(name?: string): string; + getAttributeNS(namespaceURI: string, localName: string): string; + getAttributeNode(name: string): Attr; + getAttributeNodeNS(namespaceURI: string, localName: string): Attr; + getBoundingClientRect(): ClientRect; + getClientRects(): ClientRectList; + getElementsByTagName(name: "a"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "applet"): NodeListOf; + getElementsByTagName(name: "area"): NodeListOf; + getElementsByTagName(name: "article"): NodeListOf; + getElementsByTagName(name: "aside"): NodeListOf; + getElementsByTagName(name: "audio"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "base"): NodeListOf; + getElementsByTagName(name: "basefont"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "body"): NodeListOf; + getElementsByTagName(name: "br"): NodeListOf; + getElementsByTagName(name: "button"): NodeListOf; + getElementsByTagName(name: "canvas"): NodeListOf; + getElementsByTagName(name: "caption"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "circle"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "clippath"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "col"): NodeListOf; + getElementsByTagName(name: "colgroup"): NodeListOf; + getElementsByTagName(name: "datalist"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "defs"): NodeListOf; + getElementsByTagName(name: "del"): NodeListOf; + getElementsByTagName(name: "desc"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dir"): NodeListOf; + getElementsByTagName(name: "div"): NodeListOf; + getElementsByTagName(name: "dl"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "ellipse"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "embed"): NodeListOf; + getElementsByTagName(name: "feblend"): NodeListOf; + getElementsByTagName(name: "fecolormatrix"): NodeListOf; + getElementsByTagName(name: "fecomponenttransfer"): NodeListOf; + getElementsByTagName(name: "fecomposite"): NodeListOf; + getElementsByTagName(name: "feconvolvematrix"): NodeListOf; + getElementsByTagName(name: "fediffuselighting"): NodeListOf; + getElementsByTagName(name: "fedisplacementmap"): NodeListOf; + getElementsByTagName(name: "fedistantlight"): NodeListOf; + getElementsByTagName(name: "feflood"): NodeListOf; + getElementsByTagName(name: "fefunca"): NodeListOf; + getElementsByTagName(name: "fefuncb"): NodeListOf; + getElementsByTagName(name: "fefuncg"): NodeListOf; + getElementsByTagName(name: "fefuncr"): NodeListOf; + getElementsByTagName(name: "fegaussianblur"): NodeListOf; + getElementsByTagName(name: "feimage"): NodeListOf; + getElementsByTagName(name: "femerge"): NodeListOf; + getElementsByTagName(name: "femergenode"): NodeListOf; + getElementsByTagName(name: "femorphology"): NodeListOf; + getElementsByTagName(name: "feoffset"): NodeListOf; + getElementsByTagName(name: "fepointlight"): NodeListOf; + getElementsByTagName(name: "fespecularlighting"): NodeListOf; + getElementsByTagName(name: "fespotlight"): NodeListOf; + getElementsByTagName(name: "fetile"): NodeListOf; + getElementsByTagName(name: "feturbulence"): NodeListOf; + getElementsByTagName(name: "fieldset"): NodeListOf; + getElementsByTagName(name: "figcaption"): NodeListOf; + getElementsByTagName(name: "figure"): NodeListOf; + getElementsByTagName(name: "filter"): NodeListOf; + getElementsByTagName(name: "font"): NodeListOf; + getElementsByTagName(name: "footer"): NodeListOf; + getElementsByTagName(name: "foreignobject"): NodeListOf; + getElementsByTagName(name: "form"): NodeListOf; + getElementsByTagName(name: "frame"): NodeListOf; + getElementsByTagName(name: "frameset"): NodeListOf; + getElementsByTagName(name: "g"): NodeListOf; + getElementsByTagName(name: "h1"): NodeListOf; + getElementsByTagName(name: "h2"): NodeListOf; + getElementsByTagName(name: "h3"): NodeListOf; + getElementsByTagName(name: "h4"): NodeListOf; + getElementsByTagName(name: "h5"): NodeListOf; + getElementsByTagName(name: "h6"): NodeListOf; + getElementsByTagName(name: "head"): NodeListOf; + getElementsByTagName(name: "header"): NodeListOf; + getElementsByTagName(name: "hgroup"): NodeListOf; + getElementsByTagName(name: "hr"): NodeListOf; + getElementsByTagName(name: "html"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "iframe"): NodeListOf; + getElementsByTagName(name: "image"): NodeListOf; + getElementsByTagName(name: "img"): NodeListOf; + getElementsByTagName(name: "input"): NodeListOf; + getElementsByTagName(name: "ins"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "label"): NodeListOf; + getElementsByTagName(name: "legend"): NodeListOf; + getElementsByTagName(name: "li"): NodeListOf; + getElementsByTagName(name: "line"): NodeListOf; + getElementsByTagName(name: "lineargradient"): NodeListOf; + getElementsByTagName(name: "link"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "map"): NodeListOf; + getElementsByTagName(name: "mark"): NodeListOf; + getElementsByTagName(name: "marker"): NodeListOf; + getElementsByTagName(name: "marquee"): NodeListOf; + getElementsByTagName(name: "mask"): NodeListOf; + getElementsByTagName(name: "menu"): NodeListOf; + getElementsByTagName(name: "meta"): NodeListOf; + getElementsByTagName(name: "metadata"): NodeListOf; + getElementsByTagName(name: "nav"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "noframes"): NodeListOf; + getElementsByTagName(name: "noscript"): NodeListOf; + getElementsByTagName(name: "object"): NodeListOf; + getElementsByTagName(name: "ol"): NodeListOf; + getElementsByTagName(name: "optgroup"): NodeListOf; + getElementsByTagName(name: "option"): NodeListOf; + getElementsByTagName(name: "p"): NodeListOf; + getElementsByTagName(name: "param"): NodeListOf; + getElementsByTagName(name: "path"): NodeListOf; + getElementsByTagName(name: "pattern"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "polygon"): NodeListOf; + getElementsByTagName(name: "polyline"): NodeListOf; + getElementsByTagName(name: "pre"): NodeListOf; + getElementsByTagName(name: "progress"): NodeListOf; + getElementsByTagName(name: "q"): NodeListOf; + getElementsByTagName(name: "radialgradient"): NodeListOf; + getElementsByTagName(name: "rect"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "script"): NodeListOf; + getElementsByTagName(name: "section"): NodeListOf; + getElementsByTagName(name: "select"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "source"): NodeListOf; + getElementsByTagName(name: "span"): NodeListOf; + getElementsByTagName(name: "stop"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "style"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "svg"): NodeListOf; + getElementsByTagName(name: "switch"): NodeListOf; + getElementsByTagName(name: "symbol"): NodeListOf; + getElementsByTagName(name: "table"): NodeListOf; + getElementsByTagName(name: "tbody"): NodeListOf; + getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "text"): NodeListOf; + getElementsByTagName(name: "textpath"): NodeListOf; + getElementsByTagName(name: "textarea"): NodeListOf; + getElementsByTagName(name: "tfoot"): NodeListOf; + getElementsByTagName(name: "th"): NodeListOf; + getElementsByTagName(name: "thead"): NodeListOf; + getElementsByTagName(name: "title"): NodeListOf; + getElementsByTagName(name: "tr"): NodeListOf; + getElementsByTagName(name: "track"): NodeListOf; + getElementsByTagName(name: "tspan"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "ul"): NodeListOf; + getElementsByTagName(name: "use"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "video"): NodeListOf; + getElementsByTagName(name: "view"): NodeListOf; + getElementsByTagName(name: "wbr"): NodeListOf; + getElementsByTagName(name: "x-ms-webview"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: string): NodeListOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeListOf; + hasAttribute(name: string): boolean; + hasAttributeNS(namespaceURI: string, localName: string): boolean; + msGetRegionContent(): MSRangeCollection; + msGetUntransformedBounds(): ClientRect; + msMatchesSelector(selectors: string): boolean; + msReleasePointerCapture(pointerId: number): void; + msSetPointerCapture(pointerId: number): void; + msZoomTo(args: MsZoomToOptions): void; + releasePointerCapture(pointerId: number): void; + removeAttribute(name?: string): void; + removeAttributeNS(namespaceURI: string, localName: string): void; + removeAttributeNode(oldAttr: Attr): Attr; + requestFullscreen(): void; + requestPointerLock(): void; + setAttribute(name: string, value: string): void; + setAttributeNS(namespaceURI: string, qualifiedName: string, value: string): void; + setAttributeNode(newAttr: Attr): Attr; + setAttributeNodeNS(newAttr: Attr): Attr; + setPointerCapture(pointerId: number): void; + webkitMatchesSelector(selectors: string): boolean; + webkitRequestFullScreen(): void; + webkitRequestFullscreen(): void; + getElementsByClassName(classNames: string): NodeListOf; + matches(selector: string): boolean; + getElementsByTagName(tagname: "picture"): NodeListOf; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Element: { + prototype: Element; + new(): Element; +} + +interface ErrorEvent extends Event { + colno: number; + error: any; + filename: string; + lineno: number; + message: string; + initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(): ErrorEvent; +} + +interface Event { + bubbles: boolean; + cancelBubble: boolean; + cancelable: boolean; + currentTarget: EventTarget; + defaultPrevented: boolean; + eventPhase: number; + isTrusted: boolean; + returnValue: boolean; + srcElement: Element; + target: EventTarget; + timeStamp: number; + type: string; + initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; + preventDefault(): void; + stopImmediatePropagation(): void; + stopPropagation(): void; + AT_TARGET: number; + BUBBLING_PHASE: number; + CAPTURING_PHASE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + AT_TARGET: number; + BUBBLING_PHASE: number; + CAPTURING_PHASE: number; +} + +interface EventTarget { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + dispatchEvent(evt: Event): boolean; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +} + +interface External { +} + +declare var External: { + prototype: External; + new(): External; +} + +interface File extends Blob { + lastModifiedDate: any; + name: string; +} + +declare var File: { + prototype: File; + new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; +} + +interface FileList { + length: number; + item(index: number): File; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +} + +interface FileReader extends EventTarget, MSBaseReader { + error: DOMError; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; +} + +interface FocusEvent extends UIEvent { + relatedTarget: EventTarget; + initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +} + +declare var FocusEvent: { + prototype: FocusEvent; + new(typeArg: string, eventInitDict?: FocusEventInit): FocusEvent; +} + +interface FormData { + append(name: any, value: any, blobName?: string): void; +} + +declare var FormData: { + prototype: FormData; + new (form?: HTMLFormElement): FormData; +} + +interface GainNode extends AudioNode { + gain: AudioParam; +} + +declare var GainNode: { + prototype: GainNode; + new(): GainNode; +} + +interface Gamepad { + axes: number[]; + buttons: GamepadButton[]; + connected: boolean; + id: string; + index: number; + mapping: string; + timestamp: number; +} + +declare var Gamepad: { + prototype: Gamepad; + new(): Gamepad; +} + +interface GamepadButton { + pressed: boolean; + value: number; +} + +declare var GamepadButton: { + prototype: GamepadButton; + new(): GamepadButton; +} + +interface GamepadEvent extends Event { + gamepad: Gamepad; +} + +declare var GamepadEvent: { + prototype: GamepadEvent; + new(): GamepadEvent; +} + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} + +declare var Geolocation: { + prototype: Geolocation; + new(): Geolocation; +} + +interface HTMLAllCollection extends HTMLCollection { + namedItem(name: string): Element; +} + +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +} + +interface HTMLAnchorElement extends HTMLElement { + Methods: string; + + charset: string; + + coords: string; + + hash: string; + + host: string; + + hostname: string; + + href: string; + + hreflang: string; + mimeType: string; + + name: string; + nameProp: string; + + pathname: string; + + port: string; + + protocol: string; + protocolLong: string; + + rel: string; + + rev: string; + + search: string; + + shape: string; + + target: string; + + text: string; + type: string; + urn: string; + + toString(): string; +} + +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +} + +interface HTMLAppletElement extends HTMLElement { + + BaseHref: string; + align: string; + + alt: string; + + altHtml: string; + + archive: string; + border: string; + code: string; + + codeBase: string; + + codeType: string; + + contentDocument: Document; + + data: string; + + declare: boolean; + form: HTMLFormElement; + + height: string; + hspace: number; + + name: string; + object: string; + + standby: string; + + type: string; + + useMap: string; + vspace: number; + width: number; +} + +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +} + +interface HTMLAreaElement extends HTMLElement { + + alt: string; + + coords: string; + + hash: string; + + host: string; + + hostname: string; + + href: string; + + noHref: boolean; + + pathname: string; + + port: string; + + protocol: string; + rel: string; + + search: string; + + shape: string; + + target: string; + + toString(): string; +} + +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +} + +interface HTMLAreasCollection extends HTMLCollection { + + add(element: HTMLElement, before?: HTMLElement | number): void; + + remove(index?: number): void; +} + +declare var HTMLAreasCollection: { + prototype: HTMLAreasCollection; + new(): HTMLAreasCollection; +} + +interface HTMLAudioElement extends HTMLMediaElement { +} + +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; +} + +interface HTMLBRElement extends HTMLElement { + + clear: string; +} + +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +} + +interface HTMLBaseElement extends HTMLElement { + + href: string; + + target: string; +} + +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +} + +interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { + + face: string; + + size: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBaseFontElement: { + prototype: HTMLBaseFontElement; + new(): HTMLBaseFontElement; +} + +interface HTMLBlockElement extends HTMLElement { + + cite: string; + clear: string; + + width: number; +} + +declare var HTMLBlockElement: { + prototype: HTMLBlockElement; + new(): HTMLBlockElement; +} + +interface HTMLBodyElement extends HTMLElement { + aLink: any; + background: string; + bgColor: any; + bgProperties: string; + link: any; + noWrap: boolean; + onafterprint: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onblur: (ev: FocusEvent) => any; + onerror: (ev: Event) => any; + onfocus: (ev: FocusEvent) => any; + onhashchange: (ev: HashChangeEvent) => any; + onload: (ev: Event) => any; + onmessage: (ev: MessageEvent) => any; + onoffline: (ev: Event) => any; + ononline: (ev: Event) => any; + onorientationchange: (ev: Event) => any; + onpagehide: (ev: PageTransitionEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpopstate: (ev: PopStateEvent) => any; + onresize: (ev: UIEvent) => any; + onstorage: (ev: StorageEvent) => any; + onunload: (ev: Event) => any; + text: any; + vLink: any; + createTextRange(): TextRange; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +} + +interface HTMLButtonElement extends HTMLElement { + + autofocus: boolean; + disabled: boolean; + + form: HTMLFormElement; + + formAction: string; + + formEnctype: string; + + formMethod: string; + + formNoValidate: string; + + formTarget: string; + + name: string; + status: any; + + type: string; + + validationMessage: string; + + validity: ValidityState; + + value: string; + + willValidate: boolean; + + checkValidity(): boolean; + + createTextRange(): TextRange; + + setCustomValidity(error: string): void; +} + +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; +} + +interface HTMLCanvasElement extends HTMLElement { + + height: number; + + width: number; + + getContext(contextId: "2d"): CanvasRenderingContext2D; + getContext(contextId: "experimental-webgl"): WebGLRenderingContext; + getContext(contextId: string, ...args: any[]): CanvasRenderingContext2D | WebGLRenderingContext; + + msToBlob(): Blob; + + toDataURL(type?: string, ...args: any[]): string; + toBlob(): Blob; +} + +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; +} + +interface HTMLCollection { + + length: number; + + item(nameOrIndex?: any, optionalIndex?: any): Element; + + namedItem(name: string): Element; + [index: number]: Element; +} + +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +} + +interface HTMLDDElement extends HTMLElement { + + noWrap: boolean; +} + +declare var HTMLDDElement: { + prototype: HTMLDDElement; + new(): HTMLDDElement; +} + +interface HTMLDListElement extends HTMLElement { + compact: boolean; +} + +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +} + +interface HTMLDTElement extends HTMLElement { + + noWrap: boolean; +} + +declare var HTMLDTElement: { + prototype: HTMLDTElement; + new(): HTMLDTElement; +} + +interface HTMLDataListElement extends HTMLElement { + options: HTMLCollection; +} + +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; +} + +interface HTMLDirectoryElement extends HTMLElement { + compact: boolean; +} + +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +} + +interface HTMLDivElement extends HTMLElement { + + align: string; + + noWrap: boolean; +} + +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +} + +interface HTMLDocument extends Document { +} + +declare var HTMLDocument: { + prototype: HTMLDocument; + new(): HTMLDocument; +} + +interface HTMLElement extends Element { + accessKey: string; + children: HTMLCollection; + contentEditable: string; + dataset: DOMStringMap; + dir: string; + draggable: boolean; + hidden: boolean; + hideFocus: boolean; + innerHTML: string; + innerText: string; + isContentEditable: boolean; + lang: string; + offsetHeight: number; + offsetLeft: number; + offsetParent: Element; + offsetTop: number; + offsetWidth: number; + onabort: (ev: Event) => any; + onactivate: (ev: UIEvent) => any; + onbeforeactivate: (ev: UIEvent) => any; + onbeforecopy: (ev: DragEvent) => any; + onbeforecut: (ev: DragEvent) => any; + onbeforedeactivate: (ev: UIEvent) => any; + onbeforepaste: (ev: DragEvent) => any; + onblur: (ev: FocusEvent) => any; + oncanplay: (ev: Event) => any; + oncanplaythrough: (ev: Event) => any; + onchange: (ev: Event) => any; + onclick: (ev: MouseEvent) => any; + oncontextmenu: (ev: PointerEvent) => any; + oncopy: (ev: DragEvent) => any; + oncuechange: (ev: Event) => any; + oncut: (ev: DragEvent) => any; + ondblclick: (ev: MouseEvent) => any; + ondeactivate: (ev: UIEvent) => any; + ondrag: (ev: DragEvent) => any; + ondragend: (ev: DragEvent) => any; + ondragenter: (ev: DragEvent) => any; + ondragleave: (ev: DragEvent) => any; + ondragover: (ev: DragEvent) => any; + ondragstart: (ev: DragEvent) => any; + ondrop: (ev: DragEvent) => any; + ondurationchange: (ev: Event) => any; + onemptied: (ev: Event) => any; + onended: (ev: Event) => any; + onerror: (ev: Event) => any; + onfocus: (ev: FocusEvent) => any; + oninput: (ev: Event) => any; + onkeydown: (ev: KeyboardEvent) => any; + onkeypress: (ev: KeyboardEvent) => any; + onkeyup: (ev: KeyboardEvent) => any; + onload: (ev: Event) => any; + onloadeddata: (ev: Event) => any; + onloadedmetadata: (ev: Event) => any; + onloadstart: (ev: Event) => any; + onmousedown: (ev: MouseEvent) => any; + onmouseenter: (ev: MouseEvent) => any; + onmouseleave: (ev: MouseEvent) => any; + onmousemove: (ev: MouseEvent) => any; + onmouseout: (ev: MouseEvent) => any; + onmouseover: (ev: MouseEvent) => any; + onmouseup: (ev: MouseEvent) => any; + onmousewheel: (ev: MouseWheelEvent) => any; + onmscontentzoom: (ev: UIEvent) => any; + onmsmanipulationstatechanged: (ev: MSManipulationEvent) => any; + onpaste: (ev: DragEvent) => any; + onpause: (ev: Event) => any; + onplay: (ev: Event) => any; + onplaying: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + onratechange: (ev: Event) => any; + onreset: (ev: Event) => any; + onscroll: (ev: UIEvent) => any; + onseeked: (ev: Event) => any; + onseeking: (ev: Event) => any; + onselect: (ev: UIEvent) => any; + onselectstart: (ev: Event) => any; + onstalled: (ev: Event) => any; + onsubmit: (ev: Event) => any; + onsuspend: (ev: Event) => any; + ontimeupdate: (ev: Event) => any; + onvolumechange: (ev: Event) => any; + onwaiting: (ev: Event) => any; + outerHTML: string; + outerText: string; + spellcheck: boolean; + style: CSSStyleDeclaration; + tabIndex: number; + title: string; + blur(): void; + click(): void; + dragDrop(): boolean; + focus(): void; + insertAdjacentElement(position: string, insertedElement: Element): Element; + insertAdjacentHTML(where: string, html: string): void; + insertAdjacentText(where: string, text: string): void; + msGetInputContext(): MSInputMethodContext; + scrollIntoView(top?: boolean): void; + setActive(): void; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; +} + +interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + + height: string; + hidden: any; + + msPlayToDisabled: boolean; + + msPlayToPreferredSourceUri: string; + + msPlayToPrimary: boolean; + + msPlayToSource: any; + + name: string; + + palette: string; + + pluginspage: string; + readyState: string; + + src: string; + + units: string; + + width: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +} + +interface HTMLFieldSetElement extends HTMLElement { + + align: string; + disabled: boolean; + + form: HTMLFormElement; + + validationMessage: string; + + validity: ValidityState; + + willValidate: boolean; + + checkValidity(): boolean; + + setCustomValidity(error: string): void; +} + +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; +} + +interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + + face: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; +} + +interface HTMLFormElement extends HTMLElement { + + acceptCharset: string; + + action: string; + + autocomplete: string; + + elements: HTMLCollection; + + encoding: string; + + enctype: string; + + length: number; + + method: string; + + name: string; + + noValidate: boolean; + + target: string; + + checkValidity(): boolean; + + item(name?: any, index?: any): any; + + namedItem(name: string): any; + + reset(): void; + + submit(): void; + [name: string]: any; +} + +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; +} + +interface HTMLFrameElement extends HTMLElement, GetSVGDocument { + + border: string; + + borderColor: any; + + contentDocument: Document; + + contentWindow: Window; + + frameBorder: string; + + frameSpacing: any; + + height: string | number; + + longDesc: string; + + marginHeight: string; + + marginWidth: string; + + name: string; + + noResize: boolean; + + onload: (ev: Event) => any; + + scrolling: string; + + security: any; + + src: string; + + width: string | number; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; +} + +interface HTMLFrameSetElement extends HTMLElement { + border: string; + + borderColor: any; + + cols: string; + + frameBorder: string; + + frameSpacing: any; + name: string; + onafterprint: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + + onblur: (ev: FocusEvent) => any; + onerror: (ev: Event) => any; + + onfocus: (ev: FocusEvent) => any; + onhashchange: (ev: HashChangeEvent) => any; + onload: (ev: Event) => any; + onmessage: (ev: MessageEvent) => any; + onoffline: (ev: Event) => any; + ononline: (ev: Event) => any; + onorientationchange: (ev: Event) => any; + onpagehide: (ev: PageTransitionEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onresize: (ev: UIEvent) => any; + onstorage: (ev: StorageEvent) => any; + onunload: (ev: Event) => any; + + rows: string; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; +} + +interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + + align: string; + + noShade: boolean; + + width: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +} + +interface HTMLHeadElement extends HTMLElement { + profile: string; +} + +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +} + +interface HTMLHeadingElement extends HTMLElement { + + align: string; + clear: string; +} + +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; +} + +interface HTMLHtmlElement extends HTMLElement { + + version: string; +} + +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +} + +interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { + + align: string; + allowFullscreen: boolean; + + border: string; + + contentDocument: Document; + + contentWindow: Window; + + frameBorder: string; + + frameSpacing: any; + + height: string; + + hspace: number; + + longDesc: string; + + marginHeight: string; + + marginWidth: string; + + name: string; + + noResize: boolean; + + onload: (ev: Event) => any; + sandbox: DOMSettableTokenList; + + scrolling: string; + + security: any; + + src: string; + + vspace: number; + + width: string; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +} + +interface HTMLImageElement extends HTMLElement { + + align: string; + + alt: string; + + border: string; + + complete: boolean; + crossOrigin: string; + currentSrc: string; + + height: number; + + hspace: number; + + isMap: boolean; + + longDesc: string; + + msPlayToDisabled: boolean; + msPlayToPreferredSourceUri: string; + + msPlayToPrimary: boolean; + + msPlayToSource: any; + + name: string; + + naturalHeight: number; + + naturalWidth: number; + + src: string; + srcset: string; + + useMap: string; + + vspace: number; + + width: number; + x: number; + y: number; + msGetAsCastingSource(): any; +} + +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; + create(): HTMLImageElement; +} + +interface HTMLInputElement extends HTMLElement { + + accept: string; + + align: string; + + alt: string; + + autocomplete: string; + + autofocus: boolean; + + border: string; + + checked: boolean; + + complete: boolean; + + defaultChecked: boolean; + + defaultValue: string; + disabled: boolean; + + files: FileList; + + form: HTMLFormElement; + + formAction: string; + + formEnctype: string; + + formMethod: string; + + formNoValidate: string; + + formTarget: string; + + height: string; + + hspace: number; + indeterminate: boolean; + + list: HTMLElement; + + max: string; + + maxLength: number; + + min: string; + + multiple: boolean; + + name: string; + + pattern: string; + + placeholder: string; + readOnly: boolean; + + required: boolean; + + selectionEnd: number; + + selectionStart: number; + size: number; + + src: string; + status: boolean; + + step: string; + + type: string; + + useMap: string; + + validationMessage: string; + + validity: ValidityState; + + value: string; + valueAsDate: Date; + + valueAsNumber: number; + + vspace: number; + + width: string; + + willValidate: boolean; + + checkValidity(): boolean; + + createTextRange(): TextRange; + + select(): void; + + setCustomValidity(error: string): void; + + setSelectionRange(start: number, end: number): void; + + stepDown(n?: number): void; + + stepUp(n?: number): void; +} + +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; +} + +interface HTMLIsIndexElement extends HTMLElement { + + action: string; + + form: HTMLFormElement; + prompt: string; +} + +declare var HTMLIsIndexElement: { + prototype: HTMLIsIndexElement; + new(): HTMLIsIndexElement; +} + +interface HTMLLIElement extends HTMLElement { + type: string; + + value: number; +} + +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +} + +interface HTMLLabelElement extends HTMLElement { + + form: HTMLFormElement; + + htmlFor: string; +} + +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; +} + +interface HTMLLegendElement extends HTMLElement { + + align: string; + + form: HTMLFormElement; +} + +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +} + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + + charset: string; + disabled: boolean; + + href: string; + + hreflang: string; + + media: string; + + rel: string; + + rev: string; + + target: string; + + type: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +} + +interface HTMLMapElement extends HTMLElement { + + areas: HTMLAreasCollection; + + name: string; +} + +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +} + +interface HTMLMarqueeElement extends HTMLElement { + behavior: string; + bgColor: any; + direction: string; + height: string; + hspace: number; + loop: number; + onbounce: (ev: Event) => any; + onfinish: (ev: Event) => any; + onstart: (ev: Event) => any; + scrollAmount: number; + scrollDelay: number; + trueSpeed: boolean; + vspace: number; + width: string; + start(): void; + stop(): void; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "bounce", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "finish", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "start", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +} + +interface HTMLMediaElement extends HTMLElement { + + audioTracks: AudioTrackList; + + autoplay: boolean; + + buffered: TimeRanges; + + controls: boolean; + + currentSrc: string; + + currentTime: number; + defaultMuted: boolean; + + defaultPlaybackRate: number; + + duration: number; + + ended: boolean; + + error: MediaError; + + loop: boolean; + + msAudioCategory: string; + + msAudioDeviceType: string; + msGraphicsTrustStatus: MSGraphicsTrust; + + msKeys: MSMediaKeys; + + msPlayToDisabled: boolean; + + msPlayToPreferredSourceUri: string; + + msPlayToPrimary: boolean; + + msPlayToSource: any; + + msRealTime: boolean; + + muted: boolean; + + networkState: number; + onmsneedkey: (ev: MSMediaKeyNeededEvent) => any; + + paused: boolean; + + playbackRate: number; + + played: TimeRanges; + + preload: string; + readyState: number; + + seekable: TimeRanges; + + seeking: boolean; + + src: string; + textTracks: TextTrackList; + videoTracks: VideoTrackList; + + volume: number; + addTextTrack(kind: string, label?: string, language?: string): TextTrack; + + canPlayType(type: string): string; + + load(): void; + + msClearEffects(): void; + msGetAsCastingSource(): any; + + msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetMediaKeys(mediaKeys: MSMediaKeys): void; + + msSetMediaProtectionManager(mediaProtectionManager?: any): void; + + pause(): void; + + play(): void; + HAVE_CURRENT_DATA: number; + HAVE_ENOUGH_DATA: number; + HAVE_FUTURE_DATA: number; + HAVE_METADATA: number; + HAVE_NOTHING: number; + NETWORK_EMPTY: number; + NETWORK_IDLE: number; + NETWORK_LOADING: number; + NETWORK_NO_SOURCE: number; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + HAVE_CURRENT_DATA: number; + HAVE_ENOUGH_DATA: number; + HAVE_FUTURE_DATA: number; + HAVE_METADATA: number; + HAVE_NOTHING: number; + NETWORK_EMPTY: number; + NETWORK_IDLE: number; + NETWORK_LOADING: number; + NETWORK_NO_SOURCE: number; +} + +interface HTMLMenuElement extends HTMLElement { + compact: boolean; + type: string; +} + +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +} + +interface HTMLMetaElement extends HTMLElement { + + charset: string; + + content: string; + + httpEquiv: string; + + name: string; + + scheme: string; + + url: string; +} + +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +} + +interface HTMLModElement extends HTMLElement { + + cite: string; + + dateTime: string; +} + +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +} + +interface HTMLNextIdElement extends HTMLElement { + n: string; +} + +declare var HTMLNextIdElement: { + prototype: HTMLNextIdElement; + new(): HTMLNextIdElement; +} + +interface HTMLOListElement extends HTMLElement { + compact: boolean; + + start: number; + type: string; +} + +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +} + +interface HTMLObjectElement extends HTMLElement, GetSVGDocument { + + BaseHref: string; + align: string; + + alt: string; + + altHtml: string; + + archive: string; + border: string; + + code: string; + + codeBase: string; + + codeType: string; + + contentDocument: Document; + + data: string; + declare: boolean; + + form: HTMLFormElement; + + height: string; + hspace: number; + + msPlayToDisabled: boolean; + + msPlayToPreferredSourceUri: string; + + msPlayToPrimary: boolean; + + msPlayToSource: any; + + name: string; + + object: any; + readyState: number; + + standby: string; + + type: string; + + useMap: string; + + validationMessage: string; + + validity: ValidityState; + vspace: number; + + width: string; + + willValidate: boolean; + + checkValidity(): boolean; + + setCustomValidity(error: string): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +} + +interface HTMLOptGroupElement extends HTMLElement { + + defaultSelected: boolean; + disabled: boolean; + + form: HTMLFormElement; + + index: number; + + label: string; + + selected: boolean; + + text: string; + + value: string; +} + +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +} + +interface HTMLOptionElement extends HTMLElement { + + defaultSelected: boolean; + disabled: boolean; + + form: HTMLFormElement; + + index: number; + + label: string; + + selected: boolean; + + text: string; + + value: string; +} + +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; + create(): HTMLOptionElement; +} + +interface HTMLParagraphElement extends HTMLElement { + + align: string; + clear: string; +} + +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +} + +interface HTMLParamElement extends HTMLElement { + + name: string; + + type: string; + + value: string; + + valueType: string; +} + +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +} + +interface HTMLPhraseElement extends HTMLElement { + + cite: string; + + dateTime: string; +} + +declare var HTMLPhraseElement: { + prototype: HTMLPhraseElement; + new(): HTMLPhraseElement; +} + +interface HTMLPreElement extends HTMLElement { + + cite: string; + clear: string; + + width: number; +} + +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +} + +interface HTMLProgressElement extends HTMLElement { + + form: HTMLFormElement; + + max: number; + + position: number; + + value: number; +} + +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; +} + +interface HTMLQuoteElement extends HTMLElement { + + cite: string; + + dateTime: string; +} + +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +} + +interface HTMLScriptElement extends HTMLElement { + async: boolean; + + charset: string; + + defer: boolean; + + event: string; + + htmlFor: string; + + src: string; + + text: string; + + type: string; +} + +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +} + +interface HTMLSelectElement extends HTMLElement { + + autofocus: boolean; + disabled: boolean; + + form: HTMLFormElement; + + length: number; + + multiple: boolean; + + name: string; + options: HTMLCollection; + + required: boolean; + + selectedIndex: number; + + size: number; + + type: string; + + validationMessage: string; + + validity: ValidityState; + + value: string; + + willValidate: boolean; + selectedOptions: HTMLCollection; + + add(element: HTMLElement, before?: HTMLElement | number): void; + + checkValidity(): boolean; + + item(name?: any, index?: any): any; + + namedItem(name: string): any; + + remove(index?: number): void; + + setCustomValidity(error: string): void; + [name: string]: any; +} + +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; +} + +interface HTMLSourceElement extends HTMLElement { + + media: string; + msKeySystem: string; + + src: string; + + type: string; +} + +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; +} + +interface HTMLSpanElement extends HTMLElement { +} + +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +} + +interface HTMLStyleElement extends HTMLElement, LinkStyle { + + media: string; + + type: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; +} + +interface HTMLTableCaptionElement extends HTMLElement { + + align: string; + + vAlign: string; +} + +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; +} + +interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment { + + abbr: string; + + align: string; + + axis: string; + bgColor: any; + + cellIndex: number; + + colSpan: number; + + headers: string; + + height: any; + + noWrap: boolean; + + rowSpan: number; + + scope: string; + + width: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; +} + +interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment { + + align: string; + + span: number; + + width: any; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +} + +interface HTMLTableDataCellElement extends HTMLTableCellElement { +} + +declare var HTMLTableDataCellElement: { + prototype: HTMLTableDataCellElement; + new(): HTMLTableDataCellElement; +} + +interface HTMLTableElement extends HTMLElement { + + align: string; + bgColor: any; + + border: string; + + borderColor: any; + + caption: HTMLTableCaptionElement; + + cellPadding: string; + + cellSpacing: string; + + cols: number; + + frame: string; + + height: any; + + rows: HTMLCollection; + + rules: string; + + summary: string; + + tBodies: HTMLCollection; + + tFoot: HTMLTableSectionElement; + + tHead: HTMLTableSectionElement; + + width: string; + + createCaption(): HTMLTableCaptionElement; + + createTBody(): HTMLTableSectionElement; + + createTFoot(): HTMLTableSectionElement; + + createTHead(): HTMLTableSectionElement; + + deleteCaption(): void; + + deleteRow(index?: number): void; + + deleteTFoot(): void; + + deleteTHead(): void; + + insertRow(index?: number): HTMLTableRowElement; +} + +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; +} + +interface HTMLTableHeaderCellElement extends HTMLTableCellElement { + + scope: string; +} + +declare var HTMLTableHeaderCellElement: { + prototype: HTMLTableHeaderCellElement; + new(): HTMLTableHeaderCellElement; +} + +interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment { + + align: string; + bgColor: any; + + cells: HTMLCollection; + + height: any; + + rowIndex: number; + + sectionRowIndex: number; + + deleteCell(index?: number): void; + + insertCell(index?: number): HTMLTableCellElement; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; +} + +interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment { + + align: string; + + rows: HTMLCollection; + + deleteRow(index?: number): void; + + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; +} + +interface HTMLTextAreaElement extends HTMLElement { + + autofocus: boolean; + + cols: number; + + defaultValue: string; + disabled: boolean; + + form: HTMLFormElement; + + maxLength: number; + + name: string; + + placeholder: string; + + readOnly: boolean; + + required: boolean; + + rows: number; + + selectionEnd: number; + + selectionStart: number; + + status: any; + + type: string; + + validationMessage: string; + + validity: ValidityState; + + value: string; + + willValidate: boolean; + + wrap: string; + + checkValidity(): boolean; + + createTextRange(): TextRange; + + select(): void; + + setCustomValidity(error: string): void; + + setSelectionRange(start: number, end: number): void; +} + +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; +} + +interface HTMLTitleElement extends HTMLElement { + + text: string; +} + +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +} + +interface HTMLTrackElement extends HTMLElement { + default: boolean; + kind: string; + label: string; + readyState: number; + src: string; + srclang: string; + track: TextTrack; + ERROR: number; + LOADED: number; + LOADING: number; + NONE: number; +} + +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + ERROR: number; + LOADED: number; + LOADING: number; + NONE: number; +} + +interface HTMLUListElement extends HTMLElement { + compact: boolean; + type: string; +} + +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; +} + +interface HTMLUnknownElement extends HTMLElement { +} + +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; +} + +interface HTMLVideoElement extends HTMLMediaElement { + + height: number; + msHorizontalMirror: boolean; + msIsLayoutOptimalForPlayback: boolean; + msIsStereo3D: boolean; + msStereo3DPackingMode: string; + msStereo3DRenderMode: string; + msZoom: boolean; + onMSVideoFormatChanged: (ev: Event) => any; + onMSVideoFrameStepCompleted: (ev: Event) => any; + onMSVideoOptimalLayoutChanged: (ev: Event) => any; + + poster: string; + + videoHeight: number; + + videoWidth: number; + webkitDisplayingFullscreen: boolean; + webkitSupportsFullscreen: boolean; + + width: number; + getVideoPlaybackQuality(): VideoPlaybackQuality; + msFrameStep(forward: boolean): void; + msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; + webkitEnterFullScreen(): void; + webkitEnterFullscreen(): void; + webkitExitFullScreen(): void; + webkitExitFullscreen(): void; + addEventListener(type: "MSContentZoom", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFormatChanged", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFrameStepCompleted", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoOptimalLayoutChanged", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; +} + +interface HashChangeEvent extends Event { + newURL: string; + oldURL: string; +} + +declare var HashChangeEvent: { + prototype: HashChangeEvent; + new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; +} + +interface History { + length: number; + state: any; + back(distance?: any): void; + forward(distance?: any): void; + go(delta?: any): void; + pushState(statedata: any, title?: string, url?: string): void; + replaceState(statedata: any, title?: string, url?: string): void; +} + +declare var History: { + prototype: History; + new(): History; +} + +interface IDBCursor { + direction: string; + key: any; + primaryKey: any; + source: any; + advance(count: number): void; + continue(key?: any): void; + delete(): IDBRequest; + update(value: any): IDBRequest; + NEXT: string; + NEXT_NO_DUPLICATE: string; + PREV: string; + PREV_NO_DUPLICATE: string; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; + NEXT: string; + NEXT_NO_DUPLICATE: string; + PREV: string; + PREV_NO_DUPLICATE: string; +} + +interface IDBCursorWithValue extends IDBCursor { + value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +} + +interface IDBDatabase extends EventTarget { + name: string; + objectStoreNames: DOMStringList; + onabort: (ev: Event) => any; + onerror: (ev: Event) => any; + version: number; + close(): void; + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + deleteObjectStore(name: string): void; + transaction(storeNames: any, mode?: string): IDBTransaction; + addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +} + +interface IDBFactory { + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +} + +interface IDBIndex { + keyPath: string | string[]; + name: string; + objectStore: IDBObjectStore; + unique: boolean; + multiEntry: boolean; + count(key?: any): IDBRequest; + get(key: any): IDBRequest; + getKey(key: any): IDBRequest; + openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +} + +interface IDBKeyRange { + lower: any; + lowerOpen: boolean; + upper: any; + upperOpen: boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + lowerBound(bound: any, open?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; + upperBound(bound: any, open?: boolean): IDBKeyRange; +} + +interface IDBObjectStore { + indexNames: DOMStringList; + keyPath: string; + name: string; + transaction: IDBTransaction; + add(value: any, key?: any): IDBRequest; + clear(): IDBRequest; + count(key?: any): IDBRequest; + createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; + delete(key: any): IDBRequest; + deleteIndex(indexName: string): void; + get(key: any): IDBRequest; + index(name: string): IDBIndex; + openCursor(range?: any, direction?: string): IDBRequest; + put(value: any, key?: any): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +} + +interface IDBOpenDBRequest extends IDBRequest { + onblocked: (ev: Event) => any; + onupgradeneeded: (ev: IDBVersionChangeEvent) => any; + addEventListener(type: "blocked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "upgradeneeded", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +} + +interface IDBRequest extends EventTarget { + error: DOMError; + onerror: (ev: Event) => any; + onsuccess: (ev: Event) => any; + readyState: string; + result: any; + source: any; + transaction: IDBTransaction; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +} + +interface IDBTransaction extends EventTarget { + db: IDBDatabase; + error: DOMError; + mode: string; + onabort: (ev: Event) => any; + oncomplete: (ev: Event) => any; + onerror: (ev: Event) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + READ_ONLY: string; + READ_WRITE: string; + VERSION_CHANGE: string; + addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; + READ_ONLY: string; + READ_WRITE: string; + VERSION_CHANGE: string; +} + +interface IDBVersionChangeEvent extends Event { + newVersion: number; + oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(): IDBVersionChangeEvent; +} + +interface ImageData { + data: Uint8ClampedArray; + height: number; + width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; +} + +interface KeyboardEvent extends UIEvent { + altKey: boolean; + char: string; + charCode: number; + ctrlKey: boolean; + key: string; + keyCode: number; + locale: string; + location: number; + metaKey: boolean; + repeat: boolean; + shiftKey: boolean; + which: number; + getModifierState(keyArg: string): boolean; + initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_MOBILE: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; +} + +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_MOBILE: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; +} + +interface Location { + hash: string; + host: string; + hostname: string; + href: string; + origin: string; + pathname: string; + port: string; + protocol: string; + search: string; + assign(url: string): void; + reload(forcedReload?: boolean): void; + replace(url: string): void; + toString(): string; +} + +declare var Location: { + prototype: Location; + new(): Location; +} + +interface LongRunningScriptDetectedEvent extends Event { + executionTime: number; + stopPageScriptExecution: boolean; +} + +declare var LongRunningScriptDetectedEvent: { + prototype: LongRunningScriptDetectedEvent; + new(): LongRunningScriptDetectedEvent; +} + +interface MSApp { + clearTemporaryWebDataAsync(): MSAppAsyncOperation; + createBlobFromRandomAccessStream(type: string, seeker: any): Blob; + createDataPackage(object: any): any; + createDataPackageFromSelection(): any; + createFileFromStorageFile(storageFile: any): File; + createStreamFromInputStream(type: string, inputStream: any): MSStream; + execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; + execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; + getCurrentPriority(): string; + getHtmlPrintDocumentSourceAsync(htmlDoc: any): any; + getViewId(view: any): any; + isTaskScheduledAtPriorityOrHigher(priority: string): boolean; + pageHandlesAllApplicationActivations(enabled: boolean): void; + suppressSubdownloadCredentialPrompts(suppress: boolean): void; + terminateApp(exceptionObject: any): void; + CURRENT: string; + HIGH: string; + IDLE: string; + NORMAL: string; +} +declare var MSApp: MSApp; + +interface MSAppAsyncOperation extends EventTarget { + error: DOMError; + oncomplete: (ev: Event) => any; + onerror: (ev: Event) => any; + readyState: number; + result: any; + start(): void; + COMPLETED: number; + ERROR: number; + STARTED: number; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MSAppAsyncOperation: { + prototype: MSAppAsyncOperation; + new(): MSAppAsyncOperation; + COMPLETED: number; + ERROR: number; + STARTED: number; +} + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} + +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +} + +interface MSCSSMatrix { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + inverse(): MSCSSMatrix; + multiply(secondMatrix: MSCSSMatrix): MSCSSMatrix; + rotate(angleX: number, angleY?: number, angleZ?: number): MSCSSMatrix; + rotateAxisAngle(x: number, y: number, z: number, angle: number): MSCSSMatrix; + scale(scaleX: number, scaleY?: number, scaleZ?: number): MSCSSMatrix; + setMatrixValue(value: string): void; + skewX(angle: number): MSCSSMatrix; + skewY(angle: number): MSCSSMatrix; + toString(): string; + translate(x: number, y: number, z?: number): MSCSSMatrix; +} + +declare var MSCSSMatrix: { + prototype: MSCSSMatrix; + new(text?: string): MSCSSMatrix; +} + +interface MSGesture { + target: Element; + addPointer(pointerId: number): void; + stop(): void; +} + +declare var MSGesture: { + prototype: MSGesture; + new(): MSGesture; +} + +interface MSGestureEvent extends UIEvent { + clientX: number; + clientY: number; + expansion: number; + gestureObject: any; + hwTimestamp: number; + offsetX: number; + offsetY: number; + rotation: number; + scale: number; + screenX: number; + screenY: number; + translationX: number; + translationY: number; + velocityAngular: number; + velocityExpansion: number; + velocityX: number; + velocityY: number; + initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} + +declare var MSGestureEvent: { + prototype: MSGestureEvent; + new(): MSGestureEvent; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} + +interface MSGraphicsTrust { + constrictionActive: boolean; + status: string; +} + +declare var MSGraphicsTrust: { + prototype: MSGraphicsTrust; + new(): MSGraphicsTrust; +} + +interface MSHTMLWebViewElement extends HTMLElement { + canGoBack: boolean; + canGoForward: boolean; + containsFullScreenElement: boolean; + documentTitle: string; + height: number; + settings: MSWebViewSettings; + src: string; + width: number; + addWebAllowedObject(name: string, applicationObject: any): void; + buildLocalStreamUri(contentIdentifier: string, relativePath: string): string; + capturePreviewToBlobAsync(): MSWebViewAsyncOperation; + captureSelectedContentToDataPackageAsync(): MSWebViewAsyncOperation; + getDeferredPermissionRequestById(id: number): DeferredPermissionRequest; + getDeferredPermissionRequests(): DeferredPermissionRequest[]; + goBack(): void; + goForward(): void; + invokeScriptAsync(scriptName: string, ...args: any[]): MSWebViewAsyncOperation; + navigate(uri: string): void; + navigateToLocalStreamUri(source: string, streamResolver: any): void; + navigateToString(contents: string): void; + navigateWithHttpRequestMessage(requestMessage: any): void; + refresh(): void; + stop(): void; +} + +declare var MSHTMLWebViewElement: { + prototype: MSHTMLWebViewElement; + new(): MSHTMLWebViewElement; +} + +interface MSInputMethodContext extends EventTarget { + compositionEndOffset: number; + compositionStartOffset: number; + oncandidatewindowhide: (ev: Event) => any; + oncandidatewindowshow: (ev: Event) => any; + oncandidatewindowupdate: (ev: Event) => any; + target: HTMLElement; + getCandidateWindowClientRect(): ClientRect; + getCompositionAlternatives(): string[]; + hasComposition(): boolean; + isCandidateWindowVisible(): boolean; + addEventListener(type: "MSCandidateWindowHide", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "MSCandidateWindowShow", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "MSCandidateWindowUpdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MSInputMethodContext: { + prototype: MSInputMethodContext; + new(): MSInputMethodContext; +} + +interface MSManipulationEvent extends UIEvent { + currentState: number; + inertiaDestinationX: number; + inertiaDestinationY: number; + lastState: number; + initMSManipulationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, lastState: number, currentState: number): void; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_CANCELLED: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_STOPPED: number; +} + +declare var MSManipulationEvent: { + prototype: MSManipulationEvent; + new(): MSManipulationEvent; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_CANCELLED: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_STOPPED: number; +} + +interface MSMediaKeyError { + code: number; + systemCode: number; + MS_MEDIA_KEYERR_CLIENT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_UNKNOWN: number; +} + +declare var MSMediaKeyError: { + prototype: MSMediaKeyError; + new(): MSMediaKeyError; + MS_MEDIA_KEYERR_CLIENT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_UNKNOWN: number; +} + +interface MSMediaKeyMessageEvent extends Event { + destinationURL: string; + message: Uint8Array; +} + +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +} + +interface MSMediaKeyNeededEvent extends Event { + initData: Uint8Array; +} + +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +} + +interface MSMediaKeySession extends EventTarget { + error: MSMediaKeyError; + keySystem: string; + sessionId: string; + close(): void; + update(key: Uint8Array): void; +} + +declare var MSMediaKeySession: { + prototype: MSMediaKeySession; + new(): MSMediaKeySession; +} + +interface MSMediaKeys { + keySystem: string; + createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array): MSMediaKeySession; +} + +declare var MSMediaKeys: { + prototype: MSMediaKeys; + new(keySystem: string): MSMediaKeys; + isTypeSupported(keySystem: string, type?: string): boolean; +} + +interface MSMimeTypesCollection { + length: number; +} + +declare var MSMimeTypesCollection: { + prototype: MSMimeTypesCollection; + new(): MSMimeTypesCollection; +} + +interface MSPluginsCollection { + length: number; + refresh(reload?: boolean): void; +} + +declare var MSPluginsCollection: { + prototype: MSPluginsCollection; + new(): MSPluginsCollection; +} + +interface MSPointerEvent extends MouseEvent { + currentPoint: any; + height: number; + hwTimestamp: number; + intermediatePoints: any; + isPrimary: boolean; + pointerId: number; + pointerType: any; + pressure: number; + rotation: number; + tiltX: number; + tiltY: number; + width: number; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; +} + +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; +} + +interface MSRangeCollection { + length: number; + item(index: number): Range; + [index: number]: Range; +} + +declare var MSRangeCollection: { + prototype: MSRangeCollection; + new(): MSRangeCollection; +} + +interface MSSiteModeEvent extends Event { + actionURL: string; + buttonID: number; +} + +declare var MSSiteModeEvent: { + prototype: MSSiteModeEvent; + new(): MSSiteModeEvent; +} + +interface MSStream { + type: string; + msClose(): void; + msDetachStream(): any; +} + +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +} + +interface MSStreamReader extends EventTarget, MSBaseReader { + error: DOMError; + readAsArrayBuffer(stream: MSStream, size?: number): void; + readAsBinaryString(stream: MSStream, size?: number): void; + readAsBlob(stream: MSStream, size?: number): void; + readAsDataURL(stream: MSStream, size?: number): void; + readAsText(stream: MSStream, encoding?: string, size?: number): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MSStreamReader: { + prototype: MSStreamReader; + new(): MSStreamReader; +} + +interface MSWebViewAsyncOperation extends EventTarget { + error: DOMError; + oncomplete: (ev: Event) => any; + onerror: (ev: Event) => any; + readyState: number; + result: any; + target: MSHTMLWebViewElement; + type: number; + start(): void; + COMPLETED: number; + ERROR: number; + STARTED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MSWebViewAsyncOperation: { + prototype: MSWebViewAsyncOperation; + new(): MSWebViewAsyncOperation; + COMPLETED: number; + ERROR: number; + STARTED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; +} + +interface MSWebViewSettings { + isIndexedDBEnabled: boolean; + isJavaScriptEnabled: boolean; +} + +declare var MSWebViewSettings: { + prototype: MSWebViewSettings; + new(): MSWebViewSettings; +} + +interface MediaElementAudioSourceNode extends AudioNode { +} + +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(): MediaElementAudioSourceNode; +} + +interface MediaError { + code: number; + msExtendedCode: number; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_DECODE: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} + +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_DECODE: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} + +interface MediaList { + length: number; + mediaText: string; + appendMedium(newMedium: string): void; + deleteMedium(oldMedium: string): void; + item(index: number): string; + toString(): string; + [index: number]: string; +} + +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +} + +interface MediaQueryList { + matches: boolean; + media: string; + addListener(listener: MediaQueryListListener): void; + removeListener(listener: MediaQueryListListener): void; +} + +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; +} + +interface MediaSource extends EventTarget { + activeSourceBuffers: SourceBufferList; + duration: number; + readyState: string; + sourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + endOfStream(error?: number): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; +} + +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; +} + +interface MessageChannel { + port1: MessagePort; + port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +} + +interface MessageEvent extends Event { + data: any; + origin: string; + ports: any; + source: Window; + initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: Window): void; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +} + +interface MessagePort extends EventTarget { + onmessage: (ev: MessageEvent) => any; + close(): void; + postMessage(message?: any, ports?: any): void; + start(): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +} + +interface MimeType { + description: string; + enabledPlugin: Plugin; + suffixes: string; + type: string; +} + +declare var MimeType: { + prototype: MimeType; + new(): MimeType; +} + +interface MimeTypeArray { + length: number; + item(index: number): Plugin; + namedItem(type: string): Plugin; + [index: number]: Plugin; +} + +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +} + +interface MouseEvent extends UIEvent { + altKey: boolean; + button: number; + buttons: number; + clientX: number; + clientY: number; + ctrlKey: boolean; + fromElement: Element; + layerX: number; + layerY: number; + metaKey: boolean; + movementX: number; + movementY: number; + offsetX: number; + offsetY: number; + pageX: number; + pageY: number; + relatedTarget: EventTarget; + screenX: number; + screenY: number; + shiftKey: boolean; + toElement: Element; + which: number; + x: number; + y: number; + getModifierState(keyArg: string): boolean; + initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget): void; +} + +declare var MouseEvent: { + prototype: MouseEvent; + new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent; +} + +interface MouseWheelEvent extends MouseEvent { + wheelDelta: number; + wheelDeltaX: number; + wheelDeltaY: number; + initMouseWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, wheelDeltaArg: number): void; +} + +declare var MouseWheelEvent: { + prototype: MouseWheelEvent; + new(): MouseWheelEvent; +} + +interface MutationEvent extends Event { + attrChange: number; + attrName: string; + newValue: string; + prevValue: string; + relatedNode: Node; + initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; + ADDITION: number; + MODIFICATION: number; + REMOVAL: number; +} + +declare var MutationEvent: { + prototype: MutationEvent; + new(): MutationEvent; + ADDITION: number; + MODIFICATION: number; + REMOVAL: number; +} + +interface MutationObserver { + disconnect(): void; + observe(target: Node, options: MutationObserverInit): void; + takeRecords(): MutationRecord[]; +} + +declare var MutationObserver: { + prototype: MutationObserver; + new(callback: MutationCallback): MutationObserver; +} + +interface MutationRecord { + addedNodes: NodeList; + attributeName: string; + attributeNamespace: string; + nextSibling: Node; + oldValue: string; + previousSibling: Node; + removedNodes: NodeList; + target: Node; + type: string; +} + +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +} + +interface NamedNodeMap { + length: number; + getNamedItem(name: string): Attr; + getNamedItemNS(namespaceURI: string, localName: string): Attr; + item(index: number): Attr; + removeNamedItem(name: string): Attr; + removeNamedItemNS(namespaceURI: string, localName: string): Attr; + setNamedItem(arg: Attr): Attr; + setNamedItemNS(arg: Attr): Attr; + [index: number]: Attr; +} + +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; +} + +interface NavigationCompletedEvent extends NavigationEvent { + isSuccess: boolean; + webErrorStatus: number; +} + +declare var NavigationCompletedEvent: { + prototype: NavigationCompletedEvent; + new(): NavigationCompletedEvent; +} + +interface NavigationEvent extends Event { + uri: string; +} + +declare var NavigationEvent: { + prototype: NavigationEvent; + new(): NavigationEvent; +} + +interface NavigationEventWithReferrer extends NavigationEvent { + referer: string; +} + +declare var NavigationEventWithReferrer: { + prototype: NavigationEventWithReferrer; + new(): NavigationEventWithReferrer; +} + +interface Navigator extends Object, NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, NavigatorGeolocation, MSNavigatorDoNotTrack, MSFileSaver { + appCodeName: string; + appMinorVersion: string; + browserLanguage: string; + connectionSpeed: number; + cookieEnabled: boolean; + cpuClass: string; + language: string; + maxTouchPoints: number; + mimeTypes: MSMimeTypesCollection; + msManipulationViewsEnabled: boolean; + msMaxTouchPoints: number; + msPointerEnabled: boolean; + plugins: MSPluginsCollection; + pointerEnabled: boolean; + systemLanguage: string; + userLanguage: string; + webdriver: boolean; + getGamepads(): Gamepad[]; + javaEnabled(): boolean; + msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; + vibrate(pattern: number | number[]): boolean; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +} + +interface Node extends EventTarget { + attributes: NamedNodeMap; + baseURI: string; + childNodes: NodeList; + firstChild: Node; + lastChild: Node; + localName: string; + namespaceURI: string; + nextSibling: Node; + nodeName: string; + nodeType: number; + nodeValue: string; + ownerDocument: Document; + parentElement: HTMLElement; + parentNode: Node; + prefix: string; + previousSibling: Node; + textContent: string; + appendChild(newChild: Node): Node; + cloneNode(deep?: boolean): Node; + compareDocumentPosition(other: Node): number; + hasAttributes(): boolean; + hasChildNodes(): boolean; + insertBefore(newChild: Node, refChild?: Node): Node; + isDefaultNamespace(namespaceURI: string): boolean; + isEqualNode(arg: Node): boolean; + isSameNode(other: Node): boolean; + lookupNamespaceURI(prefix: string): string; + lookupPrefix(namespaceURI: string): string; + normalize(): void; + removeChild(oldChild: Node): Node; + replaceChild(newChild: Node, oldChild: Node): Node; + contains(node: Node): boolean; + ATTRIBUTE_NODE: number; + CDATA_SECTION_NODE: number; + COMMENT_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + DOCUMENT_NODE: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_POSITION_PRECEDING: number; + DOCUMENT_TYPE_NODE: number; + ELEMENT_NODE: number; + ENTITY_NODE: number; + ENTITY_REFERENCE_NODE: number; + NOTATION_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + TEXT_NODE: number; +} + +declare var Node: { + prototype: Node; + new(): Node; + ATTRIBUTE_NODE: number; + CDATA_SECTION_NODE: number; + COMMENT_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + DOCUMENT_NODE: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_POSITION_PRECEDING: number; + DOCUMENT_TYPE_NODE: number; + ELEMENT_NODE: number; + ENTITY_NODE: number; + ENTITY_REFERENCE_NODE: number; + NOTATION_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + TEXT_NODE: number; +} + +interface NodeFilter { + acceptNode(n: Node): number; +} + +declare var NodeFilter: { + FILTER_ACCEPT: number; + FILTER_REJECT: number; + FILTER_SKIP: number; + SHOW_ALL: number; + SHOW_ATTRIBUTE: number; + SHOW_CDATA_SECTION: number; + SHOW_COMMENT: number; + SHOW_DOCUMENT: number; + SHOW_DOCUMENT_FRAGMENT: number; + SHOW_DOCUMENT_TYPE: number; + SHOW_ELEMENT: number; + SHOW_ENTITY: number; + SHOW_ENTITY_REFERENCE: number; + SHOW_NOTATION: number; + SHOW_PROCESSING_INSTRUCTION: number; + SHOW_TEXT: number; +} + +interface NodeIterator { + expandEntityReferences: boolean; + filter: NodeFilter; + root: Node; + whatToShow: number; + detach(): void; + nextNode(): Node; + previousNode(): Node; +} + +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; +} + +interface NodeList { + length: number; + item(index: number): Node; + [index: number]: Node; +} + +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +} + +interface OES_element_index_uint { +} + +declare var OES_element_index_uint: { + prototype: OES_element_index_uint; + new(): OES_element_index_uint; +} + +interface OES_standard_derivatives { + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} + +declare var OES_standard_derivatives: { + prototype: OES_standard_derivatives; + new(): OES_standard_derivatives; + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} + +interface OES_texture_float { +} + +declare var OES_texture_float: { + prototype: OES_texture_float; + new(): OES_texture_float; +} + +interface OES_texture_float_linear { +} + +declare var OES_texture_float_linear: { + prototype: OES_texture_float_linear; + new(): OES_texture_float_linear; +} + +interface OfflineAudioCompletionEvent extends Event { + renderedBuffer: AudioBuffer; +} + +declare var OfflineAudioCompletionEvent: { + prototype: OfflineAudioCompletionEvent; + new(): OfflineAudioCompletionEvent; +} + +interface OfflineAudioContext extends AudioContext { + oncomplete: (ev: Event) => any; + startRendering(): void; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var OfflineAudioContext: { + prototype: OfflineAudioContext; + new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; +} + +interface OscillatorNode extends AudioNode { + detune: AudioParam; + frequency: AudioParam; + onended: (ev: Event) => any; + type: string; + setPeriodicWave(periodicWave: PeriodicWave): void; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var OscillatorNode: { + prototype: OscillatorNode; + new(): OscillatorNode; +} + +interface PageTransitionEvent extends Event { + persisted: boolean; +} + +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(): PageTransitionEvent; +} + +interface PannerNode extends AudioNode { + coneInnerAngle: number; + coneOuterAngle: number; + coneOuterGain: number; + distanceModel: string; + maxDistance: number; + panningModel: string; + refDistance: number; + rolloffFactor: number; + setOrientation(x: number, y: number, z: number): void; + setPosition(x: number, y: number, z: number): void; + setVelocity(x: number, y: number, z: number): void; +} + +declare var PannerNode: { + prototype: PannerNode; + new(): PannerNode; +} + +interface PerfWidgetExternal { + activeNetworkRequestCount: number; + averageFrameTime: number; + averagePaintTime: number; + extraInformationEnabled: boolean; + independentRenderingEnabled: boolean; + irDisablingContentString: string; + irStatusAvailable: boolean; + maxCpuSpeed: number; + paintRequestsPerSecond: number; + performanceCounter: number; + performanceCounterFrequency: number; + addEventListener(eventType: string, callback: Function): void; + getMemoryUsage(): number; + getProcessCpuUsage(): number; + getRecentCpuUsage(last: number): any; + getRecentFrames(last: number): any; + getRecentMemoryUsage(last: number): any; + getRecentPaintRequests(last: number): any; + removeEventListener(eventType: string, callback: Function): void; + repositionWindow(x: number, y: number): void; + resizeWindow(width: number, height: number): void; +} + +declare var PerfWidgetExternal: { + prototype: PerfWidgetExternal; + new(): PerfWidgetExternal; +} + +interface Performance { + navigation: PerformanceNavigation; + timing: PerformanceTiming; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): any; + getEntriesByName(name: string, entryType?: string): any; + getEntriesByType(entryType: string): any; + getMarks(markName?: string): any; + getMeasures(measureName?: string): any; + mark(markName: string): void; + measure(measureName: string, startMarkName?: string, endMarkName?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +} + +interface PerformanceEntry { + duration: number; + entryType: string; + name: string; + startTime: number; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +} + +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +} + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +} + +interface PerformanceNavigation { + redirectCount: number; + type: number; + toJSON(): any; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; + TYPE_RELOAD: number; + TYPE_RESERVED: number; +} + +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; + TYPE_RELOAD: number; + TYPE_RESERVED: number; +} + +interface PerformanceNavigationTiming extends PerformanceEntry { + connectEnd: number; + connectStart: number; + domComplete: number; + domContentLoadedEventEnd: number; + domContentLoadedEventStart: number; + domInteractive: number; + domLoading: number; + domainLookupEnd: number; + domainLookupStart: number; + fetchStart: number; + loadEventEnd: number; + loadEventStart: number; + navigationStart: number; + redirectCount: number; + redirectEnd: number; + redirectStart: number; + requestStart: number; + responseEnd: number; + responseStart: number; + type: string; + unloadEventEnd: number; + unloadEventStart: number; +} + +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +} + +interface PerformanceResourceTiming extends PerformanceEntry { + connectEnd: number; + connectStart: number; + domainLookupEnd: number; + domainLookupStart: number; + fetchStart: number; + initiatorType: string; + redirectEnd: number; + redirectStart: number; + requestStart: number; + responseEnd: number; + responseStart: number; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +} + +interface PerformanceTiming { + connectEnd: number; + connectStart: number; + domComplete: number; + domContentLoadedEventEnd: number; + domContentLoadedEventStart: number; + domInteractive: number; + domLoading: number; + domainLookupEnd: number; + domainLookupStart: number; + fetchStart: number; + loadEventEnd: number; + loadEventStart: number; + msFirstPaint: number; + navigationStart: number; + redirectEnd: number; + redirectStart: number; + requestStart: number; + responseEnd: number; + responseStart: number; + unloadEventEnd: number; + unloadEventStart: number; + toJSON(): any; +} + +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +} + +interface PeriodicWave { +} + +declare var PeriodicWave: { + prototype: PeriodicWave; + new(): PeriodicWave; +} + +interface PermissionRequest extends DeferredPermissionRequest { + state: string; + defer(): void; +} + +declare var PermissionRequest: { + prototype: PermissionRequest; + new(): PermissionRequest; +} + +interface PermissionRequestedEvent extends Event { + permissionRequest: PermissionRequest; +} + +declare var PermissionRequestedEvent: { + prototype: PermissionRequestedEvent; + new(): PermissionRequestedEvent; +} + +interface Plugin { + description: string; + filename: string; + length: number; + name: string; + version: string; + item(index: number): MimeType; + namedItem(type: string): MimeType; + [index: number]: MimeType; +} + +declare var Plugin: { + prototype: Plugin; + new(): Plugin; +} + +interface PluginArray { + length: number; + item(index: number): Plugin; + namedItem(name: string): Plugin; + refresh(reload?: boolean): void; + [index: number]: Plugin; +} + +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; +} + +interface PointerEvent extends MouseEvent { + currentPoint: any; + height: number; + hwTimestamp: number; + intermediatePoints: any; + isPrimary: boolean; + pointerId: number; + pointerType: any; + pressure: number; + rotation: number; + tiltX: number; + tiltY: number; + width: number; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; +} + +declare var PointerEvent: { + prototype: PointerEvent; + new(typeArg: string, eventInitDict?: PointerEventInit): PointerEvent; +} + +interface PopStateEvent extends Event { + state: any; + initPopStateEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, stateArg: any): void; +} + +declare var PopStateEvent: { + prototype: PopStateEvent; + new(): PopStateEvent; +} + +interface Position { + coords: Coordinates; + timestamp: number; +} + +declare var Position: { + prototype: Position; + new(): Position; +} + +interface PositionError { + code: number; + message: string; + toString(): string; + PERMISSION_DENIED: number; + POSITION_UNAVAILABLE: number; + TIMEOUT: number; +} + +declare var PositionError: { + prototype: PositionError; + new(): PositionError; + PERMISSION_DENIED: number; + POSITION_UNAVAILABLE: number; + TIMEOUT: number; +} + +interface ProcessingInstruction extends CharacterData { + target: string; +} + +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; +} + +interface ProgressEvent extends Event { + lengthComputable: boolean; + loaded: number; + total: number; + initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +} + +interface Range { + collapsed: boolean; + commonAncestorContainer: Node; + endContainer: Node; + endOffset: number; + startContainer: Node; + startOffset: number; + cloneContents(): DocumentFragment; + cloneRange(): Range; + collapse(toStart: boolean): void; + compareBoundaryPoints(how: number, sourceRange: Range): number; + createContextualFragment(fragment: string): DocumentFragment; + deleteContents(): void; + detach(): void; + expand(Unit: string): boolean; + extractContents(): DocumentFragment; + getBoundingClientRect(): ClientRect; + getClientRects(): ClientRectList; + insertNode(newNode: Node): void; + selectNode(refNode: Node): void; + selectNodeContents(refNode: Node): void; + setEnd(refNode: Node, offset: number): void; + setEndAfter(refNode: Node): void; + setEndBefore(refNode: Node): void; + setStart(refNode: Node, offset: number): void; + setStartAfter(refNode: Node): void; + setStartBefore(refNode: Node): void; + surroundContents(newParent: Node): void; + toString(): string; + END_TO_END: number; + END_TO_START: number; + START_TO_END: number; + START_TO_START: number; +} + +declare var Range: { + prototype: Range; + new(): Range; + END_TO_END: number; + END_TO_START: number; + START_TO_END: number; + START_TO_START: number; +} + +interface SVGAElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGURIReference { + target: SVGAnimatedString; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; +} + +interface SVGAngle { + unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; +} + +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; +} + +interface SVGAnimatedAngle { + animVal: SVGAngle; + baseVal: SVGAngle; +} + +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; +} + +interface SVGAnimatedBoolean { + animVal: boolean; + baseVal: boolean; +} + +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; +} + +interface SVGAnimatedEnumeration { + animVal: number; + baseVal: number; +} + +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; +} + +interface SVGAnimatedInteger { + animVal: number; + baseVal: number; +} + +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +} + +interface SVGAnimatedLength { + animVal: SVGLength; + baseVal: SVGLength; +} + +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +} + +interface SVGAnimatedLengthList { + animVal: SVGLengthList; + baseVal: SVGLengthList; +} + +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; +} + +interface SVGAnimatedNumber { + animVal: number; + baseVal: number; +} + +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; +} + +interface SVGAnimatedNumberList { + animVal: SVGNumberList; + baseVal: SVGNumberList; +} + +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; +} + +interface SVGAnimatedPreserveAspectRatio { + animVal: SVGPreserveAspectRatio; + baseVal: SVGPreserveAspectRatio; +} + +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; +} + +interface SVGAnimatedRect { + animVal: SVGRect; + baseVal: SVGRect; +} + +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +} + +interface SVGAnimatedString { + animVal: string; + baseVal: string; +} + +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; +} + +interface SVGAnimatedTransformList { + animVal: SVGTransformList; + baseVal: SVGTransformList; +} + +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; +} + +interface SVGCircleElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + cx: SVGAnimatedLength; + cy: SVGAnimatedLength; + r: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; +} + +interface SVGClipPathElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGUnitTypes { + clipPathUnits: SVGAnimatedEnumeration; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; +} + +interface SVGComponentTransferFunctionElement extends SVGElement { + amplitude: SVGAnimatedNumber; + exponent: SVGAnimatedNumber; + intercept: SVGAnimatedNumber; + offset: SVGAnimatedNumber; + slope: SVGAnimatedNumber; + tableValues: SVGAnimatedNumberList; + type: SVGAnimatedEnumeration; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; +} + +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; +} + +interface SVGDefsElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +} + +interface SVGDescElement extends SVGElement, SVGStylable, SVGLangSpace { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; +} + +interface SVGElement extends Element { + id: string; + onclick: (ev: MouseEvent) => any; + ondblclick: (ev: MouseEvent) => any; + onfocusin: (ev: FocusEvent) => any; + onfocusout: (ev: FocusEvent) => any; + onload: (ev: Event) => any; + onmousedown: (ev: MouseEvent) => any; + onmousemove: (ev: MouseEvent) => any; + onmouseout: (ev: MouseEvent) => any; + onmouseover: (ev: MouseEvent) => any; + onmouseup: (ev: MouseEvent) => any; + ownerSVGElement: SVGSVGElement; + viewportElement: SVGElement; + xmlbase: string; + className: any; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; +} + +interface SVGElementInstance extends EventTarget { + childNodes: SVGElementInstanceList; + correspondingElement: SVGElement; + correspondingUseElement: SVGUseElement; + firstChild: SVGElementInstance; + lastChild: SVGElementInstance; + nextSibling: SVGElementInstance; + parentNode: SVGElementInstance; + previousSibling: SVGElementInstance; +} + +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; +} + +interface SVGElementInstanceList { + length: number; + item(index: number): SVGElementInstance; +} + +declare var SVGElementInstanceList: { + prototype: SVGElementInstanceList; + new(): SVGElementInstanceList; +} + +interface SVGEllipseElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + cx: SVGAnimatedLength; + cy: SVGAnimatedLength; + rx: SVGAnimatedLength; + ry: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; +} + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + in2: SVGAnimatedString; + mode: SVGAnimatedEnumeration; + SVG_FEBLEND_MODE_COLOR: number; + SVG_FEBLEND_MODE_COLOR_BURN: number; + SVG_FEBLEND_MODE_COLOR_DODGE: number; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_DIFFERENCE: number; + SVG_FEBLEND_MODE_EXCLUSION: number; + SVG_FEBLEND_MODE_HARD_LIGHT: number; + SVG_FEBLEND_MODE_HUE: number; + SVG_FEBLEND_MODE_LIGHTEN: number; + SVG_FEBLEND_MODE_LUMINOSITY: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_OVERLAY: number; + SVG_FEBLEND_MODE_SATURATION: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_SOFT_LIGHT: number; + SVG_FEBLEND_MODE_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + SVG_FEBLEND_MODE_COLOR: number; + SVG_FEBLEND_MODE_COLOR_BURN: number; + SVG_FEBLEND_MODE_COLOR_DODGE: number; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_DIFFERENCE: number; + SVG_FEBLEND_MODE_EXCLUSION: number; + SVG_FEBLEND_MODE_HARD_LIGHT: number; + SVG_FEBLEND_MODE_HUE: number; + SVG_FEBLEND_MODE_LIGHTEN: number; + SVG_FEBLEND_MODE_LUMINOSITY: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_OVERLAY: number; + SVG_FEBLEND_MODE_SATURATION: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_SOFT_LIGHT: number; + SVG_FEBLEND_MODE_UNKNOWN: number; +} + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + type: SVGAnimatedEnumeration; + values: SVGAnimatedNumberList; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; +} + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +} + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + in2: SVGAnimatedString; + k1: SVGAnimatedNumber; + k2: SVGAnimatedNumber; + k3: SVGAnimatedNumber; + k4: SVGAnimatedNumber; + operator: SVGAnimatedEnumeration; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; +} + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + bias: SVGAnimatedNumber; + divisor: SVGAnimatedNumber; + edgeMode: SVGAnimatedEnumeration; + in1: SVGAnimatedString; + kernelMatrix: SVGAnimatedNumberList; + kernelUnitLengthX: SVGAnimatedNumber; + kernelUnitLengthY: SVGAnimatedNumber; + orderX: SVGAnimatedInteger; + orderY: SVGAnimatedInteger; + preserveAlpha: SVGAnimatedBoolean; + targetX: SVGAnimatedInteger; + targetY: SVGAnimatedInteger; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_NONE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_WRAP: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_NONE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_WRAP: number; +} + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + diffuseConstant: SVGAnimatedNumber; + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + kernelUnitLengthY: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +} + +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + in2: SVGAnimatedString; + scale: SVGAnimatedNumber; + xChannelSelector: SVGAnimatedEnumeration; + yChannelSelector: SVGAnimatedEnumeration; + SVG_CHANNEL_A: number; + SVG_CHANNEL_B: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + SVG_CHANNEL_A: number; + SVG_CHANNEL_B: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_UNKNOWN: number; +} + +interface SVGFEDistantLightElement extends SVGElement { + azimuth: SVGAnimatedNumber; + elevation: SVGAnimatedNumber; +} + +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +} + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +} + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { +} + +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +} + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { +} + +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +} + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { +} + +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +} + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { +} + +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +} + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + stdDeviationX: SVGAnimatedNumber; + stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; +} + +interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGLangSpace, SVGURIReference, SVGExternalResourcesRequired { + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +} + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +} + +interface SVGFEMergeNodeElement extends SVGElement { + in1: SVGAnimatedString; +} + +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +} + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + operator: SVGAnimatedEnumeration; + radiusX: SVGAnimatedNumber; + radiusY: SVGAnimatedNumber; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; +} + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + dx: SVGAnimatedNumber; + dy: SVGAnimatedNumber; + in1: SVGAnimatedString; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +} + +interface SVGFEPointLightElement extends SVGElement { + x: SVGAnimatedNumber; + y: SVGAnimatedNumber; + z: SVGAnimatedNumber; +} + +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +} + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + kernelUnitLengthY: SVGAnimatedNumber; + specularConstant: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; +} + +interface SVGFESpotLightElement extends SVGElement { + limitingConeAngle: SVGAnimatedNumber; + pointsAtX: SVGAnimatedNumber; + pointsAtY: SVGAnimatedNumber; + pointsAtZ: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + x: SVGAnimatedNumber; + y: SVGAnimatedNumber; + z: SVGAnimatedNumber; +} + +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; +} + +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; +} + +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + baseFrequencyX: SVGAnimatedNumber; + baseFrequencyY: SVGAnimatedNumber; + numOctaves: SVGAnimatedInteger; + seed: SVGAnimatedNumber; + stitchTiles: SVGAnimatedEnumeration; + type: SVGAnimatedEnumeration; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_STITCHTYPE_STITCH: number; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_STITCHTYPE_STITCH: number; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; +} + +interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGURIReference, SVGExternalResourcesRequired { + filterResX: SVGAnimatedInteger; + filterResY: SVGAnimatedInteger; + filterUnits: SVGAnimatedEnumeration; + height: SVGAnimatedLength; + primitiveUnits: SVGAnimatedEnumeration; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + setFilterRes(filterResX: number, filterResY: number): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +} + +interface SVGForeignObjectElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + height: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGForeignObjectElement: { + prototype: SVGForeignObjectElement; + new(): SVGForeignObjectElement; +} + +interface SVGGElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; +} + +interface SVGGradientElement extends SVGElement, SVGStylable, SVGExternalResourcesRequired, SVGURIReference, SVGUnitTypes { + gradientTransform: SVGAnimatedTransformList; + gradientUnits: SVGAnimatedEnumeration; + spreadMethod: SVGAnimatedEnumeration; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_REPEAT: number; + SVG_SPREADMETHOD_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_REPEAT: number; + SVG_SPREADMETHOD_UNKNOWN: number; +} + +interface SVGImageElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGURIReference { + height: SVGAnimatedLength; + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; +} + +interface SVGLength { + unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_EXS: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; +} + +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_EXS: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; +} + +interface SVGLengthList { + numberOfItems: number; + appendItem(newItem: SVGLength): SVGLength; + clear(): void; + getItem(index: number): SVGLength; + initialize(newItem: SVGLength): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; + removeItem(index: number): SVGLength; + replaceItem(newItem: SVGLength, index: number): SVGLength; +} + +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; +} + +interface SVGLineElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + x1: SVGAnimatedLength; + x2: SVGAnimatedLength; + y1: SVGAnimatedLength; + y2: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; +} + +interface SVGLinearGradientElement extends SVGGradientElement { + x1: SVGAnimatedLength; + x2: SVGAnimatedLength; + y1: SVGAnimatedLength; + y2: SVGAnimatedLength; +} + +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; +} + +interface SVGMarkerElement extends SVGElement, SVGStylable, SVGLangSpace, SVGExternalResourcesRequired, SVGFitToViewBox { + markerHeight: SVGAnimatedLength; + markerUnits: SVGAnimatedEnumeration; + markerWidth: SVGAnimatedLength; + orientAngle: SVGAnimatedAngle; + orientType: SVGAnimatedEnumeration; + refX: SVGAnimatedLength; + refY: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKER_ORIENT_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKER_ORIENT_UNKNOWN: number; +} + +interface SVGMaskElement extends SVGElement, SVGStylable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGUnitTypes { + height: SVGAnimatedLength; + maskContentUnits: SVGAnimatedEnumeration; + maskUnits: SVGAnimatedEnumeration; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +} + +interface SVGMatrix { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + flipX(): SVGMatrix; + flipY(): SVGMatrix; + inverse(): SVGMatrix; + multiply(secondMatrix: SVGMatrix): SVGMatrix; + rotate(angle: number): SVGMatrix; + rotateFromVector(x: number, y: number): SVGMatrix; + scale(scaleFactor: number): SVGMatrix; + scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix; + skewX(angle: number): SVGMatrix; + skewY(angle: number): SVGMatrix; + translate(x: number, y: number): SVGMatrix; +} + +declare var SVGMatrix: { + prototype: SVGMatrix; + new(): SVGMatrix; +} + +interface SVGMetadataElement extends SVGElement { +} + +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; +} + +interface SVGNumber { + value: number; +} + +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; +} + +interface SVGNumberList { + numberOfItems: number; + appendItem(newItem: SVGNumber): SVGNumber; + clear(): void; + getItem(index: number): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; + removeItem(index: number): SVGNumber; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; +} + +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; +} + +interface SVGPathElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGAnimatedPathData { + createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; + createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; + createSVGPathSegClosePath(): SVGPathSegClosePath; + createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; + createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; + createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; + createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; + createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; + createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; + createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; + createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; + createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; + createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; + createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; + createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; + createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; + createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; + createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; + createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; + getPathSegAtLength(distance: number): number; + getPointAtLength(distance: number): SVGPoint; + getTotalLength(): number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; +} + +interface SVGPathSeg { + pathSegType: number; + pathSegTypeAsLetter: string; + PATHSEG_ARC_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_MOVETO_REL: number; + PATHSEG_UNKNOWN: number; +} + +declare var SVGPathSeg: { + prototype: SVGPathSeg; + new(): SVGPathSeg; + PATHSEG_ARC_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_MOVETO_REL: number; + PATHSEG_UNKNOWN: number; +} + +interface SVGPathSegArcAbs extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcAbs: { + prototype: SVGPathSegArcAbs; + new(): SVGPathSegArcAbs; +} + +interface SVGPathSegArcRel extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcRel: { + prototype: SVGPathSegArcRel; + new(): SVGPathSegArcRel; +} + +interface SVGPathSegClosePath extends SVGPathSeg { +} + +declare var SVGPathSegClosePath: { + prototype: SVGPathSegClosePath; + new(): SVGPathSegClosePath; +} + +interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicAbs: { + prototype: SVGPathSegCurvetoCubicAbs; + new(): SVGPathSegCurvetoCubicAbs; +} + +interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicRel: { + prototype: SVGPathSegCurvetoCubicRel; + new(): SVGPathSegCurvetoCubicRel; +} + +interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothAbs: { + prototype: SVGPathSegCurvetoCubicSmoothAbs; + new(): SVGPathSegCurvetoCubicSmoothAbs; +} + +interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothRel: { + prototype: SVGPathSegCurvetoCubicSmoothRel; + new(): SVGPathSegCurvetoCubicSmoothRel; +} + +interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticAbs: { + prototype: SVGPathSegCurvetoQuadraticAbs; + new(): SVGPathSegCurvetoQuadraticAbs; +} + +interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticRel: { + prototype: SVGPathSegCurvetoQuadraticRel; + new(): SVGPathSegCurvetoQuadraticRel; +} + +interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothAbs: { + prototype: SVGPathSegCurvetoQuadraticSmoothAbs; + new(): SVGPathSegCurvetoQuadraticSmoothAbs; +} + +interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothRel: { + prototype: SVGPathSegCurvetoQuadraticSmoothRel; + new(): SVGPathSegCurvetoQuadraticSmoothRel; +} + +interface SVGPathSegLinetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoAbs: { + prototype: SVGPathSegLinetoAbs; + new(): SVGPathSegLinetoAbs; +} + +interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalAbs: { + prototype: SVGPathSegLinetoHorizontalAbs; + new(): SVGPathSegLinetoHorizontalAbs; +} + +interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalRel: { + prototype: SVGPathSegLinetoHorizontalRel; + new(): SVGPathSegLinetoHorizontalRel; +} + +interface SVGPathSegLinetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoRel: { + prototype: SVGPathSegLinetoRel; + new(): SVGPathSegLinetoRel; +} + +interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalAbs: { + prototype: SVGPathSegLinetoVerticalAbs; + new(): SVGPathSegLinetoVerticalAbs; +} + +interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalRel: { + prototype: SVGPathSegLinetoVerticalRel; + new(): SVGPathSegLinetoVerticalRel; +} + +interface SVGPathSegList { + numberOfItems: number; + appendItem(newItem: SVGPathSeg): SVGPathSeg; + clear(): void; + getItem(index: number): SVGPathSeg; + initialize(newItem: SVGPathSeg): SVGPathSeg; + insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; + removeItem(index: number): SVGPathSeg; + replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; +} + +declare var SVGPathSegList: { + prototype: SVGPathSegList; + new(): SVGPathSegList; +} + +interface SVGPathSegMovetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoAbs: { + prototype: SVGPathSegMovetoAbs; + new(): SVGPathSegMovetoAbs; +} + +interface SVGPathSegMovetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoRel: { + prototype: SVGPathSegMovetoRel; + new(): SVGPathSegMovetoRel; +} + +interface SVGPatternElement extends SVGElement, SVGStylable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGFitToViewBox, SVGURIReference, SVGUnitTypes { + height: SVGAnimatedLength; + patternContentUnits: SVGAnimatedEnumeration; + patternTransform: SVGAnimatedTransformList; + patternUnits: SVGAnimatedEnumeration; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; +} + +interface SVGPoint { + x: number; + y: number; + matrixTransform(matrix: SVGMatrix): SVGPoint; +} + +declare var SVGPoint: { + prototype: SVGPoint; + new(): SVGPoint; +} + +interface SVGPointList { + numberOfItems: number; + appendItem(newItem: SVGPoint): SVGPoint; + clear(): void; + getItem(index: number): SVGPoint; + initialize(newItem: SVGPoint): SVGPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; + removeItem(index: number): SVGPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; +} + +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; +} + +interface SVGPolygonElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGAnimatedPoints { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; +} + +interface SVGPolylineElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGAnimatedPoints { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; +} + +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + SVG_MEETORSLICE_MEET: number; + SVG_MEETORSLICE_SLICE: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +} + +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + SVG_MEETORSLICE_MEET: number; + SVG_MEETORSLICE_SLICE: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +} + +interface SVGRadialGradientElement extends SVGGradientElement { + cx: SVGAnimatedLength; + cy: SVGAnimatedLength; + fx: SVGAnimatedLength; + fy: SVGAnimatedLength; + r: SVGAnimatedLength; +} + +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; +} + +interface SVGRect { + height: number; + width: number; + x: number; + y: number; +} + +declare var SVGRect: { + prototype: SVGRect; + new(): SVGRect; +} + +interface SVGRectElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + height: SVGAnimatedLength; + rx: SVGAnimatedLength; + ry: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; +} + +interface SVGSVGElement extends SVGElement, DocumentEvent, SVGLocatable, SVGTests, SVGStylable, SVGLangSpace, SVGExternalResourcesRequired, SVGFitToViewBox, SVGZoomAndPan { + contentScriptType: string; + contentStyleType: string; + currentScale: number; + currentTranslate: SVGPoint; + height: SVGAnimatedLength; + onabort: (ev: Event) => any; + onerror: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + onscroll: (ev: UIEvent) => any; + onunload: (ev: Event) => any; + onzoom: (ev: SVGZoomEvent) => any; + pixelUnitToMillimeterX: number; + pixelUnitToMillimeterY: number; + screenPixelToMillimeterX: number; + screenPixelToMillimeterY: number; + viewport: SVGRect; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; + createSVGAngle(): SVGAngle; + createSVGLength(): SVGLength; + createSVGMatrix(): SVGMatrix; + createSVGNumber(): SVGNumber; + createSVGPoint(): SVGPoint; + createSVGRect(): SVGRect; + createSVGTransform(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + deselectAll(): void; + forceRedraw(): void; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + getCurrentTime(): number; + getElementById(elementId: string): Element; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeList; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeList; + pauseAnimations(): void; + setCurrentTime(seconds: number): void; + suspendRedraw(maxWaitMilliseconds: number): number; + unpauseAnimations(): void; + unsuspendRedraw(suspendHandleID: number): void; + unsuspendRedrawAll(): void; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "SVGAbort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "SVGError", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "SVGUnload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "SVGZoom", listener: (ev: SVGZoomEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ariarequest", listener: (ev: AriaRequestEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "command", listener: (ev: CommandEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchcancel", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchend", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchmove", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "touchstart", listener: (ev: TouchEvent) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "webkitfullscreenerror", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; +} + +interface SVGScriptElement extends SVGElement, SVGExternalResourcesRequired, SVGURIReference { + type: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; +} + +interface SVGStopElement extends SVGElement, SVGStylable { + offset: SVGAnimatedNumber; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; +} + +interface SVGStringList { + numberOfItems: number; + appendItem(newItem: string): string; + clear(): void; + getItem(index: number): string; + initialize(newItem: string): string; + insertItemBefore(newItem: string, index: number): string; + removeItem(index: number): string; + replaceItem(newItem: string, index: number): string; +} + +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; +} + +interface SVGStyleElement extends SVGElement, SVGLangSpace { + media: string; + title: string; + type: string; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; +} + +interface SVGSwitchElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; +} + +interface SVGSymbolElement extends SVGElement, SVGStylable, SVGLangSpace, SVGExternalResourcesRequired, SVGFitToViewBox { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; +} + +interface SVGTSpanElement extends SVGTextPositioningElement { +} + +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; +} + +interface SVGTextContentElement extends SVGElement, SVGStylable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired { + lengthAdjust: SVGAnimatedEnumeration; + textLength: SVGAnimatedLength; + getCharNumAtPosition(point: SVGPoint): number; + getComputedTextLength(): number; + getEndPositionOfChar(charnum: number): SVGPoint; + getExtentOfChar(charnum: number): SVGRect; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getStartPositionOfChar(charnum: number): SVGPoint; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; +} + +interface SVGTextElement extends SVGTextPositioningElement, SVGTransformable { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; +} + +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + method: SVGAnimatedEnumeration; + spacing: SVGAnimatedEnumeration; + startOffset: SVGAnimatedLength; + TEXTPATH_METHODTYPE_ALIGN: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + TEXTPATH_METHODTYPE_ALIGN: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; +} + +interface SVGTextPositioningElement extends SVGTextContentElement { + dx: SVGAnimatedLengthList; + dy: SVGAnimatedLengthList; + rotate: SVGAnimatedNumberList; + x: SVGAnimatedLengthList; + y: SVGAnimatedLengthList; +} + +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; +} + +interface SVGTitleElement extends SVGElement, SVGStylable, SVGLangSpace { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; +} + +interface SVGTransform { + angle: number; + matrix: SVGMatrix; + type: number; + setMatrix(matrix: SVGMatrix): void; + setRotate(angle: number, cx: number, cy: number): void; + setScale(sx: number, sy: number): void; + setSkewX(angle: number): void; + setSkewY(angle: number): void; + setTranslate(tx: number, ty: number): void; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_SKEWY: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_UNKNOWN: number; +} + +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_SKEWY: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_UNKNOWN: number; +} + +interface SVGTransformList { + numberOfItems: number; + appendItem(newItem: SVGTransform): SVGTransform; + clear(): void; + consolidate(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + getItem(index: number): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + removeItem(index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; +} + +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +} + +interface SVGUnitTypes { + SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + SVG_UNIT_TYPE_UNKNOWN: number; + SVG_UNIT_TYPE_USERSPACEONUSE: number; +} +declare var SVGUnitTypes: SVGUnitTypes; + +interface SVGUseElement extends SVGElement, SVGStylable, SVGTransformable, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGURIReference { + animatedInstanceRoot: SVGElementInstance; + height: SVGAnimatedLength; + instanceRoot: SVGElementInstance; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; +} + +interface SVGViewElement extends SVGElement, SVGExternalResourcesRequired, SVGFitToViewBox, SVGZoomAndPan { + viewTarget: SVGStringList; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; +} + +interface SVGZoomAndPan { + SVG_ZOOMANDPAN_DISABLE: number; + SVG_ZOOMANDPAN_MAGNIFY: number; + SVG_ZOOMANDPAN_UNKNOWN: number; +} +declare var SVGZoomAndPan: SVGZoomAndPan; + +interface SVGZoomEvent extends UIEvent { + newScale: number; + newTranslate: SVGPoint; + previousScale: number; + previousTranslate: SVGPoint; + zoomRectScreen: SVGRect; +} + +declare var SVGZoomEvent: { + prototype: SVGZoomEvent; + new(): SVGZoomEvent; +} + +interface Screen extends EventTarget { + availHeight: number; + availWidth: number; + bufferDepth: number; + colorDepth: number; + deviceXDPI: number; + deviceYDPI: number; + fontSmoothingEnabled: boolean; + height: number; + logicalXDPI: number; + logicalYDPI: number; + msOrientation: string; + onmsorientationchange: (ev: Event) => any; + pixelDepth: number; + systemXDPI: number; + systemYDPI: number; + width: number; + msLockOrientation(orientations: string | string[]): boolean; + msUnlockOrientation(): void; + addEventListener(type: "MSOrientationChange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Screen: { + prototype: Screen; + new(): Screen; +} + +interface ScriptNotifyEvent extends Event { + callingUri: string; + value: string; +} + +declare var ScriptNotifyEvent: { + prototype: ScriptNotifyEvent; + new(): ScriptNotifyEvent; +} + +interface ScriptProcessorNode extends AudioNode { + bufferSize: number; + onaudioprocess: (ev: AudioProcessingEvent) => any; + addEventListener(type: "audioprocess", listener: (ev: AudioProcessingEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ScriptProcessorNode: { + prototype: ScriptProcessorNode; + new(): ScriptProcessorNode; +} + +interface Selection { + anchorNode: Node; + anchorOffset: number; + focusNode: Node; + focusOffset: number; + isCollapsed: boolean; + rangeCount: number; + type: string; + addRange(range: Range): void; + collapse(parentNode: Node, offset: number): void; + collapseToEnd(): void; + collapseToStart(): void; + containsNode(node: Node, partlyContained: boolean): boolean; + deleteFromDocument(): void; + empty(): void; + extend(newNode: Node, offset: number): void; + getRangeAt(index: number): Range; + removeAllRanges(): void; + removeRange(range: Range): void; + selectAllChildren(parentNode: Node): void; + setBaseAndExtent(baseNode: Node, baseOffset: number, extentNode: Node, extentOffset: number): void; + toString(): string; +} + +declare var Selection: { + prototype: Selection; + new(): Selection; +} + +interface SourceBuffer extends EventTarget { + appendWindowEnd: number; + appendWindowStart: number; + audioTracks: AudioTrackList; + buffered: TimeRanges; + mode: string; + timestampOffset: number; + updating: boolean; + videoTracks: VideoTrackList; + abort(): void; + appendBuffer(data: ArrayBuffer | ArrayBufferView): void; + appendStream(stream: MSStream, maxSize?: number): void; + remove(start: number, end: number): void; +} + +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; +} + +interface SourceBufferList extends EventTarget { + length: number; + item(index: number): SourceBuffer; + [index: number]: SourceBuffer; +} + +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; +} + +interface StereoPannerNode extends AudioNode { + pan: AudioParam; +} + +declare var StereoPannerNode: { + prototype: StereoPannerNode; + new(): StereoPannerNode; +} + +interface Storage { + length: number; + clear(): void; + getItem(key: string): any; + key(index: number): string; + removeItem(key: string): void; + setItem(key: string, data: string): void; + [key: string]: any; + [index: number]: string; +} + +declare var Storage: { + prototype: Storage; + new(): Storage; +} + +interface StorageEvent extends Event { + url: string; + key?: string; + oldValue?: string; + newValue?: string; + storageArea?: Storage; +} + +declare var StorageEvent: { + prototype: StorageEvent; + new (type: string, eventInitDict?: StorageEventInit): StorageEvent; +} + +interface StyleMedia { + type: string; + matchMedium(mediaquery: string): boolean; +} + +declare var StyleMedia: { + prototype: StyleMedia; + new(): StyleMedia; +} + +interface StyleSheet { + disabled: boolean; + href: string; + media: MediaList; + ownerNode: Node; + parentStyleSheet: StyleSheet; + title: string; + type: string; +} + +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +} + +interface StyleSheetList { + length: number; + item(index?: number): StyleSheet; + [index: number]: StyleSheet; +} + +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; +} + +interface StyleSheetPageList { + length: number; + item(index: number): CSSPageRule; + [index: number]: CSSPageRule; +} + +declare var StyleSheetPageList: { + prototype: StyleSheetPageList; + new(): StyleSheetPageList; +} + +interface SubtleCrypto { + decrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; + deriveBits(algorithm: string | Algorithm, baseKey: CryptoKey, length: number): any; + deriveKey(algorithm: string | Algorithm, baseKey: CryptoKey, derivedKeyType: string | Algorithm, extractable: boolean, keyUsages: string[]): any; + digest(algorithm: string | Algorithm, data: ArrayBufferView): any; + encrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; + exportKey(format: string, key: CryptoKey): any; + generateKey(algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; + importKey(format: string, keyData: ArrayBufferView, algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; + sign(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any; + unwrapKey(format: string, wrappedKey: ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any; + verify(algorithm: string | Algorithm, key: CryptoKey, signature: ArrayBufferView, data: ArrayBufferView): any; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): any; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +} + +interface Text extends CharacterData { + wholeText: string; + replaceWholeText(content: string): Text; + splitText(offset: number): Text; +} + +declare var Text: { + prototype: Text; + new(): Text; +} + +interface TextEvent extends UIEvent { + data: string; + inputMethod: number; + locale: string; + initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_MULTIMODAL: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_VOICE: number; +} + +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_MULTIMODAL: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_VOICE: number; +} + +interface TextMetrics { + width: number; +} + +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +} + +interface TextRange { + boundingHeight: number; + boundingLeft: number; + boundingTop: number; + boundingWidth: number; + htmlText: string; + offsetLeft: number; + offsetTop: number; + text: string; + collapse(start?: boolean): void; + compareEndPoints(how: string, sourceRange: TextRange): number; + duplicate(): TextRange; + execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; + execCommandShowHelp(cmdID: string): boolean; + expand(Unit: string): boolean; + findText(string: string, count?: number, flags?: number): boolean; + getBookmark(): string; + getBoundingClientRect(): ClientRect; + getClientRects(): ClientRectList; + inRange(range: TextRange): boolean; + isEqual(range: TextRange): boolean; + move(unit: string, count?: number): number; + moveEnd(unit: string, count?: number): number; + moveStart(unit: string, count?: number): number; + moveToBookmark(bookmark: string): boolean; + moveToElementText(element: Element): void; + moveToPoint(x: number, y: number): void; + parentElement(): Element; + pasteHTML(html: string): void; + queryCommandEnabled(cmdID: string): boolean; + queryCommandIndeterm(cmdID: string): boolean; + queryCommandState(cmdID: string): boolean; + queryCommandSupported(cmdID: string): boolean; + queryCommandText(cmdID: string): string; + queryCommandValue(cmdID: string): any; + scrollIntoView(fStart?: boolean): void; + select(): void; + setEndPoint(how: string, SourceRange: TextRange): void; +} + +declare var TextRange: { + prototype: TextRange; + new(): TextRange; +} + +interface TextRangeCollection { + length: number; + item(index: number): TextRange; + [index: number]: TextRange; +} + +declare var TextRangeCollection: { + prototype: TextRangeCollection; + new(): TextRangeCollection; +} + +interface TextTrack extends EventTarget { + activeCues: TextTrackCueList; + cues: TextTrackCueList; + inBandMetadataTrackDispatchType: string; + kind: string; + label: string; + language: string; + mode: any; + oncuechange: (ev: Event) => any; + onerror: (ev: Event) => any; + onload: (ev: Event) => any; + readyState: number; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + DISABLED: number; + ERROR: number; + HIDDEN: number; + LOADED: number; + LOADING: number; + NONE: number; + SHOWING: number; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; + DISABLED: number; + ERROR: number; + HIDDEN: number; + LOADED: number; + LOADING: number; + NONE: number; + SHOWING: number; +} + +interface TextTrackCue extends EventTarget { + endTime: number; + id: string; + onenter: (ev: Event) => any; + onexit: (ev: Event) => any; + pauseOnExit: boolean; + startTime: number; + text: string; + track: TextTrack; + getCueAsHTML(): DocumentFragment; + addEventListener(type: "enter", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "exit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var TextTrackCue: { + prototype: TextTrackCue; + new(startTime: number, endTime: number, text: string): TextTrackCue; +} + +interface TextTrackCueList { + length: number; + getCueById(id: string): TextTrackCue; + item(index: number): TextTrackCue; + [index: number]: TextTrackCue; +} + +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +} + +interface TextTrackList extends EventTarget { + length: number; + onaddtrack: (ev: TrackEvent) => any; + item(index: number): TextTrack; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: TextTrack; +} + +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; +} + +interface TimeRanges { + length: number; + end(index: number): number; + start(index: number): number; +} + +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +} + +interface Touch { + clientX: number; + clientY: number; + identifier: number; + pageX: number; + pageY: number; + screenX: number; + screenY: number; + target: EventTarget; +} + +declare var Touch: { + prototype: Touch; + new(): Touch; +} + +interface TouchEvent extends UIEvent { + altKey: boolean; + changedTouches: TouchList; + ctrlKey: boolean; + metaKey: boolean; + shiftKey: boolean; + targetTouches: TouchList; + touches: TouchList; +} + +declare var TouchEvent: { + prototype: TouchEvent; + new(): TouchEvent; +} + +interface TouchList { + length: number; + item(index: number): Touch; + [index: number]: Touch; +} + +declare var TouchList: { + prototype: TouchList; + new(): TouchList; +} + +interface TrackEvent extends Event { + track: any; +} + +declare var TrackEvent: { + prototype: TrackEvent; + new(): TrackEvent; +} + +interface TransitionEvent extends Event { + elapsedTime: number; + propertyName: string; + initTransitionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, propertyNameArg: string, elapsedTimeArg: number): void; +} + +declare var TransitionEvent: { + prototype: TransitionEvent; + new(): TransitionEvent; +} + +interface TreeWalker { + currentNode: Node; + expandEntityReferences: boolean; + filter: NodeFilter; + root: Node; + whatToShow: number; + firstChild(): Node; + lastChild(): Node; + nextNode(): Node; + nextSibling(): Node; + parentNode(): Node; + previousNode(): Node; + previousSibling(): Node; +} + +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; +} + +interface UIEvent extends Event { + detail: number; + view: Window; + initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +} + +declare var UIEvent: { + prototype: UIEvent; + new(type: string, eventInitDict?: UIEventInit): UIEvent; +} + +interface URL { + createObjectURL(object: any, options?: ObjectURLOptions): string; + revokeObjectURL(url: string): void; +} +declare var URL: URL; + +interface UnviewableContentIdentifiedEvent extends NavigationEventWithReferrer { + mediaType: string; +} + +declare var UnviewableContentIdentifiedEvent: { + prototype: UnviewableContentIdentifiedEvent; + new(): UnviewableContentIdentifiedEvent; +} + +interface ValidityState { + badInput: boolean; + customError: boolean; + patternMismatch: boolean; + rangeOverflow: boolean; + rangeUnderflow: boolean; + stepMismatch: boolean; + tooLong: boolean; + typeMismatch: boolean; + valid: boolean; + valueMissing: boolean; +} + +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +} + +interface VideoPlaybackQuality { + corruptedVideoFrames: number; + creationTime: number; + droppedVideoFrames: number; + totalFrameDelay: number; + totalVideoFrames: number; +} + +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +} + +interface VideoTrack { + id: string; + kind: string; + label: string; + language: string; + selected: boolean; + sourceBuffer: SourceBuffer; +} + +declare var VideoTrack: { + prototype: VideoTrack; + new(): VideoTrack; +} + +interface VideoTrackList extends EventTarget { + length: number; + onaddtrack: (ev: TrackEvent) => any; + onchange: (ev: Event) => any; + onremovetrack: (ev: TrackEvent) => any; + selectedIndex: number; + getTrackById(id: string): VideoTrack; + item(index: number): VideoTrack; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "removetrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: VideoTrack; +} + +declare var VideoTrackList: { + prototype: VideoTrackList; + new(): VideoTrackList; +} + +interface WEBGL_compressed_texture_s3tc { + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} + +declare var WEBGL_compressed_texture_s3tc: { + prototype: WEBGL_compressed_texture_s3tc; + new(): WEBGL_compressed_texture_s3tc; + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} + +interface WEBGL_debug_renderer_info { + UNMASKED_RENDERER_WEBGL: number; + UNMASKED_VENDOR_WEBGL: number; +} + +declare var WEBGL_debug_renderer_info: { + prototype: WEBGL_debug_renderer_info; + new(): WEBGL_debug_renderer_info; + UNMASKED_RENDERER_WEBGL: number; + UNMASKED_VENDOR_WEBGL: number; +} + +interface WEBGL_depth_texture { + UNSIGNED_INT_24_8_WEBGL: number; +} + +declare var WEBGL_depth_texture: { + prototype: WEBGL_depth_texture; + new(): WEBGL_depth_texture; + UNSIGNED_INT_24_8_WEBGL: number; +} + +interface WaveShaperNode extends AudioNode { + curve: Float32Array; + oversample: string; +} + +declare var WaveShaperNode: { + prototype: WaveShaperNode; + new(): WaveShaperNode; +} + +interface WebGLActiveInfo { + name: string; + size: number; + type: number; +} + +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +} + +interface WebGLBuffer extends WebGLObject { +} + +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +} + +interface WebGLContextEvent extends Event { + statusMessage: string; +} + +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(): WebGLContextEvent; +} + +interface WebGLFramebuffer extends WebGLObject { +} + +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +} + +interface WebGLObject { +} + +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +} + +interface WebGLProgram extends WebGLObject { +} + +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +} + +interface WebGLRenderbuffer extends WebGLObject { +} + +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +} + +interface WebGLRenderingContext { + canvas: HTMLCanvasElement; + drawingBufferHeight: number; + drawingBufferWidth: number; + activeTexture(texture: number): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: number, name: string): void; + bindBuffer(target: number, buffer: WebGLBuffer): void; + bindFramebuffer(target: number, framebuffer: WebGLFramebuffer): void; + bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer): void; + bindTexture(target: number, texture: WebGLTexture): void; + blendColor(red: number, green: number, blue: number, alpha: number): void; + blendEquation(mode: number): void; + blendEquationSeparate(modeRGB: number, modeAlpha: number): void; + blendFunc(sfactor: number, dfactor: number): void; + blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void; + bufferData(target: number, size: number | ArrayBufferView | ArrayBuffer, usage: number): void; + bufferSubData(target: number, offset: number, data: ArrayBufferView | ArrayBuffer): void; + checkFramebufferStatus(target: number): number; + clear(mask: number): void; + clearColor(red: number, green: number, blue: number, alpha: number): void; + clearDepth(depth: number): void; + clearStencil(s: number): void; + colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, data: ArrayBufferView): void; + compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, data: ArrayBufferView): void; + copyTexImage2D(target: number, level: number, internalformat: number, x: number, y: number, width: number, height: number, border: number): void; + copyTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, x: number, y: number, width: number, height: number): void; + createBuffer(): WebGLBuffer; + createFramebuffer(): WebGLFramebuffer; + createProgram(): WebGLProgram; + createRenderbuffer(): WebGLRenderbuffer; + createShader(type: number): WebGLShader; + createTexture(): WebGLTexture; + cullFace(mode: number): void; + deleteBuffer(buffer: WebGLBuffer): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer): void; + deleteProgram(program: WebGLProgram): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer): void; + deleteShader(shader: WebGLShader): void; + deleteTexture(texture: WebGLTexture): void; + depthFunc(func: number): void; + depthMask(flag: boolean): void; + depthRange(zNear: number, zFar: number): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: number): void; + disableVertexAttribArray(index: number): void; + drawArrays(mode: number, first: number, count: number): void; + drawElements(mode: number, count: number, type: number, offset: number): void; + enable(cap: number): void; + enableVertexAttribArray(index: number): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: number, attachment: number, renderbuffertarget: number, renderbuffer: WebGLRenderbuffer): void; + framebufferTexture2D(target: number, attachment: number, textarget: number, texture: WebGLTexture, level: number): void; + frontFace(mode: number): void; + generateMipmap(target: number): void; + getActiveAttrib(program: WebGLProgram, index: number): WebGLActiveInfo; + getActiveUniform(program: WebGLProgram, index: number): WebGLActiveInfo; + getAttachedShaders(program: WebGLProgram): WebGLShader[]; + getAttribLocation(program: WebGLProgram, name: string): number; + getBufferParameter(target: number, pname: number): any; + getContextAttributes(): WebGLContextAttributes; + getError(): number; + getExtension(name: string): any; + getFramebufferAttachmentParameter(target: number, attachment: number, pname: number): any; + getParameter(pname: number): any; + getProgramInfoLog(program: WebGLProgram): string; + getProgramParameter(program: WebGLProgram, pname: number): any; + getRenderbufferParameter(target: number, pname: number): any; + getShaderInfoLog(shader: WebGLShader): string; + getShaderParameter(shader: WebGLShader, pname: number): any; + getShaderPrecisionFormat(shadertype: number, precisiontype: number): WebGLShaderPrecisionFormat; + getShaderSource(shader: WebGLShader): string; + getSupportedExtensions(): string[]; + getTexParameter(target: number, pname: number): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation; + getVertexAttrib(index: number, pname: number): any; + getVertexAttribOffset(index: number, pname: number): number; + hint(target: number, mode: number): void; + isBuffer(buffer: WebGLBuffer): boolean; + isContextLost(): boolean; + isEnabled(cap: number): boolean; + isFramebuffer(framebuffer: WebGLFramebuffer): boolean; + isProgram(program: WebGLProgram): boolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer): boolean; + isShader(shader: WebGLShader): boolean; + isTexture(texture: WebGLTexture): boolean; + lineWidth(width: number): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: number, param: number): void; + polygonOffset(factor: number, units: number): void; + readPixels(x: number, y: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + renderbufferStorage(target: number, internalformat: number, width: number, height: number): void; + sampleCoverage(value: number, invert: boolean): void; + scissor(x: number, y: number, width: number, height: number): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: number, ref: number, mask: number): void; + stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void; + stencilMask(mask: number): void; + stencilMaskSeparate(face: number, mask: number): void; + stencilOp(fail: number, zfail: number, zpass: number): void; + stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void; + texImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, image: HTMLImageElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, video: HTMLVideoElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, pixels: ImageData): void; + texParameterf(target: number, pname: number, param: number): void; + texParameteri(target: number, pname: number, param: number): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, image: HTMLImageElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, video: HTMLVideoElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: ImageData): void; + uniform1f(location: WebGLUniformLocation, x: number): void; + uniform1fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform1i(location: WebGLUniformLocation, x: number): void; + uniform1iv(location: WebGLUniformLocation, v: Int32Array): void; + uniform2f(location: WebGLUniformLocation, x: number, y: number): void; + uniform2fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform2i(location: WebGLUniformLocation, x: number, y: number): void; + uniform2iv(location: WebGLUniformLocation, v: Int32Array): void; + uniform3f(location: WebGLUniformLocation, x: number, y: number, z: number): void; + uniform3fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform3i(location: WebGLUniformLocation, x: number, y: number, z: number): void; + uniform3iv(location: WebGLUniformLocation, v: Int32Array): void; + uniform4f(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + uniform4fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform4i(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + uniform4iv(location: WebGLUniformLocation, v: Int32Array): void; + uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + useProgram(program: WebGLProgram): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(indx: number, x: number): void; + vertexAttrib1fv(indx: number, values: Float32Array): void; + vertexAttrib2f(indx: number, x: number, y: number): void; + vertexAttrib2fv(indx: number, values: Float32Array): void; + vertexAttrib3f(indx: number, x: number, y: number, z: number): void; + vertexAttrib3fv(indx: number, values: Float32Array): void; + vertexAttrib4f(indx: number, x: number, y: number, z: number, w: number): void; + vertexAttrib4fv(indx: number, values: Float32Array): void; + vertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void; + viewport(x: number, y: number, width: number, height: number): void; + ACTIVE_ATTRIBUTES: number; + ACTIVE_TEXTURE: number; + ACTIVE_UNIFORMS: number; + ALIASED_LINE_WIDTH_RANGE: number; + ALIASED_POINT_SIZE_RANGE: number; + ALPHA: number; + ALPHA_BITS: number; + ALWAYS: number; + ARRAY_BUFFER: number; + ARRAY_BUFFER_BINDING: number; + ATTACHED_SHADERS: number; + BACK: number; + BLEND: number; + BLEND_COLOR: number; + BLEND_DST_ALPHA: number; + BLEND_DST_RGB: number; + BLEND_EQUATION: number; + BLEND_EQUATION_ALPHA: number; + BLEND_EQUATION_RGB: number; + BLEND_SRC_ALPHA: number; + BLEND_SRC_RGB: number; + BLUE_BITS: number; + BOOL: number; + BOOL_VEC2: number; + BOOL_VEC3: number; + BOOL_VEC4: number; + BROWSER_DEFAULT_WEBGL: number; + BUFFER_SIZE: number; + BUFFER_USAGE: number; + BYTE: number; + CCW: number; + CLAMP_TO_EDGE: number; + COLOR_ATTACHMENT0: number; + COLOR_BUFFER_BIT: number; + COLOR_CLEAR_VALUE: number; + COLOR_WRITEMASK: number; + COMPILE_STATUS: number; + COMPRESSED_TEXTURE_FORMATS: number; + CONSTANT_ALPHA: number; + CONSTANT_COLOR: number; + CONTEXT_LOST_WEBGL: number; + CULL_FACE: number; + CULL_FACE_MODE: number; + CURRENT_PROGRAM: number; + CURRENT_VERTEX_ATTRIB: number; + CW: number; + DECR: number; + DECR_WRAP: number; + DELETE_STATUS: number; + DEPTH_ATTACHMENT: number; + DEPTH_BITS: number; + DEPTH_BUFFER_BIT: number; + DEPTH_CLEAR_VALUE: number; + DEPTH_COMPONENT: number; + DEPTH_COMPONENT16: number; + DEPTH_FUNC: number; + DEPTH_RANGE: number; + DEPTH_STENCIL: number; + DEPTH_STENCIL_ATTACHMENT: number; + DEPTH_TEST: number; + DEPTH_WRITEMASK: number; + DITHER: number; + DONT_CARE: number; + DST_ALPHA: number; + DST_COLOR: number; + DYNAMIC_DRAW: number; + ELEMENT_ARRAY_BUFFER: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + EQUAL: number; + FASTEST: number; + FLOAT: number; + FLOAT_MAT2: number; + FLOAT_MAT3: number; + FLOAT_MAT4: number; + FLOAT_VEC2: number; + FLOAT_VEC3: number; + FLOAT_VEC4: number; + FRAGMENT_SHADER: number; + FRAMEBUFFER: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + FRAMEBUFFER_BINDING: number; + FRAMEBUFFER_COMPLETE: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + FRAMEBUFFER_UNSUPPORTED: number; + FRONT: number; + FRONT_AND_BACK: number; + FRONT_FACE: number; + FUNC_ADD: number; + FUNC_REVERSE_SUBTRACT: number; + FUNC_SUBTRACT: number; + GENERATE_MIPMAP_HINT: number; + GEQUAL: number; + GREATER: number; + GREEN_BITS: number; + HIGH_FLOAT: number; + HIGH_INT: number; + IMPLEMENTATION_COLOR_READ_FORMAT: number; + IMPLEMENTATION_COLOR_READ_TYPE: number; + INCR: number; + INCR_WRAP: number; + INT: number; + INT_VEC2: number; + INT_VEC3: number; + INT_VEC4: number; + INVALID_ENUM: number; + INVALID_FRAMEBUFFER_OPERATION: number; + INVALID_OPERATION: number; + INVALID_VALUE: number; + INVERT: number; + KEEP: number; + LEQUAL: number; + LESS: number; + LINEAR: number; + LINEAR_MIPMAP_LINEAR: number; + LINEAR_MIPMAP_NEAREST: number; + LINES: number; + LINE_LOOP: number; + LINE_STRIP: number; + LINE_WIDTH: number; + LINK_STATUS: number; + LOW_FLOAT: number; + LOW_INT: number; + LUMINANCE: number; + LUMINANCE_ALPHA: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + MAX_RENDERBUFFER_SIZE: number; + MAX_TEXTURE_IMAGE_UNITS: number; + MAX_TEXTURE_SIZE: number; + MAX_VARYING_VECTORS: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + MAX_VIEWPORT_DIMS: number; + MEDIUM_FLOAT: number; + MEDIUM_INT: number; + MIRRORED_REPEAT: number; + NEAREST: number; + NEAREST_MIPMAP_LINEAR: number; + NEAREST_MIPMAP_NEAREST: number; + NEVER: number; + NICEST: number; + NONE: number; + NOTEQUAL: number; + NO_ERROR: number; + ONE: number; + ONE_MINUS_CONSTANT_ALPHA: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_DST_ALPHA: number; + ONE_MINUS_DST_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + ONE_MINUS_SRC_COLOR: number; + OUT_OF_MEMORY: number; + PACK_ALIGNMENT: number; + POINTS: number; + POLYGON_OFFSET_FACTOR: number; + POLYGON_OFFSET_FILL: number; + POLYGON_OFFSET_UNITS: number; + RED_BITS: number; + RENDERBUFFER: number; + RENDERBUFFER_ALPHA_SIZE: number; + RENDERBUFFER_BINDING: number; + RENDERBUFFER_BLUE_SIZE: number; + RENDERBUFFER_DEPTH_SIZE: number; + RENDERBUFFER_GREEN_SIZE: number; + RENDERBUFFER_HEIGHT: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + RENDERBUFFER_RED_SIZE: number; + RENDERBUFFER_STENCIL_SIZE: number; + RENDERBUFFER_WIDTH: number; + RENDERER: number; + REPEAT: number; + REPLACE: number; + RGB: number; + RGB565: number; + RGB5_A1: number; + RGBA: number; + RGBA4: number; + SAMPLER_2D: number; + SAMPLER_CUBE: number; + SAMPLES: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + SAMPLE_BUFFERS: number; + SAMPLE_COVERAGE: number; + SAMPLE_COVERAGE_INVERT: number; + SAMPLE_COVERAGE_VALUE: number; + SCISSOR_BOX: number; + SCISSOR_TEST: number; + SHADER_TYPE: number; + SHADING_LANGUAGE_VERSION: number; + SHORT: number; + SRC_ALPHA: number; + SRC_ALPHA_SATURATE: number; + SRC_COLOR: number; + STATIC_DRAW: number; + STENCIL_ATTACHMENT: number; + STENCIL_BACK_FAIL: number; + STENCIL_BACK_FUNC: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + STENCIL_BACK_REF: number; + STENCIL_BACK_VALUE_MASK: number; + STENCIL_BACK_WRITEMASK: number; + STENCIL_BITS: number; + STENCIL_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + STENCIL_FAIL: number; + STENCIL_FUNC: number; + STENCIL_INDEX: number; + STENCIL_INDEX8: number; + STENCIL_PASS_DEPTH_FAIL: number; + STENCIL_PASS_DEPTH_PASS: number; + STENCIL_REF: number; + STENCIL_TEST: number; + STENCIL_VALUE_MASK: number; + STENCIL_WRITEMASK: number; + STREAM_DRAW: number; + SUBPIXEL_BITS: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE1: number; + TEXTURE10: number; + TEXTURE11: number; + TEXTURE12: number; + TEXTURE13: number; + TEXTURE14: number; + TEXTURE15: number; + TEXTURE16: number; + TEXTURE17: number; + TEXTURE18: number; + TEXTURE19: number; + TEXTURE2: number; + TEXTURE20: number; + TEXTURE21: number; + TEXTURE22: number; + TEXTURE23: number; + TEXTURE24: number; + TEXTURE25: number; + TEXTURE26: number; + TEXTURE27: number; + TEXTURE28: number; + TEXTURE29: number; + TEXTURE3: number; + TEXTURE30: number; + TEXTURE31: number; + TEXTURE4: number; + TEXTURE5: number; + TEXTURE6: number; + TEXTURE7: number; + TEXTURE8: number; + TEXTURE9: number; + TEXTURE_2D: number; + TEXTURE_BINDING_2D: number; + TEXTURE_BINDING_CUBE_MAP: number; + TEXTURE_CUBE_MAP: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + TEXTURE_MAG_FILTER: number; + TEXTURE_MIN_FILTER: number; + TEXTURE_WRAP_S: number; + TEXTURE_WRAP_T: number; + TRIANGLES: number; + TRIANGLE_FAN: number; + TRIANGLE_STRIP: number; + UNPACK_ALIGNMENT: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + UNPACK_FLIP_Y_WEBGL: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + UNSIGNED_BYTE: number; + UNSIGNED_INT: number; + UNSIGNED_SHORT: number; + UNSIGNED_SHORT_4_4_4_4: number; + UNSIGNED_SHORT_5_5_5_1: number; + UNSIGNED_SHORT_5_6_5: number; + VALIDATE_STATUS: number; + VENDOR: number; + VERSION: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + VERTEX_SHADER: number; + VIEWPORT: number; + ZERO: number; +} + +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + ACTIVE_ATTRIBUTES: number; + ACTIVE_TEXTURE: number; + ACTIVE_UNIFORMS: number; + ALIASED_LINE_WIDTH_RANGE: number; + ALIASED_POINT_SIZE_RANGE: number; + ALPHA: number; + ALPHA_BITS: number; + ALWAYS: number; + ARRAY_BUFFER: number; + ARRAY_BUFFER_BINDING: number; + ATTACHED_SHADERS: number; + BACK: number; + BLEND: number; + BLEND_COLOR: number; + BLEND_DST_ALPHA: number; + BLEND_DST_RGB: number; + BLEND_EQUATION: number; + BLEND_EQUATION_ALPHA: number; + BLEND_EQUATION_RGB: number; + BLEND_SRC_ALPHA: number; + BLEND_SRC_RGB: number; + BLUE_BITS: number; + BOOL: number; + BOOL_VEC2: number; + BOOL_VEC3: number; + BOOL_VEC4: number; + BROWSER_DEFAULT_WEBGL: number; + BUFFER_SIZE: number; + BUFFER_USAGE: number; + BYTE: number; + CCW: number; + CLAMP_TO_EDGE: number; + COLOR_ATTACHMENT0: number; + COLOR_BUFFER_BIT: number; + COLOR_CLEAR_VALUE: number; + COLOR_WRITEMASK: number; + COMPILE_STATUS: number; + COMPRESSED_TEXTURE_FORMATS: number; + CONSTANT_ALPHA: number; + CONSTANT_COLOR: number; + CONTEXT_LOST_WEBGL: number; + CULL_FACE: number; + CULL_FACE_MODE: number; + CURRENT_PROGRAM: number; + CURRENT_VERTEX_ATTRIB: number; + CW: number; + DECR: number; + DECR_WRAP: number; + DELETE_STATUS: number; + DEPTH_ATTACHMENT: number; + DEPTH_BITS: number; + DEPTH_BUFFER_BIT: number; + DEPTH_CLEAR_VALUE: number; + DEPTH_COMPONENT: number; + DEPTH_COMPONENT16: number; + DEPTH_FUNC: number; + DEPTH_RANGE: number; + DEPTH_STENCIL: number; + DEPTH_STENCIL_ATTACHMENT: number; + DEPTH_TEST: number; + DEPTH_WRITEMASK: number; + DITHER: number; + DONT_CARE: number; + DST_ALPHA: number; + DST_COLOR: number; + DYNAMIC_DRAW: number; + ELEMENT_ARRAY_BUFFER: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + EQUAL: number; + FASTEST: number; + FLOAT: number; + FLOAT_MAT2: number; + FLOAT_MAT3: number; + FLOAT_MAT4: number; + FLOAT_VEC2: number; + FLOAT_VEC3: number; + FLOAT_VEC4: number; + FRAGMENT_SHADER: number; + FRAMEBUFFER: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + FRAMEBUFFER_BINDING: number; + FRAMEBUFFER_COMPLETE: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + FRAMEBUFFER_UNSUPPORTED: number; + FRONT: number; + FRONT_AND_BACK: number; + FRONT_FACE: number; + FUNC_ADD: number; + FUNC_REVERSE_SUBTRACT: number; + FUNC_SUBTRACT: number; + GENERATE_MIPMAP_HINT: number; + GEQUAL: number; + GREATER: number; + GREEN_BITS: number; + HIGH_FLOAT: number; + HIGH_INT: number; + IMPLEMENTATION_COLOR_READ_FORMAT: number; + IMPLEMENTATION_COLOR_READ_TYPE: number; + INCR: number; + INCR_WRAP: number; + INT: number; + INT_VEC2: number; + INT_VEC3: number; + INT_VEC4: number; + INVALID_ENUM: number; + INVALID_FRAMEBUFFER_OPERATION: number; + INVALID_OPERATION: number; + INVALID_VALUE: number; + INVERT: number; + KEEP: number; + LEQUAL: number; + LESS: number; + LINEAR: number; + LINEAR_MIPMAP_LINEAR: number; + LINEAR_MIPMAP_NEAREST: number; + LINES: number; + LINE_LOOP: number; + LINE_STRIP: number; + LINE_WIDTH: number; + LINK_STATUS: number; + LOW_FLOAT: number; + LOW_INT: number; + LUMINANCE: number; + LUMINANCE_ALPHA: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + MAX_RENDERBUFFER_SIZE: number; + MAX_TEXTURE_IMAGE_UNITS: number; + MAX_TEXTURE_SIZE: number; + MAX_VARYING_VECTORS: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + MAX_VIEWPORT_DIMS: number; + MEDIUM_FLOAT: number; + MEDIUM_INT: number; + MIRRORED_REPEAT: number; + NEAREST: number; + NEAREST_MIPMAP_LINEAR: number; + NEAREST_MIPMAP_NEAREST: number; + NEVER: number; + NICEST: number; + NONE: number; + NOTEQUAL: number; + NO_ERROR: number; + ONE: number; + ONE_MINUS_CONSTANT_ALPHA: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_DST_ALPHA: number; + ONE_MINUS_DST_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + ONE_MINUS_SRC_COLOR: number; + OUT_OF_MEMORY: number; + PACK_ALIGNMENT: number; + POINTS: number; + POLYGON_OFFSET_FACTOR: number; + POLYGON_OFFSET_FILL: number; + POLYGON_OFFSET_UNITS: number; + RED_BITS: number; + RENDERBUFFER: number; + RENDERBUFFER_ALPHA_SIZE: number; + RENDERBUFFER_BINDING: number; + RENDERBUFFER_BLUE_SIZE: number; + RENDERBUFFER_DEPTH_SIZE: number; + RENDERBUFFER_GREEN_SIZE: number; + RENDERBUFFER_HEIGHT: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + RENDERBUFFER_RED_SIZE: number; + RENDERBUFFER_STENCIL_SIZE: number; + RENDERBUFFER_WIDTH: number; + RENDERER: number; + REPEAT: number; + REPLACE: number; + RGB: number; + RGB565: number; + RGB5_A1: number; + RGBA: number; + RGBA4: number; + SAMPLER_2D: number; + SAMPLER_CUBE: number; + SAMPLES: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + SAMPLE_BUFFERS: number; + SAMPLE_COVERAGE: number; + SAMPLE_COVERAGE_INVERT: number; + SAMPLE_COVERAGE_VALUE: number; + SCISSOR_BOX: number; + SCISSOR_TEST: number; + SHADER_TYPE: number; + SHADING_LANGUAGE_VERSION: number; + SHORT: number; + SRC_ALPHA: number; + SRC_ALPHA_SATURATE: number; + SRC_COLOR: number; + STATIC_DRAW: number; + STENCIL_ATTACHMENT: number; + STENCIL_BACK_FAIL: number; + STENCIL_BACK_FUNC: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + STENCIL_BACK_REF: number; + STENCIL_BACK_VALUE_MASK: number; + STENCIL_BACK_WRITEMASK: number; + STENCIL_BITS: number; + STENCIL_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + STENCIL_FAIL: number; + STENCIL_FUNC: number; + STENCIL_INDEX: number; + STENCIL_INDEX8: number; + STENCIL_PASS_DEPTH_FAIL: number; + STENCIL_PASS_DEPTH_PASS: number; + STENCIL_REF: number; + STENCIL_TEST: number; + STENCIL_VALUE_MASK: number; + STENCIL_WRITEMASK: number; + STREAM_DRAW: number; + SUBPIXEL_BITS: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE1: number; + TEXTURE10: number; + TEXTURE11: number; + TEXTURE12: number; + TEXTURE13: number; + TEXTURE14: number; + TEXTURE15: number; + TEXTURE16: number; + TEXTURE17: number; + TEXTURE18: number; + TEXTURE19: number; + TEXTURE2: number; + TEXTURE20: number; + TEXTURE21: number; + TEXTURE22: number; + TEXTURE23: number; + TEXTURE24: number; + TEXTURE25: number; + TEXTURE26: number; + TEXTURE27: number; + TEXTURE28: number; + TEXTURE29: number; + TEXTURE3: number; + TEXTURE30: number; + TEXTURE31: number; + TEXTURE4: number; + TEXTURE5: number; + TEXTURE6: number; + TEXTURE7: number; + TEXTURE8: number; + TEXTURE9: number; + TEXTURE_2D: number; + TEXTURE_BINDING_2D: number; + TEXTURE_BINDING_CUBE_MAP: number; + TEXTURE_CUBE_MAP: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + TEXTURE_MAG_FILTER: number; + TEXTURE_MIN_FILTER: number; + TEXTURE_WRAP_S: number; + TEXTURE_WRAP_T: number; + TRIANGLES: number; + TRIANGLE_FAN: number; + TRIANGLE_STRIP: number; + UNPACK_ALIGNMENT: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + UNPACK_FLIP_Y_WEBGL: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + UNSIGNED_BYTE: number; + UNSIGNED_INT: number; + UNSIGNED_SHORT: number; + UNSIGNED_SHORT_4_4_4_4: number; + UNSIGNED_SHORT_5_5_5_1: number; + UNSIGNED_SHORT_5_6_5: number; + VALIDATE_STATUS: number; + VENDOR: number; + VERSION: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + VERTEX_SHADER: number; + VIEWPORT: number; + ZERO: number; +} + +interface WebGLShader extends WebGLObject { +} + +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +} + +interface WebGLShaderPrecisionFormat { + precision: number; + rangeMax: number; + rangeMin: number; +} + +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +} + +interface WebGLTexture extends WebGLObject { +} + +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +} + +interface WebGLUniformLocation { +} + +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +} + +interface WebKitCSSMatrix { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + inverse(): WebKitCSSMatrix; + multiply(secondMatrix: WebKitCSSMatrix): WebKitCSSMatrix; + rotate(angleX: number, angleY?: number, angleZ?: number): WebKitCSSMatrix; + rotateAxisAngle(x: number, y: number, z: number, angle: number): WebKitCSSMatrix; + scale(scaleX: number, scaleY?: number, scaleZ?: number): WebKitCSSMatrix; + setMatrixValue(value: string): void; + skewX(angle: number): WebKitCSSMatrix; + skewY(angle: number): WebKitCSSMatrix; + toString(): string; + translate(x: number, y: number, z?: number): WebKitCSSMatrix; +} + +declare var WebKitCSSMatrix: { + prototype: WebKitCSSMatrix; + new(text?: string): WebKitCSSMatrix; +} + +interface WebKitPoint { + x: number; + y: number; +} + +declare var WebKitPoint: { + prototype: WebKitPoint; + new(x?: number, y?: number): WebKitPoint; +} + +interface WebSocket extends EventTarget { + binaryType: string; + bufferedAmount: number; + extensions: string; + onclose: (ev: CloseEvent) => any; + onerror: (ev: Event) => any; + onmessage: (ev: MessageEvent) => any; + onopen: (ev: Event) => any; + protocol: string; + readyState: number; + url: string; + close(code?: number, reason?: string): void; + send(data: any): void; + CLOSED: number; + CLOSING: number; + CONNECTING: number; + OPEN: number; + addEventListener(type: "close", listener: (ev: CloseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "open", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + CLOSED: number; + CLOSING: number; + CONNECTING: number; + OPEN: number; +} + +interface WheelEvent extends MouseEvent { + deltaMode: number; + deltaX: number; + deltaY: number; + deltaZ: number; + getCurrentPoint(element: Element): void; + initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; + DOM_DELTA_PIXEL: number; +} + +declare var WheelEvent: { + prototype: WheelEvent; + new(typeArg: string, eventInitDict?: WheelEventInit): WheelEvent; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; + DOM_DELTA_PIXEL: number; +} + +interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64 { + animationStartTime: number; + applicationCache: ApplicationCache; + clientInformation: Navigator; + closed: boolean; + crypto: Crypto; + defaultStatus: string; + devicePixelRatio: number; + doNotTrack: string; + document: Document; + event: Event; + external: External; + frameElement: Element; + frames: Window; + history: History; + innerHeight: number; + innerWidth: number; + length: number; + location: Location; + locationbar: BarProp; + menubar: BarProp; + msAnimationStartTime: number; + name: string; + navigator: Navigator; + offscreenBuffering: string | boolean; + onabort: (ev: Event) => any; + onafterprint: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onblur: (ev: FocusEvent) => any; + oncanplay: (ev: Event) => any; + oncanplaythrough: (ev: Event) => any; + onchange: (ev: Event) => any; + onclick: (ev: MouseEvent) => any; + oncompassneedscalibration: (ev: Event) => any; + oncontextmenu: (ev: PointerEvent) => any; + ondblclick: (ev: MouseEvent) => any; + ondevicemotion: (ev: DeviceMotionEvent) => any; + ondeviceorientation: (ev: DeviceOrientationEvent) => any; + ondrag: (ev: DragEvent) => any; + ondragend: (ev: DragEvent) => any; + ondragenter: (ev: DragEvent) => any; + ondragleave: (ev: DragEvent) => any; + ondragover: (ev: DragEvent) => any; + ondragstart: (ev: DragEvent) => any; + ondrop: (ev: DragEvent) => any; + ondurationchange: (ev: Event) => any; + onemptied: (ev: Event) => any; + onended: (ev: Event) => any; + onerror: ErrorEventHandler; + onfocus: (ev: FocusEvent) => any; + onhashchange: (ev: HashChangeEvent) => any; + oninput: (ev: Event) => any; + onkeydown: (ev: KeyboardEvent) => any; + onkeypress: (ev: KeyboardEvent) => any; + onkeyup: (ev: KeyboardEvent) => any; + onload: (ev: Event) => any; + onloadeddata: (ev: Event) => any; + onloadedmetadata: (ev: Event) => any; + onloadstart: (ev: Event) => any; + onmessage: (ev: MessageEvent) => any; + onmousedown: (ev: MouseEvent) => any; + onmouseenter: (ev: MouseEvent) => any; + onmouseleave: (ev: MouseEvent) => any; + onmousemove: (ev: MouseEvent) => any; + onmouseout: (ev: MouseEvent) => any; + onmouseover: (ev: MouseEvent) => any; + onmouseup: (ev: MouseEvent) => any; + onmousewheel: (ev: MouseWheelEvent) => any; + onmsgesturechange: (ev: MSGestureEvent) => any; + onmsgesturedoubletap: (ev: MSGestureEvent) => any; + onmsgestureend: (ev: MSGestureEvent) => any; + onmsgesturehold: (ev: MSGestureEvent) => any; + onmsgesturestart: (ev: MSGestureEvent) => any; + onmsgesturetap: (ev: MSGestureEvent) => any; + onmsinertiastart: (ev: MSGestureEvent) => any; + onmspointercancel: (ev: MSPointerEvent) => any; + onmspointerdown: (ev: MSPointerEvent) => any; + onmspointerenter: (ev: MSPointerEvent) => any; + onmspointerleave: (ev: MSPointerEvent) => any; + onmspointermove: (ev: MSPointerEvent) => any; + onmspointerout: (ev: MSPointerEvent) => any; + onmspointerover: (ev: MSPointerEvent) => any; + onmspointerup: (ev: MSPointerEvent) => any; + onoffline: (ev: Event) => any; + ononline: (ev: Event) => any; + onorientationchange: (ev: Event) => any; + onpagehide: (ev: PageTransitionEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpause: (ev: Event) => any; + onplay: (ev: Event) => any; + onplaying: (ev: Event) => any; + onpopstate: (ev: PopStateEvent) => any; + onprogress: (ev: ProgressEvent) => any; + onratechange: (ev: Event) => any; + onreadystatechange: (ev: ProgressEvent) => any; + onreset: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + onscroll: (ev: UIEvent) => any; + onseeked: (ev: Event) => any; + onseeking: (ev: Event) => any; + onselect: (ev: UIEvent) => any; + onstalled: (ev: Event) => any; + onstorage: (ev: StorageEvent) => any; + onsubmit: (ev: Event) => any; + onsuspend: (ev: Event) => any; + ontimeupdate: (ev: Event) => any; + ontouchcancel: any; + ontouchend: any; + ontouchmove: any; + ontouchstart: any; + onunload: (ev: Event) => any; + onvolumechange: (ev: Event) => any; + onwaiting: (ev: Event) => any; + opener: Window; + orientation: string | number; + outerHeight: number; + outerWidth: number; + pageXOffset: number; + pageYOffset: number; + parent: Window; + performance: Performance; + personalbar: BarProp; + screen: Screen; + screenLeft: number; + screenTop: number; + screenX: number; + screenY: number; + scrollX: number; + scrollY: number; + scrollbars: BarProp; + self: Window; + status: string; + statusbar: BarProp; + styleMedia: StyleMedia; + toolbar: BarProp; + top: Window; + window: Window; + URL: URL; + alert(message?: any): void; + blur(): void; + cancelAnimationFrame(handle: number): void; + captureEvents(): void; + close(): void; + confirm(message?: string): boolean; + focus(): void; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + getMatchedCSSRules(elt: Element, pseudoElt?: string): CSSRuleList; + getSelection(): Selection; + matchMedia(mediaQuery: string): MediaQueryList; + moveBy(x?: number, y?: number): void; + moveTo(x?: number, y?: number): void; + msCancelRequestAnimationFrame(handle: number): void; + msMatchMedia(mediaQuery: string): MediaQueryList; + msRequestAnimationFrame(callback: FrameRequestCallback): number; + msWriteProfilerMark(profilerMarkName: string): void; + open(url?: string, target?: string, features?: string, replace?: boolean): Window; + postMessage(message: any, targetOrigin: string, ports?: any): void; + print(): void; + prompt(message?: string, _default?: string): string; + releaseEvents(): void; + requestAnimationFrame(callback: FrameRequestCallback): number; + resizeBy(x?: number, y?: number): void; + resizeTo(x?: number, y?: number): void; + scroll(x?: number, y?: number): void; + scrollBy(x?: number, y?: number): void; + scrollTo(x?: number, y?: number): void; + webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; + webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; + addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "compassneedscalibration", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: Window; +} + +declare var Window: { + prototype: Window; + new(): Window; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: (ev: MessageEvent) => any; + postMessage(message: any, ports?: any): void; + terminate(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Worker: { + prototype: Worker; + new(stringUrl: string): Worker; +} + +interface XMLDocument extends Document { +} + +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; +} + +interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { + msCaching: string; + onreadystatechange: (ev: ProgressEvent) => any; + readyState: number; + response: any; + responseBody: any; + responseText: string; + responseType: string; + responseXML: any; + status: number; + statusText: string; + timeout: number; + upload: XMLHttpRequestUpload; + withCredentials: boolean; + abort(): void; + getAllResponseHeaders(): string; + getResponseHeader(header: string): string; + msCachingEnabled(): boolean; + open(method: string, url: string, async?: boolean, user?: string, password?: string): void; + overrideMimeType(mime: string): void; + send(data?: Document): void; + send(data?: string): void; + send(data?: any): void; + setRequestHeader(header: string, value: string): void; + DONE: number; + HEADERS_RECEIVED: number; + LOADING: number; + OPENED: number; + UNSENT: number; + addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + DONE: number; + HEADERS_RECEIVED: number; + LOADING: number; + OPENED: number; + UNSENT: number; + create(): XMLHttpRequest; +} + +interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget { + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +} + +interface XMLSerializer { + serializeToString(target: Node): string; +} + +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +} + +interface XPathEvaluator { + createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; + createNSResolver(nodeResolver?: Node): XPathNSResolver; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver, type: number, result: XPathResult): XPathResult; +} + +declare var XPathEvaluator: { + prototype: XPathEvaluator; + new(): XPathEvaluator; +} + +interface XPathExpression { + evaluate(contextNode: Node, type: number, result: XPathResult): XPathExpression; +} + +declare var XPathExpression: { + prototype: XPathExpression; + new(): XPathExpression; +} + +interface XPathNSResolver { + lookupNamespaceURI(prefix: string): string; +} + +declare var XPathNSResolver: { + prototype: XPathNSResolver; + new(): XPathNSResolver; +} + +interface XPathResult { + booleanValue: boolean; + invalidIteratorState: boolean; + numberValue: number; + resultType: number; + singleNodeValue: Node; + snapshotLength: number; + stringValue: string; + iterateNext(): Node; + snapshotItem(index: number): Node; + ANY_TYPE: number; + ANY_UNORDERED_NODE_TYPE: number; + BOOLEAN_TYPE: number; + FIRST_ORDERED_NODE_TYPE: number; + NUMBER_TYPE: number; + ORDERED_NODE_ITERATOR_TYPE: number; + ORDERED_NODE_SNAPSHOT_TYPE: number; + STRING_TYPE: number; + UNORDERED_NODE_ITERATOR_TYPE: number; + UNORDERED_NODE_SNAPSHOT_TYPE: number; +} + +declare var XPathResult: { + prototype: XPathResult; + new(): XPathResult; + ANY_TYPE: number; + ANY_UNORDERED_NODE_TYPE: number; + BOOLEAN_TYPE: number; + FIRST_ORDERED_NODE_TYPE: number; + NUMBER_TYPE: number; + ORDERED_NODE_ITERATOR_TYPE: number; + ORDERED_NODE_SNAPSHOT_TYPE: number; + STRING_TYPE: number; + UNORDERED_NODE_ITERATOR_TYPE: number; + UNORDERED_NODE_SNAPSHOT_TYPE: number; +} + +interface XSLTProcessor { + clearParameters(): void; + getParameter(namespaceURI: string, localName: string): any; + importStylesheet(style: Node): void; + removeParameter(namespaceURI: string, localName: string): void; + reset(): void; + setParameter(namespaceURI: string, localName: string, value: any): void; + transformToDocument(source: Node): Document; + transformToFragment(source: Node, document: Document): DocumentFragment; +} + +declare var XSLTProcessor: { + prototype: XSLTProcessor; + new(): XSLTProcessor; +} + +interface AbstractWorker { + onerror: (ev: Event) => any; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +interface ChildNode { + remove(): void; +} + +interface DOML2DeprecatedColorProperty { + color: string; +} + +interface DOML2DeprecatedSizeProperty { + size: number; +} + +interface DocumentEvent { + createEvent(eventInterface:"AnimationEvent"): AnimationEvent; + createEvent(eventInterface:"AriaRequestEvent"): AriaRequestEvent; + createEvent(eventInterface:"AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface:"BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface:"ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface:"CloseEvent"): CloseEvent; + createEvent(eventInterface:"CommandEvent"): CommandEvent; + createEvent(eventInterface:"CompositionEvent"): CompositionEvent; + createEvent(eventInterface:"CustomEvent"): CustomEvent; + createEvent(eventInterface:"DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface:"DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface:"DragEvent"): DragEvent; + createEvent(eventInterface:"ErrorEvent"): ErrorEvent; + createEvent(eventInterface:"Event"): Event; + createEvent(eventInterface:"Events"): Event; + createEvent(eventInterface:"FocusEvent"): FocusEvent; + createEvent(eventInterface:"GamepadEvent"): GamepadEvent; + createEvent(eventInterface:"HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface:"IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface:"KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface:"LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; + createEvent(eventInterface:"MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface:"MSManipulationEvent"): MSManipulationEvent; + createEvent(eventInterface:"MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface:"MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface:"MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface:"MSSiteModeEvent"): MSSiteModeEvent; + createEvent(eventInterface:"MessageEvent"): MessageEvent; + createEvent(eventInterface:"MouseEvent"): MouseEvent; + createEvent(eventInterface:"MouseEvents"): MouseEvent; + createEvent(eventInterface:"MouseWheelEvent"): MouseWheelEvent; + createEvent(eventInterface:"MutationEvent"): MutationEvent; + createEvent(eventInterface:"MutationEvents"): MutationEvent; + createEvent(eventInterface:"NavigationCompletedEvent"): NavigationCompletedEvent; + createEvent(eventInterface:"NavigationEvent"): NavigationEvent; + createEvent(eventInterface:"NavigationEventWithReferrer"): NavigationEventWithReferrer; + createEvent(eventInterface:"OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface:"PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface:"PermissionRequestedEvent"): PermissionRequestedEvent; + createEvent(eventInterface:"PointerEvent"): PointerEvent; + createEvent(eventInterface:"PopStateEvent"): PopStateEvent; + createEvent(eventInterface:"ProgressEvent"): ProgressEvent; + createEvent(eventInterface:"SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface:"SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface:"ScriptNotifyEvent"): ScriptNotifyEvent; + createEvent(eventInterface:"StorageEvent"): StorageEvent; + createEvent(eventInterface:"TextEvent"): TextEvent; + createEvent(eventInterface:"TouchEvent"): TouchEvent; + createEvent(eventInterface:"TrackEvent"): TrackEvent; + createEvent(eventInterface:"TransitionEvent"): TransitionEvent; + createEvent(eventInterface:"UIEvent"): UIEvent; + createEvent(eventInterface:"UIEvents"): UIEvent; + createEvent(eventInterface:"UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; + createEvent(eventInterface:"WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface:"WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; +} + +interface ElementTraversal { + childElementCount: number; + firstElementChild: Element; + lastElementChild: Element; + nextElementSibling: Element; + previousElementSibling: Element; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface GlobalEventHandlers { + onpointercancel: (ev: PointerEvent) => any; + onpointerdown: (ev: PointerEvent) => any; + onpointerenter: (ev: PointerEvent) => any; + onpointerleave: (ev: PointerEvent) => any; + onpointermove: (ev: PointerEvent) => any; + onpointerout: (ev: PointerEvent) => any; + onpointerover: (ev: PointerEvent) => any; + onpointerup: (ev: PointerEvent) => any; + onwheel: (ev: WheelEvent) => any; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +interface HTMLTableAlignment { + + ch: string; + + chOff: string; + + vAlign: string; +} + +interface IDBEnvironment { + indexedDB: IDBFactory; + msIndexedDB: IDBFactory; +} + +interface LinkStyle { + sheet: StyleSheet; +} + +interface MSBaseReader { + onabort: (ev: Event) => any; + onerror: (ev: Event) => any; + onload: (ev: Event) => any; + onloadend: (ev: ProgressEvent) => any; + onloadstart: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + readyState: number; + result: any; + abort(): void; + DONE: number; + EMPTY: number; + LOADING: number; + addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +interface MSFileSaver { + msSaveBlob(blob: any, defaultName?: string): boolean; + msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +} + +interface MSNavigatorDoNotTrack { + confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; + confirmWebWideTrackingException(args: ExceptionInformation): boolean; + removeSiteSpecificTrackingException(args: ExceptionInformation): void; + removeWebWideTrackingException(args: ExceptionInformation): void; + storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; + storeWebWideTrackingException(args: StoreExceptionsInformation): void; +} + +interface NavigatorContentUtils { +} + +interface NavigatorGeolocation { + geolocation: Geolocation; +} + +interface NavigatorID { + appName: string; + appVersion: string; + platform: string; + product: string; + productSub: string; + userAgent: string; + vendor: string; + vendorSub: string; +} + +interface NavigatorOnLine { + onLine: boolean; +} + +interface NavigatorStorageUtils { +} + +interface NodeSelector { + querySelector(selectors: string): Element; + querySelectorAll(selectors: string): NodeListOf; +} + +interface RandomSource { + getRandomValues(array: ArrayBufferView): ArrayBufferView; +} + +interface SVGAnimatedPathData { + pathSegList: SVGPathSegList; +} + +interface SVGAnimatedPoints { + animatedPoints: SVGPointList; + points: SVGPointList; +} + +interface SVGExternalResourcesRequired { + externalResourcesRequired: SVGAnimatedBoolean; +} + +interface SVGFilterPrimitiveStandardAttributes extends SVGStylable { + height: SVGAnimatedLength; + result: SVGAnimatedString; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + y: SVGAnimatedLength; +} + +interface SVGFitToViewBox { + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + viewBox: SVGAnimatedRect; +} + +interface SVGLangSpace { + xmllang: string; + xmlspace: string; +} + +interface SVGLocatable { + farthestViewportElement: SVGElement; + nearestViewportElement: SVGElement; + getBBox(): SVGRect; + getCTM(): SVGMatrix; + getScreenCTM(): SVGMatrix; + getTransformToElement(element: SVGElement): SVGMatrix; +} + +interface SVGStylable { + className: any; + style: CSSStyleDeclaration; +} + +interface SVGTests { + requiredExtensions: SVGStringList; + requiredFeatures: SVGStringList; + systemLanguage: SVGStringList; + hasExtension(extension: string): boolean; +} + +interface SVGTransformable extends SVGLocatable { + transform: SVGAnimatedTransformList; +} + +interface SVGURIReference { + href: SVGAnimatedString; +} + +interface WindowBase64 { + atob(encodedString: string): string; + btoa(rawString: string): string; +} + +interface WindowConsole { + console: Console; +} + +interface WindowLocalStorage { + localStorage: Storage; +} + +interface WindowSessionStorage { + sessionStorage: Storage; +} + +interface WindowTimers extends Object, WindowTimersExtension { + clearInterval(handle: number): void; + clearTimeout(handle: number): void; + setInterval(handler: any, timeout?: any, ...args: any[]): number; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; +} + +interface WindowTimersExtension { + clearImmediate(handle: number): void; + msClearImmediate(handle: number): void; + msSetImmediate(expression: any, ...args: any[]): number; + setImmediate(expression: any, ...args: any[]): number; +} + +interface XMLHttpRequestEventTarget { + onabort: (ev: Event) => any; + onerror: (ev: Event) => any; + onload: (ev: Event) => any; + onloadend: (ev: ProgressEvent) => any; + onloadstart: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + ontimeout: (ev: ProgressEvent) => any; + addEventListener(type: "abort", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +interface StorageEventInit extends EventInit { + key?: string; + oldValue?: string; + newValue?: string; + url: string; + storageArea?: Storage; +} + +interface IDBObjectStoreParameters { + keyPath?: string | string[]; + autoIncrement?: boolean; +} + +interface IDBIndexParameters { + unique?: boolean; + multiEntry?: boolean; +} + +interface NodeListOf extends NodeList { + length: number; + item(index: number): TNode; + [index: number]: TNode; +} + +interface BlobPropertyBag { + type?: string; + endings?: string; +} + +interface FilePropertyBag { + type?: string; + lastModified?: number; +} + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface MessageEventInit extends EventInit { + data?: any; + origin?: string; + lastEventId?: string; + channel?: string; + source?: any; + ports?: MessagePort[]; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface HTMLTemplateElement extends HTMLElement { + content: DocumentFragment; +} + +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; +} + +interface HTMLPictureElement extends HTMLElement { +} + +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; +} + +declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; + +interface ErrorEventHandler { + (message: string, filename?: string, lineno?: number, colno?: number, error?:Error): void; +} +interface PositionCallback { + (position: Position): void; +} +interface PositionErrorCallback { + (error: PositionError): void; +} +interface MediaQueryListListener { + (mql: MediaQueryList): void; +} +interface MSLaunchUriCallback { + (): void; +} +interface FrameRequestCallback { + (time: number): void; +} +interface MSUnsafeFunctionCallback { + (): any; +} +interface MSExecAtPriorityFunctionCallback { + (...args: any[]): any; +} +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; +} +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; +} +interface DecodeErrorCallback { + (): void; +} +interface FunctionStringCallback { + (data: string): void; +} +declare var Audio: {new(src?: string): HTMLAudioElement; }; +declare var Image: {new(width?: number, height?: number): HTMLImageElement; }; +declare var Option: {new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; }; +declare var animationStartTime: number; +declare var applicationCache: ApplicationCache; +declare var clientInformation: Navigator; +declare var closed: boolean; +declare var crypto: Crypto; +declare var defaultStatus: string; +declare var devicePixelRatio: number; +declare var doNotTrack: string; +declare var document: Document; +declare var event: Event; +declare var external: External; +declare var frameElement: Element; +declare var frames: Window; +declare var history: History; +declare var innerHeight: number; +declare var innerWidth: number; +declare var length: number; +declare var location: Location; +declare var locationbar: BarProp; +declare var menubar: BarProp; +declare var msAnimationStartTime: number; +declare var name: string; +declare var navigator: Navigator; +declare var offscreenBuffering: string | boolean; +declare var onabort: (ev: Event) => any; +declare var onafterprint: (ev: Event) => any; +declare var onbeforeprint: (ev: Event) => any; +declare var onbeforeunload: (ev: BeforeUnloadEvent) => any; +declare var onblur: (ev: FocusEvent) => any; +declare var oncanplay: (ev: Event) => any; +declare var oncanplaythrough: (ev: Event) => any; +declare var onchange: (ev: Event) => any; +declare var onclick: (ev: MouseEvent) => any; +declare var oncompassneedscalibration: (ev: Event) => any; +declare var oncontextmenu: (ev: PointerEvent) => any; +declare var ondblclick: (ev: MouseEvent) => any; +declare var ondevicemotion: (ev: DeviceMotionEvent) => any; +declare var ondeviceorientation: (ev: DeviceOrientationEvent) => any; +declare var ondrag: (ev: DragEvent) => any; +declare var ondragend: (ev: DragEvent) => any; +declare var ondragenter: (ev: DragEvent) => any; +declare var ondragleave: (ev: DragEvent) => any; +declare var ondragover: (ev: DragEvent) => any; +declare var ondragstart: (ev: DragEvent) => any; +declare var ondrop: (ev: DragEvent) => any; +declare var ondurationchange: (ev: Event) => any; +declare var onemptied: (ev: Event) => any; +declare var onended: (ev: Event) => any; +declare var onerror: ErrorEventHandler; +declare var onfocus: (ev: FocusEvent) => any; +declare var onhashchange: (ev: HashChangeEvent) => any; +declare var oninput: (ev: Event) => any; +declare var onkeydown: (ev: KeyboardEvent) => any; +declare var onkeypress: (ev: KeyboardEvent) => any; +declare var onkeyup: (ev: KeyboardEvent) => any; +declare var onload: (ev: Event) => any; +declare var onloadeddata: (ev: Event) => any; +declare var onloadedmetadata: (ev: Event) => any; +declare var onloadstart: (ev: Event) => any; +declare var onmessage: (ev: MessageEvent) => any; +declare var onmousedown: (ev: MouseEvent) => any; +declare var onmouseenter: (ev: MouseEvent) => any; +declare var onmouseleave: (ev: MouseEvent) => any; +declare var onmousemove: (ev: MouseEvent) => any; +declare var onmouseout: (ev: MouseEvent) => any; +declare var onmouseover: (ev: MouseEvent) => any; +declare var onmouseup: (ev: MouseEvent) => any; +declare var onmousewheel: (ev: MouseWheelEvent) => any; +declare var onmsgesturechange: (ev: MSGestureEvent) => any; +declare var onmsgesturedoubletap: (ev: MSGestureEvent) => any; +declare var onmsgestureend: (ev: MSGestureEvent) => any; +declare var onmsgesturehold: (ev: MSGestureEvent) => any; +declare var onmsgesturestart: (ev: MSGestureEvent) => any; +declare var onmsgesturetap: (ev: MSGestureEvent) => any; +declare var onmsinertiastart: (ev: MSGestureEvent) => any; +declare var onmspointercancel: (ev: MSPointerEvent) => any; +declare var onmspointerdown: (ev: MSPointerEvent) => any; +declare var onmspointerenter: (ev: MSPointerEvent) => any; +declare var onmspointerleave: (ev: MSPointerEvent) => any; +declare var onmspointermove: (ev: MSPointerEvent) => any; +declare var onmspointerout: (ev: MSPointerEvent) => any; +declare var onmspointerover: (ev: MSPointerEvent) => any; +declare var onmspointerup: (ev: MSPointerEvent) => any; +declare var onoffline: (ev: Event) => any; +declare var ononline: (ev: Event) => any; +declare var onorientationchange: (ev: Event) => any; +declare var onpagehide: (ev: PageTransitionEvent) => any; +declare var onpageshow: (ev: PageTransitionEvent) => any; +declare var onpause: (ev: Event) => any; +declare var onplay: (ev: Event) => any; +declare var onplaying: (ev: Event) => any; +declare var onpopstate: (ev: PopStateEvent) => any; +declare var onprogress: (ev: ProgressEvent) => any; +declare var onratechange: (ev: Event) => any; +declare var onreadystatechange: (ev: ProgressEvent) => any; +declare var onreset: (ev: Event) => any; +declare var onresize: (ev: UIEvent) => any; +declare var onscroll: (ev: UIEvent) => any; +declare var onseeked: (ev: Event) => any; +declare var onseeking: (ev: Event) => any; +declare var onselect: (ev: UIEvent) => any; +declare var onstalled: (ev: Event) => any; +declare var onstorage: (ev: StorageEvent) => any; +declare var onsubmit: (ev: Event) => any; +declare var onsuspend: (ev: Event) => any; +declare var ontimeupdate: (ev: Event) => any; +declare var ontouchcancel: any; +declare var ontouchend: any; +declare var ontouchmove: any; +declare var ontouchstart: any; +declare var onunload: (ev: Event) => any; +declare var onvolumechange: (ev: Event) => any; +declare var onwaiting: (ev: Event) => any; +declare var opener: Window; +declare var orientation: string | number; +declare var outerHeight: number; +declare var outerWidth: number; +declare var pageXOffset: number; +declare var pageYOffset: number; +declare var parent: Window; +declare var performance: Performance; +declare var personalbar: BarProp; +declare var screen: Screen; +declare var screenLeft: number; +declare var screenTop: number; +declare var screenX: number; +declare var screenY: number; +declare var scrollX: number; +declare var scrollY: number; +declare var scrollbars: BarProp; +declare var self: Window; +declare var status: string; +declare var statusbar: BarProp; +declare var styleMedia: StyleMedia; +declare var toolbar: BarProp; +declare var top: Window; +declare var window: Window; +declare var URL: URL; +declare function alert(message?: any): void; +declare function blur(): void; +declare function cancelAnimationFrame(handle: number): void; +declare function captureEvents(): void; +declare function close(): void; +declare function confirm(message?: string): boolean; +declare function focus(): void; +declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; +declare function getMatchedCSSRules(elt: Element, pseudoElt?: string): CSSRuleList; +declare function getSelection(): Selection; +declare function matchMedia(mediaQuery: string): MediaQueryList; +declare function moveBy(x?: number, y?: number): void; +declare function moveTo(x?: number, y?: number): void; +declare function msCancelRequestAnimationFrame(handle: number): void; +declare function msMatchMedia(mediaQuery: string): MediaQueryList; +declare function msRequestAnimationFrame(callback: FrameRequestCallback): number; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare function postMessage(message: any, targetOrigin: string, ports?: any): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string; +declare function releaseEvents(): void; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function resizeBy(x?: number, y?: number): void; +declare function resizeTo(x?: number, y?: number): void; +declare function scroll(x?: number, y?: number): void; +declare function scrollBy(x?: number, y?: number): void; +declare function scrollTo(x?: number, y?: number): void; +declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; +declare function toString(): string; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function dispatchEvent(evt: Event): boolean; +declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function clearInterval(handle: number): void; +declare function clearTimeout(handle: number): void; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; +declare function clearImmediate(handle: number): void; +declare function msClearImmediate(handle: number): void; +declare function msSetImmediate(expression: any, ...args: any[]): number; +declare function setImmediate(expression: any, ...args: any[]): number; +declare var sessionStorage: Storage; +declare var localStorage: Storage; +declare var console: Console; +declare var onpointercancel: (ev: PointerEvent) => any; +declare var onpointerdown: (ev: PointerEvent) => any; +declare var onpointerenter: (ev: PointerEvent) => any; +declare var onpointerleave: (ev: PointerEvent) => any; +declare var onpointermove: (ev: PointerEvent) => any; +declare var onpointerout: (ev: PointerEvent) => any; +declare var onpointerover: (ev: PointerEvent) => any; +declare var onpointerup: (ev: PointerEvent) => any; +declare var onwheel: (ev: WheelEvent) => any; +declare var indexedDB: IDBFactory; +declare var msIndexedDB: IDBFactory; +declare function atob(encodedString: string): string; +declare function btoa(rawString: string): string; +declare function addEventListener(type: "MSGestureChange", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSGestureDoubleTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSGestureEnd", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSGestureHold", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSGestureStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSGestureTap", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerLeave", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerMove", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerOut", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerOver", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "MSPointerUp", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "compassneedscalibration", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "contextmenu", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "hashchange", listener: (ev: HashChangeEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "orientationchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "readystatechange", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "wheel", listener: (ev: WheelEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +///////////////////////////// +/// WorkerGlobalScope APIs +///////////////////////////// +// These are only available in a Web Worker +declare function importScripts(...urls: string[]): void; + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + + +interface ActiveXObject { + new (s: string): any; +} +declare var ActiveXObject: ActiveXObject; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +interface TextStreamBase { + + Column: number; + + + Line: number; + + + Close(): void; +} + +interface TextStreamWriter extends TextStreamBase { + + Write(s: string): void; + + + WriteBlankLines(intLines: number): void; + + + WriteLine(s: string): void; +} + +interface TextStreamReader extends TextStreamBase { + + Read(characters: number): string; + + + ReadAll(): string; + + + ReadLine(): string; + + + Skip(characters: number): void; + + + SkipLine(): void; + + + AtEndOfLine: boolean; + + + AtEndOfStream: boolean; +} + +declare var WScript: { + + Echo(s: any): void; + + + StdErr: TextStreamWriter; + + + StdOut: TextStreamWriter; + Arguments: { length: number; Item(n: number): string; }; + + + ScriptFullName: string; + + + Quit(exitCode?: number): number; + + + BuildVersion: number; + + + FullName: string; + + + Interactive: boolean; + + + Name: string; + + + Path: string; + + + ScriptName: string; + + + StdIn: TextStreamReader; + + + Version: string; + + + ConnectObject(objEventSource: any, strPrefix: string): void; + + + CreateObject(strProgID: string, strPrefix?: string): any; + + + DisconnectObject(obj: any): void; + + + GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; + + + Sleep(intTime: number): void; +}; + + +interface Enumerator { + + atEnd(): boolean; + + + item(): T; + + + moveFirst(): void; + + + moveNext(): void; +} + +interface EnumeratorConstructor { + new (collection: any): Enumerator; + new (collection: any): Enumerator; +} + +declare var Enumerator: EnumeratorConstructor; + + +interface VBArray { + + dimensions(): number; + + + getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; + + + lbound(dimension?: number): number; + + + ubound(dimension?: number): number; + + + toArray(): T[]; +} + +interface VBArrayConstructor { + new (safeArray: any): VBArray; + new (safeArray: any): VBArray; +} + +declare var VBArray: VBArrayConstructor; + + + +declare class AssetAdapter implements eui.IAssetAdapter { + /** + * @language zh_CN + * 解析素材 + * @param source 待解析的新素材标识符 + * @param compFunc 解析完成回调函数,示例:callBack(content:any,source:string):void; + * @param thisObject callBack的 this 引用 + */ + getAsset(source: string, compFunc: Function, thisObject: any): void; +} +declare class LoadingUI extends egret.Sprite { + constructor(); + private textField; + private createView(); + setProgress(current: any, total: any): void; +} +declare class ThemeAdapter implements eui.IThemeAdapter { + /** + * 解析主题 + * @param url 待解析的主题url + * @param compFunc 解析完成回调函数,示例:compFunc(e:egret.Event):void; + * @param errorFunc 解析失败回调函数,示例:errorFunc():void; + * @param thisObject 回调的this引用 + */ + getTheme(url: string, compFunc: Function, errorFunc: Function, thisObject: any): void; +} + + +declare module dragonBones { + /** + * @class dragonBones.DragonBones + * @classdesc + * DragonBones + */ + class DragonBones { + /** + * DragonBones当前数据格式版本 + */ + static DATA_VERSION: string; + static DATA_VERSION_4_5: string; + /** + * + */ + static PARENT_COORDINATE_DATA_VERSION: string; + static VERSION: string; + constructor(); + } +} +declare module dragonBones { + /** + * @class dragonBones.Animation + * @classdesc + * Animation实例隶属于Armature,用于控制Armature的动画播放。 + * @see dragonBones.Bone + * @see dragonBones.Armature + * @see dragonBones.AnimationState + * @see dragonBones.AnimationData + * + * @example +
+       //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        armatureDisplay.x = 200;
+        armatureDisplay.y = 500;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+
+
+        
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName:string = armature.animation.animationList[0];
+
+        var animation:dragonBones.Animation = armature.animation;
+
+        //gotoAndPlay的用法:动画播放,播放一遍
+        animation.gotoAndPlay(curAnimationName,0,-1,1);
+
+        //gotoAndStop的用法:
+        //curAnimationName = armature.animation.animationList[1];
+        //动画停在第二个动画的第0.2秒的位置
+        //animation.gotoAndStop(curAnimationName,0.2);
+        //动画停在第二个动画的一半的位置,如果第三个参数大于0,会忽略第二个参数
+        //animation.gotoAndStop(curAnimationName,0, 0.5);
+        //继续播放
+        //animation.play();
+        //暂停播放
+        //animation.stop();
+
+        //动画融合
+        //animation.gotoAndPlay(curAnimationName,0,-1,0,0,"group1");
+
+        //var animationState:dragonBones.AnimationState = armature.animation.getState(curAnimationName);
+        //animationState.addBoneMask("neck",true);
+        //播放第二个动画, 放到group "Squat"里
+        //curAnimationName = armature.animation.animationList[1];
+        //armature.animation.gotoAndPlay(curAnimationName,0,-1,0,0,"group2",dragonBones.Animation.SAME_GROUP);
+        //animationState = armature.animation.getState(curAnimationName);
+        //animationState.addBoneMask("hip",true);//“hip”是骨架的根骨骼的名字
+        //animationState.removeBoneMask("neck",true);
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class Animation { + static NONE: string; + static SAME_LAYER: string; + static SAME_GROUP: string; + static SAME_LAYER_AND_GROUP: string; + static ALL: string; + /** + * 标记是否开启自动补间。 + * 设置为 true时,Animation会根据动画数据的内容,在关键帧之间自动补间。设置为false时,所有动画均不补间 + * 默认值:true。 + * @member {boolean} dragonBones.Animation#tweenEnabled + */ + tweenEnabled: boolean; + private _armature; + private _animationStateList; + private _animationDataList; + private _animationList; + private _isPlaying; + private _timeScale; + /** @private */ + _lastAnimationState: AnimationState; + /** @private */ + _isFading: boolean; + /** @private */ + _animationStateCount: number; + /** + * 创建一个新的Animation实例并赋给传入的Armature实例 + * @param armature {Armature} 骨架实例 + */ + constructor(armature: Armature); + /** + * 回收Animation实例用到的所有资源 + */ + dispose(): void; + _resetAnimationStateList(): void; + /** + * 开始播放指定名称的动画。 + * 要播放的动画将经过指定时间的淡入过程,然后开始播放,同时之前播放的动画会经过相同时间的淡出过程。 + * @param animationName {string} 指定播放动画的名称. + * @param fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间. + * @param duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间. + * @param playTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN + * @param layer {number} 动画所处的层 + * @param group {string} 动画所处的组 + * @param fadeOutMode {string} 动画淡出模式 (none, sameLayer, sameGroup, sameLayerAndGroup, all).默认值:sameLayerAndGroup + * @param pauseFadeOut {boolean} 动画淡出时暂停播放 + * @param pauseFadeIn {boolean} 动画淡入时暂停播放 + * @returns {AnimationState} 动画播放状态实例 + * @see dragonBones.AnimationState. + */ + gotoAndPlay(animationName: string, fadeInTime?: number, duration?: number, playTimes?: number, layer?: number, group?: string, fadeOutMode?: string, pauseFadeOut?: boolean, pauseFadeIn?: boolean): AnimationState; + /** + * 播放指定名称的动画并停止于某个时间点 + * @param animationName {string} 指定播放的动画名称. + * @param time {number} 动画停止的绝对时间 + * @param normalizedTime {number} 动画停止的相对动画总时间的系数,这个参数和time参数是互斥的(例如 0.2:动画停止总时间的20%位置) 默认值:-1 意味着使用绝对时间。 + * @param fadeInTime {number} 动画淡入时间 (>= 0), 默认值:0 + * @param duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间. + * @param layer {string} 动画所处的层 + * @param group {string} 动画所处的组 + * @param fadeOutMode {string} 动画淡出模式 (none, sameLayer, sameGroup, sameLayerAndGroup, all).默认值:sameLayerAndGroup + * @returns {AnimationState} 动画播放状态实例 + * @see dragonBones.AnimationState. + */ + gotoAndStop(animationName: string, time: number, normalizedTime?: number, fadeInTime?: number, duration?: number, layer?: number, group?: string, fadeOutMode?: string): AnimationState; + /** + * 从当前位置继续播放动画 + */ + play(): void; + /** + * 暂停动画播放 + */ + stop(): void; + /** + * 获得指定名称的 AnimationState 实例. + * @returns {AnimationState} AnimationState 实例. + * @see dragonBones..AnimationState. + */ + getState(name: string, layer?: number): AnimationState; + /** + * 检查是否包含指定名称的动画. + * @returns {boolean}. + */ + hasAnimation(animationName: string): boolean; + /** @private */ + _advanceTime(passedTime: number): void; + /** @private */ + _updateAnimationStates(): void; + private addState(animationState); + private removeState(animationState); + /** + * 不推荐的API.推荐使用 animationList. + */ + movementList: Array; + /** + * 不推荐的API.推荐使用 lastAnimationName. + */ + movementID: string; + /** + * 最近播放的 AnimationState 实例。 + * @member {AnimationState} dragonBones.Animation#lastAnimationState + * @see dragonBones.AnimationState + */ + lastAnimationState: AnimationState; + /** + * 最近播放的动画名称. + * @member {string} dragonBones.Animation#lastAnimationName + */ + lastAnimationName: string; + /** + * 所有动画名称列表. + * @member {string[]} dragonBones.Animation#animationList + */ + animationList: Array; + /** + * 是否正在播放 + * @member {boolean} dragonBones.Animation#isPlaying + */ + isPlaying: boolean; + /** + * 最近播放的动画是否播放完成. + * @member {boolean} dragonBones.Animation#isComplete + */ + isComplete: boolean; + /** + * 时间缩放倍数 + * @member {number} dragonBones.Animation#timeScale + */ + timeScale: number; + /** + * 包含的所有动画数据列表 + * @member {AnimationData[]} dragonBones.Animation#animationDataList + * @see dragonBones.AnimationData. + */ + animationDataList: Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.AnimationState + * @classdesc + * AnimationState 实例由 Animation 实例播放动画时产生, 可以对单个动画的播放进行最细致的调节。 + * @see dragonBones.Animation + * @see dragonBones.AnimationData + * + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        armatureDisplay.x = 200;
+        armatureDisplay.y = 500;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+      
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName:string = armature.animation.animationList[0];
+        //播放这个动画
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //获取animationState可以对动画进行更多控制;
+        var animationState:dragonBones.AnimationState = armature.animation.getState(curAnimationName);
+      
+        //下面的代码实现人物的脖子和头动,但是其他部位不动
+        animationState.addBoneMask("neck",true);
+        //下面的代码实现人物的身体动,但是脖子和头不动
+        //animationState.addBoneMask("hip",true);//“hip”是骨架的根骨骼的名字
+        //animationState.removeBoneMask("neck",true);
+        //下面的代码实现动画幅度减小的效果
+        //animationState.weight = 0.5;
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+           dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class AnimationState { + private static _pool; + /** @private */ + static _borrowObject(): AnimationState; + /** @private */ + static _returnObject(animationState: AnimationState): void; + /** @private */ + static _clear(): void; + /** + * 标记是否控制display的切换。 + * 设置为 true时,该 AnimationState 会控制display的切换 + * 默认值:true。 + * @member {boolean} dragonBones.AnimationState#displayControl + * @see dragonBones.Bone#displayController + * @see dragonBones.Bone#display + */ + displayControl: boolean; + additiveBlending: boolean; + /** + * 标记动画播放完毕时是否自动淡出。 + * 默认值:true。 + * @member {boolean} dragonBones.AnimationState#autoFadeOut + */ + autoFadeOut: boolean; + /** + * 淡出时间。 + * @member {number} dragonBones.AnimationState#fadeOutTime + */ + fadeOutTime: number; + /** + * 动画权重(0~1)。 + * 默认值:1。 + * @member {number} dragonBones.AnimationState#weight + */ + weight: number; + /** + * 是否自动补间。 + * @member {boolean} dragonBones.AnimationState#autoTween + */ + autoTween: boolean; + /** + * 动画循环播放时,从最后一帧到第一帧是否自动补间。 + * 默认值:true + * @member {boolean} dragonBones.AnimationState#lastFrameAutoTween + */ + lastFrameAutoTween: boolean; + /** @private */ + _layer: number; + /** @private */ + _group: string; + private _armature; + private _timelineStateList; + private _slotTimelineStateList; + private _boneMasks; + private _isPlaying; + private _time; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _pausePlayheadInFade; + private _isFadeOut; + private _fadeTotalWeight; + private _fadeWeight; + private _fadeCurrentTime; + private _fadeBeginTime; + private _name; + private _clip; + private _isComplete; + private _currentPlayTimes; + private _totalTime; + private _currentTime; + private _lastTime; + private _fadeState; + private _fadeTotalTime; + private _timeScale; + private _playTimes; + constructor(); + private clear(); + _resetTimelineStateList(): void; + /** + * 检查指定名称的骨头是否在遮罩中。只有在遮罩中的骨头动画才会被播放 + * @param boneName {string} dragonBones.AnimationState#containsBoneMask + * @returns {boolean} + */ + containsBoneMask(boneName: string): boolean; + /** + * 将一个骨头加入遮罩。只有加入遮罩的骨头的动画才会被播放,如果没有骨头加入遮罩,则所有骨头的动画都会播放。通过这个API可以实现只播放角色的一部分. + * @param boneName {string} 骨头名称. + * @param ifInvolveChildBones {boolean} 是否影响子骨头。默认值:true. + * @returns {AnimationState} 动画播放状态实例 + */ + addBoneMask(boneName: string, ifInvolveChildBones?: boolean): AnimationState; + /** + * 将一个指定名称的骨头从遮罩中移除. + * @param boneName {string} 骨头名称. + * @param ifInvolveChildBones {boolean} 是否影响子骨头。默认值:true. + * @returns {AnimationState} 动画播放状态实例 + */ + removeBoneMask(boneName: string, ifInvolveChildBones?: boolean): AnimationState; + /** + * 清空骨头遮罩. + * @returns {AnimationState} 动画播放状态实例 + */ + removeAllMixingTransform(): AnimationState; + private addBoneToBoneMask(boneName); + private removeBoneFromBoneMask(boneName); + /** + * @private + * Update timeline state based on mixing transforms and clip. + */ + _updateTimelineStates(): void; + private addTimelineState(timelineName); + private removeTimelineState(timelineState); + private addSlotTimelineState(timelineName); + private removeSlotTimelineState(timelineState); + /** + * 播放当前动画。如果动画已经播放完毕, 将不会继续播放. + * @returns {AnimationState} 动画播放状态实例 + */ + play(): AnimationState; + /** + * 暂停当前动画的播放。 + * @returns {AnimationState} 动画播放状态实例 + */ + stop(): AnimationState; + /** @private */ + _fadeIn(armature: Armature, clip: AnimationData, fadeTotalTime: number, timeScale: number, playTimes: number, pausePlayhead: boolean): AnimationState; + /** + * 淡出当前动画 + * @param fadeTotalTime {number} 淡出时间 + * @param pausePlayhead {boolean} 淡出时动画是否暂停。 + */ + fadeOut(fadeTotalTime: number, pausePlayhead: boolean): AnimationState; + /** @private */ + _advanceTime(passedTime: number): boolean; + private advanceFadeTime(passedTime); + private advanceTimelinesTime(passedTime); + private updateMainTimeline(isThisComplete); + private hideBones(); + setAdditiveBlending(value: boolean): AnimationState; + setAutoFadeOut(value: boolean, fadeOutTime?: number): AnimationState; + setWeight(value: number): AnimationState; + setFrameTween(autoTween: boolean, lastFrameAutoTween: boolean): AnimationState; + setCurrentTime(value: number): AnimationState; + setTimeScale(value: number): AnimationState; + setPlayTimes(value?: number): AnimationState; + /** + * 动画的名字 + * @member {string} dragonBones.AnimationState#name + */ + name: string; + /** + * 动画所在的层 + * @member {number} dragonBones.AnimationState#layer + */ + layer: number; + /** + * 动画所在的组 + * @member {string} dragonBones.AnimationState#group + */ + group: string; + /** + * 动画包含的动画数据 + * @member {AnimationData} dragonBones.AnimationState#clip + */ + clip: AnimationData; + /** + * 是否播放完成 + * @member {boolean} dragonBones.AnimationState#isComplete + */ + isComplete: boolean; + /** + * 是否正在播放 + * @member {boolean} dragonBones.AnimationState#isPlaying + */ + isPlaying: boolean; + /** + * 当前播放次数 + * @member {number} dragonBones.AnimationState#currentPlayTimes + */ + currentPlayTimes: number; + /** + * 动画总时长(单位:秒) + * @member {number} dragonBones.AnimationState#totalTime + */ + totalTime: number; + /** + * 动画当前播放时间(单位:秒) + * @member {number} dragonBones.AnimationState#currentTime + */ + currentTime: number; + fadeWeight: number; + fadeState: number; + fadeTotalTime: number; + /** + * 时间缩放系数。用于调节动画播放速度 + * @member {number} dragonBones.AnimationState#timeScale + */ + timeScale: number; + /** + * 播放次数 (0:循环播放, >0:播放次数) + * @member {number} dragonBones.AnimationState#playTimes + */ + playTimes: number; + } +} +declare module dragonBones { + /** + * @class dragonBones.IAnimatable + * @classdesc + * 可播放动画组件接口,Armature 和 WordClock都实现了该接口 + * 实现该接口的实例可以加到WorldClock时钟中统一由时钟控制动画的播放 + * @see dragonBones.WorldClock + * @see dragonBones.Armature + */ + interface IAnimatable { + /** + * 使用这个方法更新动画状态。一般来说,这个方法需要在 ENTERFRAME 事件的响应函数中被调用 + * @param passedTime 动画向前播放的时间(单位:秒) + */ + advanceTime(passedTime: number): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.IAnimationState + * @classdesc + * 动画状态接口,目前只在动画缓存管理器中生成动画数据时使用 + * @see dragonBones.AnimationCacheManager + */ + interface IAnimationState { + progress: number; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotTimelineState + * @classdesc + * SlotTimelineState 负责计算 Slot 的时间轴动画。 + * SlotTimelineState 实例隶属于 AnimationState. AnimationState在创建时会为每个包含动作的 Slot生成一个 SlotTimelineState 实例. + * @see dragonBones.Animation + * @see dragonBones.AnimationState + * @see dragonBones.Slot + */ + class SlotTimelineState { + private static HALF_PI; + private static DOUBLE_PI; + private static _pool; + /** @private */ + static _borrowObject(): SlotTimelineState; + /** @private */ + static _returnObject(timeline: SlotTimelineState): void; + /** @private */ + static _clear(): void; + name: string; + /** @private */ + _weight: number; + /** @private */ + _blendEnabled: boolean; + /** @private */ + _isComplete: boolean; + /** @private */ + _animationState: AnimationState; + private _totalTime; + private _currentTime; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _tweenEasing; + private _tweenCurve; + private _tweenColor; + private _rawAnimationScale; + private _updateMode; + private _armature; + private _animation; + private _slot; + private _timelineData; + private _durationColor; + constructor(); + private clear(); + /** @private */ + _fadeIn(slot: Slot, animationState: AnimationState, timelineData: SlotTimeline): void; + /** @private */ + _fadeOut(): void; + /** @private */ + _update(progress: number): void; + private updateMultipleFrame(progress); + private updateToNextFrame(currentPlayTimes?); + private updateTween(); + private updateSingleFrame(); + } +} +declare module dragonBones { + /** + * @class dragonBones.TimelineState + * @classdesc + * TimelineState 负责计算 Bone 的时间轴动画。 + * TimelineState 实例隶属于 AnimationState. AnimationState在创建时会为每个包含动作的 Bone生成一个 TimelineState 实例. + * @see dragonBones.Animation + * @see dragonBones.AnimationState + * @see dragonBones.Bone + */ + class TimelineState { + private static HALF_PI; + private static DOUBLE_PI; + private static _pool; + /** @private */ + static _borrowObject(): TimelineState; + /** @private */ + static _returnObject(timeline: TimelineState): void; + /** @private */ + static _clear(): void; + name: string; + /** @private */ + _weight: number; + /** @private */ + _transform: DBTransform; + /** @private */ + _pivot: Point; + /** @private */ + _isComplete: boolean; + /** @private */ + _animationState: AnimationState; + private _totalTime; + private _currentTime; + private _lastTime; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _tweenEasing; + private _tweenTransform; + private _tweenScale; + private _tweenColor; + private _tweenCurve; + private _rawAnimationScale; + private _updateMode; + private _armature; + private _animation; + private _bone; + private _timelineData; + private _originTransform; + private _originPivot; + private _durationTransform; + private _durationPivot; + private _durationColor; + constructor(); + private clear(); + /** @private */ + _fadeIn(bone: Bone, animationState: AnimationState, timelineData: TransformTimeline): void; + /** @private */ + _fadeOut(): void; + /** @private */ + _update(progress: number): void; + private updateMultipleFrame(progress); + private updateToNextFrame(currentPlayTimes?); + private updateTween(); + private updateSingleFrame(); + } +} +declare module dragonBones { + /** + * @class dragonBones.WorldClock + * @classdesc + * WorldClock 提供时钟的支持,为控制每个加入时钟的 IAnimatable 对象正确的播放动画。 + * 一般来说,每当 Armature 被创建出来后,只需要将之加入 WorldClock,之后只需要控制 WorldClock 的前进,就可以实现所有 Armature 的动画前进了 + * @see dragonBones.IAnimatable + * @see dragonBones.Armature + */ + class WorldClock implements IAnimatable { + /** + * 可以直接使用的全局静态时钟实例. + * @type dragonBones.WorldClock + */ + static clock: WorldClock; + private _animatableList; + private _time; + time: number; + private _timeScale; + private _animatable; + private _length; + private _currentIndex; + private _i; + /** + * 时间缩放系数。用于实现动画的变速播放 + * @member {number} dragonBones.WorldClock#timeScale + */ + timeScale: number; + /** + * 创建一个新的 WorldClock 实例。 + * 一般来说,不需要单独创建 WorldClock 的实例,可以直接使用 WorldClock.clock 静态实例就可以了。 + * @param time {number} 开始时间 + * @param timeScale {number} 时间缩放系数 + */ + constructor(time?: number, timeScale?: number); + /** + * 检查是否包含指定的 IAnimatable 实例 + * @param animatable {IAnimatable} IAnimatable 实例 + * @returns {boolean} + */ + contains(animatable: IAnimatable): boolean; + /** + * 将一个 IAnimatable 实例加入到时钟 + * @param animatable {IAnimatable} IAnimatable 实例 + */ + add(animatable: IAnimatable): void; + /** + * 将一个 IAnimatable 实例从时钟中移除 + * @param animatable {IAnimatable} IAnimatable 实例 + */ + remove(animatable: IAnimatable): void; + /** + * 从时钟中移除所有的 IAnimatable 实例. + */ + clear(): void; + /** + * 更新所有包含的 IAnimatable 实例,将他们的动画向前播放指定的时间。一般来说,这个方法需要在 ENTERFRAME 事件的响应函数中被调用 + * @param passedTime {number} 前进的时间,默认值为-1,DragonBones会自动为你计算当前帧与上一帧的时间差 + */ + advanceTime(passedTime?: number): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.EventDispatcher + * @classdesc + * 事件派发者 + */ + class EventDispatcher extends egret.EventDispatcher { + constructor(target?: egret.IEventDispatcher); + } +} +declare module dragonBones { + /** + * + * + * @example +
+        private exampleEvent():void
+        {
+            //获取动画数据
+            var skeletonData = RES.getRes("skeleton");
+            //获取纹理集数据
+            var textureData = RES.getRes("textureConfig");
+            //获取纹理集图片
+            var texture = RES.getRes("texture");
+
+            //创建一个工厂,用来创建Armature
+            var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+            //把动画数据添加到工厂里
+            factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+            //把纹理集数据和图片添加到工厂里
+            factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+            //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+            var armatureName:string = skeletonData.armature[0].name;
+            //从工厂里创建出Armature
+            var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+            //获取装载Armature的容器
+            var armatureDisplay = armature.display;
+            armatureDisplay.x = 200;
+            armatureDisplay.y = 400;
+            //把它添加到舞台上
+            this.addChild(armatureDisplay);
+
+            //监听事件时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.onFrameEvent,this);
+            //监听骨骼时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.BONE_FRAME_EVENT, this.onFrameEvent,this);
+            //监听动画完成事件
+            armature.addEventListener(dragonBones.AnimationEvent.COMPLETE, this.onAnimationEvent,this);
+            //监听动画开始事件
+            armature.addEventListener(dragonBones.AnimationEvent.START, this.onAnimationEvent,this);
+            //监听循环动画,播放完一遍的事件
+            armature.addEventListener(dragonBones.AnimationEvent.LOOP_COMPLETE, this.onAnimationEvent,this);
+            //监听声音事件
+            var soundManager:dragonBones.SoundEventManager = dragonBones.SoundEventManager.getInstance();
+            soundManager.addEventListener(dragonBones.SoundEvent.SOUND, this.onSoundEvent,this);
+
+            //取得这个Armature动画列表中的第一个动画的名字
+            var curAnimationName = armature.animation.animationList[0];
+            //播放一遍动画
+            armature.animation.gotoAndPlay(curAnimationName,0,-1,1);
+
+            //把Armature添加到心跳时钟里
+            dragonBones.WorldClock.clock.add(armature);
+            //心跳时钟开启
+            egret.Ticker.getInstance().register(function (advancedTime) {
+                dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+            }, this);
+        }
+        private onFrameEvent(evt: dragonBones.FrameEvent):void
+        {
+            //打印出事件的类型,和事件的帧标签
+            console.log(evt.type, evt.frameLabel);
+        }
+
+        private onAnimationEvent(evt: dragonBones.AnimationEvent):void
+        {
+            switch(evt.type)
+            {
+                case dragonBones.AnimationEvent.START:
+                     break;
+                case dragonBones.AnimationEvent.LOOP_COMPLETE:
+                     break;
+                case dragonBones.AnimationEvent.COMPLETE:
+                     //动画完成后销毁这个armature
+                     this.removeChild(evt.armature.display);
+                     dragonBones.WorldClock.clock.remove(evt.armature);
+                     evt.armature.dispose();
+                     break;
+            }
+        }
+
+        private onSoundEvent(evt: dragonBones.SoundEvent):void
+        {
+            //播放声音
+            var flySound:egret.Sound = RES.getRes(evt.sound);
+            console.log("soundEvent",evt.sound);
+        }
+
+       
+ */ + class SoundEventManager extends EventDispatcher { + private static _instance; + static getInstance(): SoundEventManager; + constructor(); + } +} +declare module dragonBones { + /** + * @class dragonBones.Armature + * @classdesc + * Armature 是 DragonBones 骨骼动画系统的核心。他包含需要加到场景的显示对象,所有的骨骼逻辑和动画系统 + * A Armature instance is the core of the skeleton animation system. It contains the object to display, all sub-bones and the object animation(s). + * @extends dragonBones.EventDispatcher + * @see dragonBones.ArmatureData + * @example + *
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay参数说明,具体详见Animation类
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class Armature extends EventDispatcher implements IAnimatable { + __dragonBonesData: DragonBonesData; + /** + * The instance dispatch sound event. + */ + private static _soundManager; + /** + * 骨架名。 + * 骨架名一般等于 ArmatureData 的名字 + * 默认值:true。 + * @member {string} dragonBones.Armature#name + */ + name: string; + /** + * 存储额外的用户数据。 + * @member {any} dragonBones.Armature#userData + */ + userData: any; + /** @private Set it to true when slot's zorder changed*/ + _slotsZOrderChanged: boolean; + /** @private Store event needed to dispatch in current frame. When advanceTime execute complete, dispath them.*/ + _eventList: Array; + /** @private Store slots based on slots' zOrder*/ + _slotList: Array; + /** @private Store bones based on bones' hierarchy (From root to leaf)*/ + _boneList: Array; + private _boneIKList; + /** @private ik*/ + _ikList: Array; + /** @private data version 4.5 and upper*/ + _skewEnable: boolean; + private _delayDispose; + private _lockDispose; + /** @private */ + _armatureData: ArmatureData; + /** + * 骨架数据。 + * @member {ArmatureData} dragonBones.Armature#armatureData + */ + armatureData: ArmatureData; + /** @private */ + _display: any; + /** + * 骨架显示对象。骨架创建出来后,需要把该显示对象加到场景中才能显示骨架。 + * 使用根据不同的渲染引擎,显示对象的类型可能不同。 + * @member {any} dragonBones.Armature#display + */ + display: any; + /** + * 不推荐的API,使用 display 属性代替。 + */ + getDisplay(): any; + /** @private */ + _animation: Animation; + /** + * 骨架的动画实例。 + * @member {Animation} dragonBones.Armature#animation + */ + animation: Animation; + private _isFading; + private _i; + private _len; + private _tmpBone; + private _childArmature; + private _tmpSlot; + constructor(display: any); + /** + * 清理骨架实例 + */ + dispose(): void; + /** + * 在下一帧强制更新指定名称的 Bone 及其包含的所有 Slot 的动画。 + * @param boneName {string} 骨头名。 默认值:null,相当于更新所有骨头。 + */ + invalidUpdate(boneName?: string): void; + /** + * 使用这个方法更新动画状态。一般来说,这个方法需要在 ENTERFRAME 事件的响应函数中被调用 + * @param passedTime 动画向前播放的时间(单位:秒) + */ + advanceTime(passedTime: number): void; + resetAnimation(): void; + /** + * 获取骨架包含的所有插槽 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {Slot[]} + */ + getSlots(returnCopy?: boolean): Array; + /** + * 获取指定名称的 Slot + * @param slotName {string} Slot名称 + * @returns {Slot} + */ + getSlot(slotName: string): Slot; + /** + * 获取包含指定显示对象的 Slot + * @param displayObj {any} 显示对象实例 + * @returns {Slot} + */ + getSlotByDisplay(displayObj: any): Slot; + /** + * 为指定名称的 Bone 添加一个子 Slot + * @param slot {Slot} Slot 实例 + * @param boneName {string} + * @see dragonBones.Bone + */ + addSlot(slot: Slot, boneName: string): void; + /** + * 移除指定的Slot + * @param slot {Slot} Slot 实例 + */ + removeSlot(slot: Slot): void; + /** + * 移除指定名称的Slot + * @param slotName {string} Slot 名称 + * @returns {Slot} 被成功移除的 Slot 实例 + */ + removeSlotByName(slotName: string): Slot; + /** + * 获取骨架包含的所有Bone + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {Bone[]} + */ + getBones(returnCopy?: boolean): Array; + /** + * 获取指定名称的 Bone + * @param boneName {string} Bone名称 + * @returns {Bone} + */ + getBone(boneName: string): Bone; + /** + * 获取包含指定显示对象的 Bone + * @param display {any} 显示对象实例 + * @returns {Bone} + */ + getBoneByDisplay(display: any): Bone; + /** + * 在骨架中为指定名称的 Bone 添加一个子 Bone + * @param bone {Bone} Bone 实例 + * @param parentName {string} 父骨头名称 默认:null + * @param updateLater {boolean} 是否延迟更新 默认:false,当需要一次添加很多Bone时,开启延迟更新能够提高效率 + */ + addBone(bone: Bone, parentName?: string, updateLater?: boolean): void; + /** + * 移除指定的 Bone + * @param bone {Bone} Bone 实例 + * @param updateLater {boolean} 是否延迟更新 默认:false,当需要一次移除很多Bone时,开启延迟更新能够提高效率 + */ + removeBone(bone: Bone, updateLater?: boolean): void; + /** + * 移除指定名称的 Bone + * @param boneName {string} Bone 名称 + * @returns {Bone} 被成功移除的 Bone 实例 + */ + removeBoneByName(boneName: string): Bone; + /** @private */ + _addBoneToBoneList(bone: Bone): void; + /** @private */ + _removeBoneFromBoneList(bone: Bone): void; + /** @private */ + _addSlotToSlotList(slot: Slot): void; + /** @private */ + _removeSlotFromSlotList(slot: Slot): void; + /** + * 按照显示层级为所有 Slot 排序 + */ + updateSlotsZOrder(): void; + _updateAnimationAfterBoneListChanged(ifNeedSortBoneList?: boolean): void; + private sortBoneList(); + /** @private When AnimationState enter a key frame, call this func*/ + _arriveAtFrame(frame: Frame, timelineState: TimelineState, animationState: AnimationState, isCross: boolean): void; + private sortSlot(slot1, slot2); + /** + * 获取Animation实例 + * @returns {any} Animation实例 + */ + getAnimation(): any; + getIKs(returnCopy?: boolean): Array; + buildIK(): void; + updateBoneCache(): void; + getIKTargetData(bone: Bone): Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.Matrix + * @classdesc + * Matrix 类表示一个转换矩阵,它确定如何将点从一个坐标空间映射到另一个坐标空间。您可以对一个显示对象执行不同的图形转换,方法是设置 Matrix 对象的属性,将该 Matrix 对象应用于 Transform 对象的 matrix 属性,然后应用该 Transform 对象作为显示对象的 transform 属性。这些转换函数包括平移(x 和 y 重新定位)、旋转、缩放和倾斜。 + * 这些转换类型统称为仿射转换。仿射转换在转换时保持线条笔直,因此平行线保持平行。 + * 转换矩阵对象为具有如下内容的 3 x 3 的矩阵: + * a c tx + * b d ty + * u v w + * 在传统的转换矩阵中,u、v 和 w 属性具有其他功能。Matrix 类只能在二维空间中操作,因此始终假定属性值 u 和 v 为 0.0,属性值 w 为 1.0。矩阵的有效值如下: + * a c tx + * b d ty + * 0 0 1 + * 您可以获取和设置 Matrix 对象的全部六个其他属性的值:a、b、c、d、tx 和 ty。 + * Matrix 类支持四种主要类型的转换:平移、缩放、旋转和倾斜。您可以使用特定的方法来设置这些转换的其中三个,如下表中所述: + * 转换 矩阵值 说明 + * 平移(置换) 将图像 tx 像素向右移动,将 ty 像素向下移动。 + * 1 0 tx + * 0 1 ty + * 0 0 1 + * 缩放 将每个像素的位置乘以 x 轴的 sx 和 y 轴的 sy,从而调整图像的大小。 + * Sx 0 0 + * 0 Sy 0 + * 0 0 1 + * 旋转 将图像旋转一个以弧度为单位的角度 q。 + * cos(q) -sin(q) 0 + * sin(q) cos(q) 0 + * 0 0 1 + * 倾斜或剪切 以平行于 x 轴或 y 轴的方向逐渐滑动图像。Matrix 对象的 b 属性表示斜角沿 y 轴的正切;Matrix 对象的 c 属性表示斜角沿 x 轴的正切。 + * 0 tan(skewX) 0 + * tan(skewY) 0 0 + * 0 0 1 + * 每个转换函数都将更改当前矩阵的属性,所以您可以有效地合并多个转换。为此,请先调用多个转换函数,再将矩阵应用于其显示对象目标(通过使用该显示对象的 transform 属性)。 + */ + class Matrix { + /** + * 缩放或旋转图像时影响像素沿 x 轴定位的值。 + * @member {number} dragonBones.Matrix#a + */ + a: number; + /** + * 旋转或倾斜图像时影响像素沿 y 轴定位的值。 + * @member {number} dragonBones.Matrix#b + */ + b: number; + /** + *旋转或倾斜图像时影响像素沿 x 轴定位的值。 + * @member {number} dragonBones.Matrix#c + */ + c: number; + /** + *缩放或旋转图像时影响像素沿 y 轴定位的值。 + * @member {number} dragonBones.Matrix#d + */ + d: number; + /** + *沿 x 轴平移每个点的距离。 + * @member {number} dragonBones.Matrix#tx + */ + tx: number; + /** + *沿 y 轴平移每个点的距离。 + * @member {number} dragonBones.Matrix#ty + */ + ty: number; + /** + *构造函数,实例化一个Matrix,默认为是一个单位矩阵 + */ + constructor(); + /** + *执行原始矩阵的逆转换。逆矩阵和单位矩阵相乘会得到的单位矩阵 + */ + invert(): void; + /** + *将某个矩阵与当前矩阵相乘,从而将这两个矩阵的几何效果有效地结合在一起。 + * 右乘,其几何意义是将两次几何变换变成一次 + * @param m + */ + concat(m: Matrix): void; + copyFrom(m: Matrix): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.DBTransform + * @classdesc + * Dragonbones中使用的transform + * 可以表示位移,旋转,缩放三种属性 + */ + class DBTransform { + /** + * x坐标值 + * @member {number} dragonBones.DBTransform#x + */ + x: number; + /** + * y坐标值 + * @member {number} dragonBones.DBTransform#y + */ + y: number; + /** + * x方向的斜切,一般和skewY一起变化,可以表示旋转 + * @member {number} dragonBones.DBTransform#skewX + */ + skewX: number; + /** + * y方向的斜切,一般和skewX一起变化,可以表示旋转 + * @member {number} dragonBones.DBTransform#skewY + */ + skewY: number; + /** + * x方向的缩放 + * @member {number} dragonBones.DBTransform#scaleX + */ + scaleX: number; + /** + * y方向的缩放 + * @member {number} dragonBones.DBTransform#scaleY + */ + scaleY: number; + /** + * 旋转,用弧度表示 + * @member {number} dragonBones.DBTransform#rotation + */ + rotation: number; + /** + * 创建一个 DBTransform 实例. + */ + constructor(); + /** + * 拷贝传入的transfrom实例的所有属性 + * @param node + */ + copy(transform: DBTransform): void; + /** + * transform加法 + * @param node + */ + add(transform: DBTransform): void; + /** + * transform减法 + * @param node + */ + minus(transform: DBTransform): void; + normalizeRotation(): void; + clone(): DBTransform; + /** + * 把DBTransform的所有属性转成用String类型表示 + * @return 一个字符串包含有DBTransform的所有属性 + */ + toString(): string; + } +} +declare module dragonBones { + /** + * @class dragonBones.DBObject + * @classdesc + * DBObject 是 Bone 和 Slot 的基类 + * @see dragonBones.Bone + * @see dragonBones.Slot + */ + class DBObject { + name: string; + /** + * 存储额外的用户数据。 + * @member {any} dragonBones.DBObject#userData + */ + userData: any; + /** + * 是否继承父亲的旋转属性。 + * @member {boolean} dragonBones.DBObject#inheritRotation + */ + inheritRotation: boolean; + /** + * 是否继承父亲的缩放属性。 + * @member {boolean} dragonBones.DBObject#inheritScale + */ + inheritScale: boolean; + /** + * 是否继承父亲的平移属性。 + * @member {boolean} dragonBones.DBObject#inheritTranslation + */ + inheritTranslation: boolean; + /** @private */ + _global: DBTransform; + /** @private */ + _globalTransformMatrix: Matrix; + static _tempParentGlobalTransformMatrix: Matrix; + static _tempParentGlobalTransform: DBTransform; + /** + * 相对世界坐标的 DBTransform 实例。 + * @member {DBTransform} dragonBones.DBObject#global + */ + global: DBTransform; + /** @private */ + _origin: DBTransform; + /** + * 骨架数据中的原始的相对父亲的 DBTransform 实例。 + * @member {DBTransform} dragonBones.DBObject#origin + */ + origin: DBTransform; + /** @private */ + _offset: DBTransform; + /** + * 用于运行时动态调整的 DBTransform 实例。 + * @member {DBTransform} dragonBones.DBObject#offset + */ + offset: DBTransform; + /** @private */ + _visible: boolean; + /** @private */ + _armature: Armature; + /** + * The armature this DBObject instance belongs to. + */ + armature: Armature; + /** @private */ + _setArmature(value: Armature): void; + /** @private */ + _parent: Bone; + /** + * Indicates the Bone instance that directly contains this DBObject instance if any. + */ + parent: Bone; + /** @private */ + _setParent(value: Bone): void; + constructor(); + /** + * 清理使用的资源用于垃圾回收 + */ + dispose(): void; + _calculateRelativeParentTransform(): void; + _calculateParentTransform(): ParentTransformObject; + _updateGlobal(): ParentTransformObject; + } +} +declare module dragonBones { + /** + * @class dragonBones.Bone + * @classdesc + * Bone 实例代表 Armature 中的一个骨头。一个Armature实例可以由很多 Bone组成。 + * Bone 在骨骼动画体系中是最重要的逻辑单元之一,负责动画中的平移旋转缩放的实现 + * @extends dragonBones.DBObject + * @see dragonBones.Armature + * @see dragonBones.Slot + * @see dragonBones.BoneData + * + * @example +
+        //获取动画数据 本例使用Knight例子.
+        //资源下载地址http://dragonbones.github.io/download_forwarding.html?download_url=downloads/dragonbonesdemos_v2.4.zip
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+        //这个资源需要自己准备
+        var horseHat = RES.getRes("horseHat");
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[1].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        armatureDisplay.x = 200;
+        armatureDisplay.y = 300;
+        this.addChild(armatureDisplay);
+
+        //以下四句代码,实现给骨骼添加slot的功能
+        //1.获取马头的骨骼
+        var horseHead:dragonBones.Bone = armature.getBone("horseHead");
+        //2.创建一个slot
+        var horseHatSlot:dragonBones.EgretSlot = new dragonBones.EgretSlot();
+        //3.给这个slot赋一个图片
+        horseHatSlot.display = new egret.Bitmap(horseHat);
+        //4.把这个slot添加到骨骼上
+        horseHead.addSlot(horseHatSlot);
+
+        //以下3句代码,实现了子骨骼的获取和播放子骨架的动画
+        //1.获取包含子骨架的骨骼
+        var weaponBone:dragonBones.Bone = armature.getBone("armOutside");
+        //2.获取骨骼上的子骨架
+        var childArmature:dragonBones.Armature = weaponBone.childArmature;
+        //3.播放子骨架的动画
+        childArmature.animation.gotoAndPlay("attack_sword_1",0,-1,0);
+
+
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class Bone extends DBObject { + /** + * The instance dispatch sound event. + */ + private static _soundManager; + static initWithBoneData(boneData: BoneData): Bone; + /** + * display控制者的名字,该名字对应一个 AnimationState 实例。 + * 当动画中有多个 AnimationState 存在时,我们可以通过指定 displayController 实现只有某个 AnimationState 能够控制 display 的切换。 + * 默认值:null。意味着所有 AnimationState 都能控制display的切换 + * @member {string} dragonBones.Bone#displayController + * @see dragonBones.AnimationState. + */ + displayController: string; + /** + * 标记是否将offset中的平移分量作用到子骨头 + * 默认值:true + * @member {true} dragonBones.Bone#applyOffsetTranslationToChild + * @see dragonBones.Bone#offset + */ + applyOffsetTranslationToChild: boolean; + /** + * 标记是否将offset中的旋转分量作用到子骨头 + * 默认值:true + * @member {true} dragonBones.Bone#applyOffsetRotationToChild + * @see dragonBones.Bone#offset + */ + applyOffsetRotationToChild: boolean; + /** + * 标记是否将offset中的缩放分量作用到子骨头 + * 默认值:true + * @member {true} dragonBones.Bone#applyOffsetScaleToChild + * @see dragonBones.Bone#offset + */ + applyOffsetScaleToChild: boolean; + rotationIK: number; + length: number; + isIKConstraint: boolean; + childrenBones: Array; + /** @private */ + _boneList: Array; + /** @private */ + _slotList: Array; + /** @private */ + _timelineStateList: Array; + /** @private */ + _tween: DBTransform; + /** @private */ + _tweenPivot: Point; + /** @private */ + _needUpdate: number; + /** @private */ + _isColorChanged: boolean; + /** @private */ + _globalTransformForChild: DBTransform; + /** @private */ + _globalTransformMatrixForChild: Matrix; + /** @private */ + _localTransform: DBTransform; + private _tempGlobalTransformForChild; + private _tempGlobalTransformMatrixForChild; + constructor(); + /** + * @inheritDoc + */ + dispose(): void; + /** + * 检查是否包含指定的 Bone 或者 Slot + * @param child {DBObject} Bone 实例 或者 Slot 实例 + * @returns {boolean} + */ + contains(child: DBObject): boolean; + /** + * 添加指定的 Bone 实例做为当前 Bone 实例的子骨头 + * @param childBone {Bone} 需要添加的 Bone 实例 + * @param updateLater {boolean} 是否延迟更新。默认false。当需要一次性添加很多 Bone 时,开启延迟更新能够提高效率 + */ + addChildBone(childBone: Bone, updateLater?: boolean): void; + /** + * 从当前 Bone 实例中移除指定的子骨头 + * @param childBone {Bone} 需要移除的 Bone 实例 + * @param updateLater {boolean} 是否延迟更新。默认false。当需要一次性移除很多 Bone 时,开启延迟更新能够提高效率 + */ + removeChildBone(childBone: Bone, updateLater?: boolean): void; + /** + * 向当前 Bone 实例中添加指定的 Slot 实例 + * @param childSlot {Slot} 需要添加的 Slot 实例 + */ + addSlot(childSlot: Slot): void; + /** + * 从当前 Bone 实例中移除指定的 Slot 实例 + * @param childSlot {Slot} 需要移除的 Slot 实例 + */ + removeSlot(childSlot: Slot): void; + /** @private */ + _setArmature(value: Armature): void; + /** + * 获取当前骨头包含的所有 Bone 实例 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {Bone[]} + */ + getBones(returnCopy?: boolean): Array; + /** + * 获取当前骨头包含的所有 Slot 实例 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {Slot[]} + */ + getSlots(returnCopy?: boolean): Array; + /** + * 在下一帧强制更新当前 Bone 实例及其包含的所有 Slot 的动画。 + */ + invalidUpdate(): void; + private operationInvalidUpdate(bone); + _calculateRelativeParentTransform(): void; + /** @private */ + _update(needUpdate?: boolean): void; + private updataLocalTransform(); + private updateGlobalTransform(); + /** @private */ + _updateColor(aOffset: number, rOffset: number, gOffset: number, bOffset: number, aMultiplier: number, rMultiplier: number, gMultiplier: number, bMultiplier: number, colorChanged: boolean): void; + adjustGlobalTransformMatrixByIK(): void; + /** @private */ + _hideSlots(): void; + /** @private When bone timeline enter a key frame, call this func*/ + _arriveAtFrame(frame: Frame, timelineState: TimelineState, animationState: AnimationState, isCross: boolean): void; + _updateGlobal(): ParentTransformObject; + /** @private */ + _addState(timelineState: TimelineState): void; + /** @private */ + _removeState(timelineState: TimelineState): void; + /** @private */ + _removeAllStates(): void; + private blendingTimeline(); + private sortState(state1, state2); + /** + * 不推荐的API,建议使用 slot.childArmature 替代 + */ + childArmature: Armature; + /** + * 不推荐的API,建议使用 slot.display 替代 + */ + display: any; + /** + * 不推荐的API,建议使用 offset 替代 + */ + node: DBTransform; + /** @private */ + visible: boolean; + /** + * 返回当前 Bone 实例包含的第一个 Slot 实例 + * @member {Slot} dragonBones.Bone#slot + */ + slot: Slot; + parentBoneRotation: number; + } +} +declare module dragonBones { + /** + * @class dragonBones.ITextureAltas + * @classdesc + * 纹理集的接口 + */ + interface IArmature extends IAnimatable { + getAnimation(): any; + resetAnimation(): void; + } +} +declare module dragonBones { + class IKConstraint { + private ikdata; + private armature; + bones: Array; + target: Bone; + bendDirection: number; + weight: number; + animationCacheBend: number; + animationCacheWeight: number; + constructor(data: IKData, armatureData: Armature); + dispose(): void; + compute(): void; + compute1(bone: Bone, target: Bone, weightA: number): void; + compute2(parent: Bone, child: Bone, targetX: number, targetY: number, bendDirection: number, weightA: number): Point; + private normalize(rotation); + } +} +declare module dragonBones { + /** + * @class dragonBones.Slot + * @classdesc + * Slot 实例是骨头上的一个插槽,是显示图片的容器。 + * 一个 Bone 上可以有多个Slot,每个Slot中同一时间都会有一张图片用于显示,不同的Slot中的图片可以同时显示。 + * 每个 Slot 中可以包含多张图片,同一个 Slot 中的不同图片不能同时显示,但是可以在动画进行的过程中切换,用于实现帧动画。 + * @extends dragonBones.DBObject + * @see dragonBones.Armature + * @see dragonBones.Bone + * @see dragonBones.SlotData + * + * @example +
+        //获取动画数据 本例使用Knight例子.
+        //资源下载地址http://dragonbones.github.io/download_forwarding.html?download_url=downloads/dragonbonesdemos_v2.4.zip
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+        //这个资源需要自己准备
+        var horseHat = RES.getRes("horseHat");
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[1].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        armatureDisplay.x = 200;
+        armatureDisplay.y = 300;
+        this.addChild(armatureDisplay);
+
+        //以下四句代码,实现给骨骼添加slot的功能
+        //1.获取马头的骨骼
+        var horseHead:dragonBones.Bone = armature.getBone("horseHead");
+        //2.创建一个slot
+        var horseHatSlot:dragonBones.EgretSlot = new dragonBones.EgretSlot();
+        //3.给这个slot赋一个图片
+        horseHatSlot.display = new egret.Bitmap(horseHat);
+        //4.把这个slot添加到骨骼上
+        horseHead.addSlot(horseHatSlot);
+
+        //以下3句代码,实现了子骨骼的获取和播放子骨架的动画
+        //1.获取包含子骨架的骨骼
+        var weaponBone:dragonBones.Bone = armature.getBone("armOutside");
+        //2.获取骨骼上的子骨架
+        var childArmature:dragonBones.Armature = weaponBone.childArmature;
+        //3.播放子骨架的动画
+        childArmature.animation.gotoAndPlay("attack_sword_1",0,-1,0);
+
+
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class Slot extends DBObject { + /** @private Need to keep the reference of DisplayData. When slot switch displayObject, it need to restore the display obect's origional pivot. */ + _displayDataList: Array; + /** @private */ + _originZOrder: number; + /** @private */ + _tweenZOrder: number; + /** @private */ + _offsetZOrder: number; + /** @private */ + _originDisplayIndex: number; + /** @private */ + _gotoAndPlay: string; + _defaultGotoAndPlay: string; + _displayList: Array; + _currentDisplayIndex: number; + _colorTransform: ColorTransform; + _currentDisplay: any; + _isShowDisplay: boolean; + _blendMode: string; + _isColorChanged: boolean; + _needUpdate: boolean; + _timelineStateList: Array; + constructor(); + /** + * 通过传入 SlotData 初始化Slot + * @param slotData + */ + initWithSlotData(slotData: SlotData): void; + /** + * @inheritDoc + */ + dispose(): void; + private sortState(state1, state2); + /** @private */ + _addState(timelineState: SlotTimelineState): void; + /** @private */ + _removeState(timelineState: SlotTimelineState): void; + /** @private */ + setArmature(value: Armature): void; + /** @private */ + _update(): void; + _calculateRelativeParentTransform(): void; + private updateChildArmatureAnimation(); + /** @private */ + _changeDisplay(displayIndex?: number): void; + /** @private + * Updates the display of the slot. + */ + _updateSlotDisplay(): void; + /** @private */ + visible: boolean; + /** + * 显示对象列表(包含 display 或者 子骨架) + * @member {any[]} dragonBones.Slot#displayList + */ + displayList: Array; + /** + * 当前的显示对象(可能是 display 或者 子骨架) + * @member {any} dragonBones.Slot#display + */ + display: any; + /** + * 不推荐的 API. 使用 display 属性代替 + */ + getDisplay(): any; + /** + * Unrecommended API. Please use .display = instead. + * @returns {any} + */ + setDisplay(value: any): void; + /** + * 当前的子骨架 + * @member {Armature} dragonBones.Slot#childArmature + */ + childArmature: Armature; + /** + * 显示顺序。(支持小数用于实现动态插入slot) + * @member {number} dragonBones.Slot#zOrder + */ + zOrder: number; + /** + * 混合模式 + * @member {string} dragonBones.Slot#blendMode + */ + blendMode: string; + /** + * 播放子骨架的动画 + * @member {string} dragonBones.Slot#gotoAndPlay + */ + gotoAndPlay: string; + /** + * @private + */ + _updateDisplay(value: any): void; + /** + * @private + */ + _getDisplayIndex(): number; + /** + * @private + * Adds the original display object to another display object. + * @param container + * @param index + */ + _addDisplayToContainer(container: any, index?: number): void; + /** + * @private + * remove the original display object from its parent. + */ + _removeDisplayFromContainer(): void; + /** + * @private + * Updates the transform of the slot. + */ + _updateTransform(): void; + /** + * @private + */ + _updateDisplayVisible(value: boolean): void; + /** + * @private + * Updates the color of the display object. + * @param a + * @param r + * @param g + * @param b + * @param aM + * @param rM + * @param gM + * @param bM + */ + _updateDisplayColor(aOffset: number, rOffset: number, gOffset: number, bOffset: number, aMultiplier: number, rMultiplier: number, gMultiplier: number, bMultiplier: number, colorChanged?: boolean): void; + /** + * @private + * Update the blend mode of the display object. + * @param value The blend mode to use. + */ + _updateDisplayBlendMode(value: string): void; + /** @private When bone timeline enter a key frame, call this func*/ + _arriveAtFrame(frame: Frame, timelineState: SlotTimelineState, animationState: AnimationState, isCross: boolean): void; + _updateGlobal(): ParentTransformObject; + _resetToOrigin(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.AnimationCache + * @classdesc + * AnimationCache 实例是动画缓存的实体,包含一个动画的所有缓存数据。 + * 每个Slot的缓存数据存在各个SlotTimelineCache中。 + * 一般来说 AnimationCache 不需要开发者直接操控,而是由AnimationCacheManager代为管理。 + * @see dragonBones.AnimationCacheManager + * @see dragonBones.TimelineCache + * @see dragonBones.SlotTimelineCache + * @see dragonBones.SlotFrameCache + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+        //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+        
+ */ + class AnimationCache { + name: string; + slotTimelineCacheList: Array; + slotTimelineCacheDic: any; + frameNum: number; + _cahceList: Array; + constructor(); + static initWithAnimationData(animationData: AnimationData, armatureData: ArmatureData): AnimationCache; + initSlotTimelineCacheDic(slotCacheGeneratorDic: any, slotFrameCacheDic: any): void; + bindCacheUserSlotDic(slotDic: any): void; + addFrame(frameIndex: number, armature: FastArmature): void; + update(progress: number): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.AnimationCacheManager + * @classdesc + * AnimationCacheManager 实例是动画缓存管理器,他可以为一个或多个同类型的Armature生成动画缓存数据,从而提高动画运行效率。 + * 目前AnimationCacheManager只支持对FastArmatrue生成缓存,以后会扩展为对任何实现ICacheableArmature接口的Armature生成缓存。 + * @see dragonBones.ICacheableArmature + * @see dragonBones.FastArmature + * @see dragonBones.AnimationCache + * @see dragonBones.FrameCache + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class AnimationCacheManager { + cacheGeneratorArmature: ICacheableArmature; + armatureData: ArmatureData; + frameRate: number; + animationCacheDic: any; + slotFrameCacheDic: any; + constructor(); + /** + * 通过ArmatrueData创建并初始化AnimationCacheManager。 + * AnimationCacheManager的创建需要依赖ArmatrueData。 + * @param armatureData {ArmatureData} 骨架数据实例。 + * @param frameRate {number} 帧频。帧频决定生成数据缓存的采样率。 + * @see dragonBones.ArmatureData. + */ + static initWithArmatureData(armatureData: ArmatureData, frameRate?: number): AnimationCacheManager; + /** + * 为所有动画初始化AnimationCache实例。在生成动画缓存之前需要调用这个API生成相应的AnimationCache实例 + * @see dragonBones.AnimationCache. + */ + initAllAnimationCache(): void; + /** + * 指定动画名,初始化AnimationCache实例。在生成动画缓存之前需要调用这个API生成相应的AnimationCache实例 + * @param animationName {string} 动画名。 + * @see dragonBones.AnimationCache. + */ + initAnimationCache(animationName: string): void; + /** + * 绑定Armature列表做为动画缓存的使用者。 + * 在为Armature生成动画缓存之前,需要将其绑定为动画缓存的使用者 + * @param armatures {Array} 骨架列表。 + * @see dragonBones.ICacheableArmature. + */ + bindCacheUserArmatures(armatures: Array): void; + /** + * 绑定制定Armature做为动画缓存的使用者。 + * 在为Armature生成动画缓存之前,需要将其绑定为动画缓存的使用者 + * @param armatures {FastArmature} 要绑定为缓存使用者的骨架对象。 + * @see dragonBones.ICacheableArmature. + */ + bindCacheUserArmature(armature: FastArmature): void; + /** + * 设置指定的Armature做为动画缓存的生成器。(同一个Armature可以既是缓存使用者,也是缓存生成器) + * 在为Armature生成动画缓存之前,需要设置动画缓存的生成器 + * @param armatures {FastArmature} 要设置为缓存生成器的骨架对象。 + * @see dragonBones.ICacheableArmature. + */ + setCacheGeneratorArmature(armature: FastArmature): void; + /** + * 生成所有动画缓存数据。生成之后,所有绑定CacheUser的Armature就都能够使用这些缓存了。 + * 在为调用这个API生成动画缓存之前,需要: + * 1.调用API initAllAnimationCache 初始化AnimationCache实例 + * 2.调用API setCacheGeneratorArmature 设置动画缓存的生成器, + * 3.调用API bindCacheUserArmatures 绑定动画缓存的使用者 + * @param loop {boolean} 要生成缓存的动画是否需要循环播放。如果该动画在播放时只需要播放一次,则设置为false。如果需要播放大于一次,则设置为true。 + * @see dragonBones.AnimationCache + */ + generateAllAnimationCache(loop: boolean): void; + /** + * 生成指定动画缓存数据。生成之后,所有绑定CacheUser的Armature就都能够使用这些缓存了。 + * 在为调用这个API生成动画缓存之前,需要: + * 1.调用API initAnimationCache 初始化AnimationCache实例 + * 2.调用API setCacheGeneratorArmature 设置动画缓存的生成器, + * 3.调用API bindCacheUserArmatures 绑定动画缓存的使用者 + * @param animationName {string} 要生成缓存的动画名。 + * @param loop {boolean} 要生成缓存的动画是否需要循环播放。如果该动画在播放时只需要播放一次,则设置为false。如果需要播放大于一次,则设置为true。 + * @see dragonBones.AnimationCache + */ + generateAnimationCache(animationName: string, loop: boolean): void; + /** + * 将缓存生成器骨架重置,生成动画缓存后调用。 + * @see dragonBones.ICacheableArmature + */ + resetCacheGeneratorArmature(): void; + /** + * 获取制定名称的AnimationCache实例。 + * @param animationName {string} 动画名。 + * @see dragonBones.AnimationCache + */ + getAnimationCache(animationName: string): AnimationCache; + } +} +declare module dragonBones { + /** + * + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class FrameCache { + private static ORIGIN_TRAMSFORM; + private static ORIGIN_MATRIX; + globalTransform: DBTransform; + globalTransformMatrix: Matrix; + constructor(); + copy(frameCache: FrameCache): void; + clear(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.ICacheUser + * @classdesc + * ICacheUser 接口定义了可以使用帧缓存的接口。 + * 目前只有FastSlot实现了该接口。 + * @see dragonBones.FastSlot + * @see dragonBones.ISlotCacheGenerator + */ + interface ICacheUser { + name: string; + frameCache: FrameCache; + } +} +declare module dragonBones { + /** + * @class dragonBones.ICacheableArmature + * @classdesc + * ICacheableArmature 接口定义了可以使用缓存的Armature的接口。 + * 目前只有FastArmature实现了该接口。 + * @see dragonBones.FastArmature + * @see dragonBones.IArmature + */ + interface ICacheableArmature extends IArmature { + enableCache: boolean; + enableEventDispatch: boolean; + } +} +declare module dragonBones { + /** + * @class dragonBones.ISlotCacheGenerator + * @classdesc + * ICacheUser 接口定义了可以生成Slot帧缓存的接口。 + * 目前只有FastSlot实现了该接口。 + * @see dragonBones.FastSlot + * @see dragonBones.ICacheUser + */ + interface ISlotCacheGenerator extends ICacheUser { + global: DBTransform; + globalTransformMatrix: Matrix; + colorChanged: boolean; + colorTransform: ColorTransform; + displayIndex: number; + gotoAndPlay: string; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotFrameCache + * @classdesc + * SlotFrameCache 存储了Slot的帧缓存数据。 + * @see dragonBones.FastSlot + * @see dragonBones.ICacheUser + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class SlotFrameCache extends FrameCache { + colorTransform: ColorTransform; + displayIndex: number; + gotoAndPlay: string; + constructor(); + copy(frameCache: FrameCache): void; + clear(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.TimelineCache + * @classdesc + * TimelineCache 是时间轴缓存基类存。 + * @see dragonBones.SlotTimelineCache + * @see dragonBones.FrameCache + * @see dragonBones.ICacheUser + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class TimelineCache { + name: string; + frameCacheList: Array; + currentFrameCache: FrameCache; + constructor(); + addFrame(frameIndex: number, armature: FastArmature): void; + update(frameIndex?: number): void; + bindCacheUser(cacheUser: ICacheUser): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotTimelineCache + * @classdesc + * SlotTimelineCache 存储了Slot的时间轴缓存数据。 + * @see dragonBones.TimelineCache + * @see dragonBones.SlotFrameCache + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class SlotTimelineCache extends TimelineCache { + cacheGenerator: ISlotCacheGenerator; + constructor(); + addFrame(frameIndex: number, armature: FastArmature): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.Event + * @classdesc + * 事件 + */ + class Event extends egret.Event { + /** + * 创建一个Event实例 + * @param type 事件的类型 + */ + constructor(type: string, bubbles?: boolean, cancelable?: boolean); + } +} +declare module dragonBones { + /** + * @class dragonBones.AnimationEvent + * @extends dragonBones.Event + * @classdesc + * 动画事件 + * + * @example +
+        private exampleEvent():void
+        {
+            //获取动画数据
+            var skeletonData = RES.getRes("skeleton");
+            //获取纹理集数据
+            var textureData = RES.getRes("textureConfig");
+            //获取纹理集图片
+            var texture = RES.getRes("texture");
+
+            //创建一个工厂,用来创建Armature
+            var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+            //把动画数据添加到工厂里
+            factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+            //把纹理集数据和图片添加到工厂里
+            factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+            //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+            var armatureName:string = skeletonData.armature[0].name;
+            //从工厂里创建出Armature
+            var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+            //获取装载Armature的容器
+            var armatureDisplay = armature.display;
+            armatureDisplay.x = 200;
+            armatureDisplay.y = 400;
+            //把它添加到舞台上
+            this.addChild(armatureDisplay);
+
+            //监听事件时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.onFrameEvent,this);
+            //监听骨骼时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.BONE_FRAME_EVENT, this.onFrameEvent,this);
+            //监听动画完成事件
+            armature.addEventListener(dragonBones.AnimationEvent.COMPLETE, this.onAnimationEvent,this);
+            //监听动画开始事件
+            armature.addEventListener(dragonBones.AnimationEvent.START, this.onAnimationEvent,this);
+            //监听循环动画,播放完一遍的事件
+            armature.addEventListener(dragonBones.AnimationEvent.LOOP_COMPLETE, this.onAnimationEvent,this);
+            //监听声音事件
+            var soundManager:dragonBones.SoundEventManager = dragonBones.SoundEventManager.getInstance();
+            soundManager.addEventListener(dragonBones.SoundEvent.SOUND, this.onSoundEvent,this);
+
+            //取得这个Armature动画列表中的第一个动画的名字
+            var curAnimationName = armature.animation.animationList[0];
+            //播放一遍动画
+            armature.animation.gotoAndPlay(curAnimationName,0,-1,1);
+
+            //把Armature添加到心跳时钟里
+            dragonBones.WorldClock.clock.add(armature);
+            //心跳时钟开启
+            egret.Ticker.getInstance().register(function (advancedTime) {
+                dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+            }, this);
+        }
+        private onFrameEvent(evt: dragonBones.FrameEvent):void
+        {
+            //打印出事件的类型,和事件的帧标签
+            console.log(evt.type, evt.frameLabel);
+        }
+
+        private onAnimationEvent(evt: dragonBones.AnimationEvent):void
+        {
+            switch(evt.type)
+            {
+                case dragonBones.AnimationEvent.START:
+                     break;
+                case dragonBones.AnimationEvent.LOOP_COMPLETE:
+                     break;
+                case dragonBones.AnimationEvent.COMPLETE:
+                     //动画完成后销毁这个armature
+                     this.removeChild(evt.armature.display);
+                     dragonBones.WorldClock.clock.remove(evt.armature);
+                     evt.armature.dispose();
+                     break;
+            }
+        }
+
+        private onSoundEvent(evt: dragonBones.SoundEvent):void
+        {
+            //播放声音
+            var flySound:egret.Sound = RES.getRes(evt.sound);
+            console.log("soundEvent",evt.sound);
+        }
+
+       
+ */ + class AnimationEvent extends Event { + /** + * 不推荐使用. + */ + static MOVEMENT_CHANGE: string; + /** + * 当动画缓入的时候派发 + */ + static FADE_IN: string; + /** + * 当动画缓出的时候派发 + */ + static FADE_OUT: string; + /** + * 当动画开始播放时派发 + */ + static START: string; + /** + * 当动画停止时派发 + */ + static COMPLETE: string; + /** + * 当动画播放完一轮后派发 + */ + static LOOP_COMPLETE: string; + /** + * 当动画缓入完成时派发 + */ + static FADE_IN_COMPLETE: string; + /** + * 当动画缓出结束后派发 + */ + static FADE_OUT_COMPLETE: string; + /** + * 不推荐的API. + * @member {string} dragonBones.AnimationEvent#movementID + */ + movementID: string; + /** + * animationState 的实例. + * @member {dragonBones.AnimationState} dragonBones.AnimationEvent#animationState + */ + animationState: any; + /** + * 配发出事件的骨架 + * @member {dragonBones.Armature} dragonBones.AnimationEvent#armature + */ + armature: Armature; + /** + * 获取动画的名字 + * @returns {string} + * @member {string} dragonBones.AnimationEvent#animationName + */ + animationName: string; + /** + * 创建一个新的 AnimationEvent 的实例 + * @param type 事件的类型 + * @param cancelable + */ + constructor(type: string, cancelable?: boolean); + } +} +declare module dragonBones { + /** + * @class dragonBones.ArmatureEvent + * @extends dragonBones.Event + * @classdesc + * 骨架事件 + */ + class ArmatureEvent extends Event { + /** + * 当zOrder成功更新后派发 + */ + static Z_ORDER_UPDATED: string; + /** + * 创建一个 ArmatureEvent 的实例 + * @param type 事件类型 + */ + constructor(type: string); + } +} +declare module dragonBones { + /** + * @class dragonBones.FrameEvent + * @extends dragonBones.Event + * @classdesc + * 帧事件 + * + * @example + *
+     *  private exampleEvent():void
+        {
+            //获取动画数据
+            var skeletonData = RES.getRes("skeleton");
+            //获取纹理集数据
+            var textureData = RES.getRes("textureConfig");
+            //获取纹理集图片
+            var texture = RES.getRes("texture");
+
+            //创建一个工厂,用来创建Armature
+            var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+            //把动画数据添加到工厂里
+            factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+            //把纹理集数据和图片添加到工厂里
+            factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+            //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+            var armatureName:string = skeletonData.armature[0].name;
+            //从工厂里创建出Armature
+            var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+            //获取装载Armature的容器
+            var armatureDisplay = armature.display;
+            armatureDisplay.x = 200;
+            armatureDisplay.y = 400;
+            //把它添加到舞台上
+            this.addChild(armatureDisplay);
+
+            //监听事件时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.onFrameEvent,this);
+            //监听骨骼时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.BONE_FRAME_EVENT, this.onFrameEvent,this);
+            //监听动画完成事件
+            armature.addEventListener(dragonBones.AnimationEvent.COMPLETE, this.onAnimationEvent,this);
+            //监听动画开始事件
+            armature.addEventListener(dragonBones.AnimationEvent.START, this.onAnimationEvent,this);
+            //监听循环动画,播放完一遍的事件
+            armature.addEventListener(dragonBones.AnimationEvent.LOOP_COMPLETE, this.onAnimationEvent,this);
+            //监听声音事件
+            var soundManager:dragonBones.SoundEventManager = dragonBones.SoundEventManager.getInstance();
+            soundManager.addEventListener(dragonBones.SoundEvent.SOUND, this.onSoundEvent,this);
+
+            //取得这个Armature动画列表中的第一个动画的名字
+            var curAnimationName = armature.animation.animationList[0];
+            //播放一遍动画
+            armature.animation.gotoAndPlay(curAnimationName,0,-1,1);
+
+            //把Armature添加到心跳时钟里
+            dragonBones.WorldClock.clock.add(armature);
+            //心跳时钟开启
+            egret.Ticker.getInstance().register(function (advancedTime) {
+                dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+            }, this);
+        }
+        private onFrameEvent(evt: dragonBones.FrameEvent):void
+        {
+            //打印出事件的类型,和事件的帧标签
+            console.log(evt.type, evt.frameLabel);
+        }
+
+        private onAnimationEvent(evt: dragonBones.AnimationEvent):void
+        {
+            switch(evt.type)
+            {
+                case dragonBones.AnimationEvent.START:
+                     break;
+                case dragonBones.AnimationEvent.LOOP_COMPLETE:
+                     break;
+                case dragonBones.AnimationEvent.COMPLETE:
+                     //动画完成后销毁这个armature
+                     this.removeChild(evt.armature.display);
+                     dragonBones.WorldClock.clock.remove(evt.armature);
+                     evt.armature.dispose();
+                     break;
+            }
+        }
+
+        private onSoundEvent(evt: dragonBones.SoundEvent):void
+        {
+            //播放声音
+            var flySound:egret.Sound = RES.getRes(evt.sound);
+            console.log("soundEvent",evt.sound);
+        }
+
+     * 
+ */ + class FrameEvent extends Event { + static MOVEMENT_FRAME_EVENT: string; + /** + * 当动画播放到一个关键帧时派发 + */ + static ANIMATION_FRAME_EVENT: string; + /** + * + */ + static BONE_FRAME_EVENT: string; + /** + * 当前的帧标签 + * @member {string} dragonBones.FrameEvent#frameLabel + */ + frameLabel: string; + bone: any; + /** + * 派发这个事件的骨架 + * @member {dragonBones.Armature} dragonBones.FrameEvent#armature + */ + armature: Armature; + /** + * animationState的实例 + * @member {dragonBones.AnimationState} dragonBones.FrameEvent#animationState + */ + animationState: any; + /** + * 创建一个新的 FrameEvent 实例 + * @param type 事件类型 + * @param cancelable + */ + constructor(type: string, cancelable?: boolean); + } +} +declare module dragonBones { + /** + * @class dragonBones.SoundEvent + * @extends dragonBones.Event + * @classdesc + * 声音事件 + * + * @example +
+        private exampleEvent():void
+        {
+            //获取动画数据
+            var skeletonData = RES.getRes("skeleton");
+            //获取纹理集数据
+            var textureData = RES.getRes("textureConfig");
+            //获取纹理集图片
+            var texture = RES.getRes("texture");
+
+            //创建一个工厂,用来创建Armature
+            var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+            //把动画数据添加到工厂里
+            factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+            //把纹理集数据和图片添加到工厂里
+            factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+
+            //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+            var armatureName:string = skeletonData.armature[0].name;
+            //从工厂里创建出Armature
+            var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+            //获取装载Armature的容器
+            var armatureDisplay = armature.display;
+            armatureDisplay.x = 200;
+            armatureDisplay.y = 400;
+            //把它添加到舞台上
+            this.addChild(armatureDisplay);
+
+            //监听事件时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.onFrameEvent,this);
+            //监听骨骼时间轴上的事件
+            armature.addEventListener(dragonBones.FrameEvent.BONE_FRAME_EVENT, this.onFrameEvent,this);
+            //监听动画完成事件
+            armature.addEventListener(dragonBones.AnimationEvent.COMPLETE, this.onAnimationEvent,this);
+            //监听动画开始事件
+            armature.addEventListener(dragonBones.AnimationEvent.START, this.onAnimationEvent,this);
+            //监听循环动画,播放完一遍的事件
+            armature.addEventListener(dragonBones.AnimationEvent.LOOP_COMPLETE, this.onAnimationEvent,this);
+            //监听声音事件
+            var soundManager:dragonBones.SoundEventManager = dragonBones.SoundEventManager.getInstance();
+            soundManager.addEventListener(dragonBones.SoundEvent.SOUND, this.onSoundEvent,this);
+
+            //取得这个Armature动画列表中的第一个动画的名字
+            var curAnimationName = armature.animation.animationList[0];
+            //播放一遍动画
+            armature.animation.gotoAndPlay(curAnimationName,0,-1,1);
+
+            //把Armature添加到心跳时钟里
+            dragonBones.WorldClock.clock.add(armature);
+            //心跳时钟开启
+            egret.Ticker.getInstance().register(function (advancedTime) {
+                dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+            }, this);
+        }
+        private onFrameEvent(evt: dragonBones.FrameEvent):void
+        {
+            //打印出事件的类型,和事件的帧标签
+            console.log(evt.type, evt.frameLabel);
+        }
+
+        private onAnimationEvent(evt: dragonBones.AnimationEvent):void
+        {
+            switch(evt.type)
+            {
+                case dragonBones.AnimationEvent.START:
+                     break;
+                case dragonBones.AnimationEvent.LOOP_COMPLETE:
+                     break;
+                case dragonBones.AnimationEvent.COMPLETE:
+                     //动画完成后销毁这个armature
+                     this.removeChild(evt.armature.display);
+                     dragonBones.WorldClock.clock.remove(evt.armature);
+                     evt.armature.dispose();
+                     break;
+            }
+        }
+
+        private onSoundEvent(evt: dragonBones.SoundEvent):void
+        {
+            //播放声音
+            var flySound:egret.Sound = RES.getRes(evt.sound);
+            console.log("soundEvent",evt.sound);
+        }
+
+       
+ */ + class SoundEvent extends Event { + /** + * Dispatched when the animation of the animation enter a frame containing sound labels. + */ + static SOUND: string; + /** + * The armature that is the target of this event. + */ + armature: Armature; + animationState: AnimationState; + sound: string; + /** + * Creates a new SoundEvent instance. + * @param type + * @param cancelable + */ + constructor(type: string, cancelable?: boolean); + } +} +declare module dragonBones { + /** + * @class dragonBones.BaseFactory + * @classdesc + * 工厂的基类 + * @extends dragonBones.EventDispatcher + * + * @example +
+         //获取动画数据
+         var skeletonData = RES.getRes("skeleton");
+         //获取纹理集数据
+         var textureData = RES.getRes("textureConfig");
+         //获取纹理集图片
+         var texture = RES.getRes("texture");
+      
+         //创建一个工厂,用来创建Armature
+         var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+         //把动画数据添加到工厂里
+         factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+         //把纹理集数据和图片添加到工厂里
+         factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+         //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+         var armatureName:string = skeletonData.armature[0].name;
+         //从工厂里创建出Armature
+         var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+         //获取装载Armature的容器
+         var armatureDisplay = armature.display;
+         //把它添加到舞台上
+         this.addChild(armatureDisplay);
+         //取得这个Armature动画列表中的第一个动画的名字
+         var curAnimationName = armature.animation.animationList[0];
+         //播放这个动画,gotoAndPlay参数说明,具体详见Animation类
+         //第一个参数 animationName {string} 指定播放动画的名称.
+         //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+         //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+         //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+         armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+         //把Armature添加到心跳时钟里
+         dragonBones.WorldClock.clock.add(armature);
+         //心跳时钟开启
+         egret.Ticker.getInstance().register(function (advancedTime) {
+             dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+         }, this);
+       
+ */ + class BaseFactory extends EventDispatcher { + static _helpMatrix: Matrix; + /** @private */ + dragonBonesDataDic: any; + /** @private */ + textureAtlasDic: any; + constructor(); + /** + * 释放资源 + * @param disposeData {boolean} (optional) 是否释放所有内部的引用 + */ + dispose(disposeData?: boolean): void; + /** + * 根据名字获取一个DragonBonesData + * @param name {string} 想要获取的DragonBonesData的名字 + * @returns {dragonBones.DragonBonesData} 返回指定名字的DragonBonesData(如果存在的话) + */ + getDragonBonesData(name: string): DragonBonesData; + /** + * 根据名字获取一个DragonBonesData(不推荐使用) + * 建议使用方法getDragonBonesData来代替这个方法 + */ + getSkeletonData(name: string): DragonBonesData; + /** + * 添加一个DragonBonesData实例 + * @param data {dragonBones.DragonBonesData} 一个DragonBonesData实例 + * @param name {string} (optional) DragonBonesData的名字 + */ + addDragonBonesData(data: DragonBonesData, name?: string): void; + /** + * 添加一个DragonBonesData实例(不推荐使用) + * 建议使用方法addDragonBonesData来代替 + */ + addSkeletonData(data: DragonBonesData, name?: string): void; + /** + * 根据名字移除一个DragonBonesData实例. + * @param name {string} 想要移除的DragonBonesData的名字 + */ + removeDragonBonesData(name: string): void; + /** + * 根据名字移除一个DragonBonesData实例.(不推荐使用) + * 建议使用方法removeDragonBonesData代替 + */ + removeSkeletonData(name: string): void; + /** + * 根据名字获取纹理集TextureAtlas + * @param name {string} 需要获取的纹理集TextureAtlas的名字 + * @returns {any} 纹理集TextureAtlas + */ + getTextureAtlas(name: string): any; + /** + * 添加一个纹理集 + * @param textureAtlas {any} 需要被添加的纹理集 + * @param name {string} (optional) 需要被添加的纹理集的名字 + */ + addTextureAtlas(textureAtlas: any, name?: string): void; + /** + * 移除指定名字的纹理集 + * @param name {string} 需要移除的纹理集的名字 + */ + removeTextureAtlas(name: string): void; + /** + * 获取TextureDisplay + * @param textureName {string} 纹理的名字 + * @param textureAtlasName {string} 纹理集的名字 + * @param pivotX {number} 轴点的x坐标 + * @param pivotY {number} 轴点的y坐标 + * @returns {any} 返回的TextureDisplay + */ + getTextureDisplay(textureName: string, textureAtlasName?: string, pivotX?: number, pivotY?: number): any; + /** + * 构建骨架 + * 一般情况下dragonBonesData和textureAtlas是一对一的,通过相同的key对应。 + * @param armatureName 骨架的名字 + * @param fromDragonBonesDataName 骨架数据的名字 可选参数 + * @param fromTextureAtlasName 纹理集的名字 可选参数 + * @param skinName 皮肤的名字 可选参数 + * @returns {*} + */ + buildArmature(armatureName: string, fromDragonBonesDataName?: string, fromTextureAtlasName?: string, skinName?: string): Armature; + /** + * 构建fast骨架 + * 一般情况下dragonBonesData和textureAtlas是一对一的,通过相同的key对应。 + * @param armatureName 骨架的名字 + * @param fromDragonBonesDataName 骨架数据的名字 可选参数 + * @param fromTextureAtlasName 纹理集的名字 可选参数 + * @param skinName 皮肤的名字 可选参数 + * @returns {*} + */ + buildFastArmature(armatureName: string, fromDragonBonesDataName?: string, fromTextureAtlasName?: string, skinName?: string): FastArmature; + /** + * 用dragonBones数据,骨架数据,纹理集数据来构建骨架 + * @param dragonBonesData dragonBones数据 + * @param armatureData 骨架数据 + * @param textureAtlas 纹理集 + * @param skinName 皮肤名称 可选参数 + * @returns {Armature} + */ + buildArmatureUsingArmatureDataFromTextureAtlas(dragonBonesData: DragonBonesData, armatureData: ArmatureData, textureAtlasName: string, skinName?: string): Armature; + /** + * 用dragonBones数据,骨架数据,纹理集数据来构建骨架 + * @param dragonBonesData dragonBones数据 + * @param armatureData 骨架数据 + * @param textureAtlas 纹理集 + * @param skinName 皮肤名称 可选参数 + * @returns {Armature} + */ + buildFastArmatureUsingArmatureDataFromTextureAtlas(dragonBonesData: DragonBonesData, armatureData: ArmatureData, textureAtlasName: string, skinName?: string): FastArmature; + /** + * 拷贝动画到骨架中 + * 暂时不支持ifRemoveOriginalAnimationList为false的情况 + * @param toArmature 拷贝到的那个骨架 + * @param fromArmatreName 从哪个骨架里拷贝,骨架的名字 + * @param fromDragonBonesDataName 从哪个DragonBones数据中拷贝,Dragonbones数据的名字 + * @param ifRemoveOriginalAnimationList 是否移除原骨架里的动画,暂时不支持为false的情况 + * @returns {boolean} + */ + copyAnimationsToArmature(toArmature: Armature, fromArmatreName: string, fromDragonBonesDataName?: string, ifRemoveOriginalAnimationList?: boolean): boolean; + private fillBuildArmatureDataPackageArmatureInfo(armatureName, dragonBonesDataName, outputBuildArmatureDataPackage); + private fillBuildArmatureDataPackageTextureInfo(fromTextureAtlasName, outputBuildArmatureDataPackage); + private findFirstDragonBonesData(); + private findFirstTextureAtlas(); + _buildBones(armature: Armature): void; + _buildSlots(armature: Armature, skinName: string, textureAtlasName: string): void; + _buildFastBones(armature: FastArmature): void; + _buildFastSlots(armature: FastArmature, skinName: string, textureAtlasName: string): void; + private getTextureData(textureName, textureAtlasName); + /** + * @private + * Generates an Armature instance. + * @returns {dragonBones.Armature} Armature An Armature instance. + */ + _generateArmature(): Armature; + /** + * @private + * Generates an Slot instance. + * @returns {dragonBones.Slot} Slot An Slot instance. + */ + _generateSlot(): Slot; + /** + * @private + * Generates an Armature instance. + * @returns {dragonBones.Armature} Armature An Armature instance. + */ + _generateFastArmature(): FastArmature; + /** + * @private + * Generates an Slot instance. + * @returns {dragonBones.Slot} Slot An Slot instance. + */ + _generateFastSlot(): FastSlot; + /** + * @private + * Generates a DisplayObject + * @param textureAtlas {any} The TextureAtlas. + * @param fullName {string} A qualified name. + * @param pivotX {number} A pivot x based value. + * @param pivotY {number} A pivot y based value. + * @returns {any} + */ + _generateDisplay(textureAtlas: any, fullName: string, pivotX: number, pivotY: number): any; + } + class BuildArmatureDataPackage { + dragonBonesDataName: string; + dragonBonesData: DragonBonesData; + armatureData: ArmatureData; + textureAtlas: any; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastArmature + * @classdesc + * FastArmature 是 DragonBones 高效率的骨骼动画系统。他能缓存动画数据,大大减少动画播放的计算 + * 不支持动态添加Bone和Slot,换装请通过更换Slot的dispaly或子骨架childArmature来实现 + * @extends dragonBones.EventDispatcher + * @see dragonBones.ArmatureData + * + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class FastArmature extends EventDispatcher implements ICacheableArmature { + /** + * The name should be same with ArmatureData's name + */ + name: string; + /** + * An object that can contain any user extra data. + */ + userData: any; + private _enableCache; + /** + * 保证CacheManager是独占的前提下可以开启,开启后有助于性能提高 + */ + isCacheManagerExclusive: boolean; + _cacheFrameIndex: number; + /** @private */ + _animation: FastAnimation; + /** @private */ + _display: any; + /** @private Store bones based on bones' hierarchy (From root to leaf)*/ + boneList: Array; + _boneDic: any; + private _boneIKList; + /** @private ik*/ + _ikList: Array; + /** @private Store slots based on slots' zOrder*/ + slotList: Array; + _slotDic: any; + /** @private data version 4.5 and upper*/ + _skewEnable: boolean; + slotHasChildArmatureList: Array; + _enableEventDispatch: boolean; + __dragonBonesData: DragonBonesData; + _armatureData: ArmatureData; + _slotsZOrderChanged: boolean; + _eventList: Array; + private _delayDispose; + private _lockDispose; + /** @private*/ + _useCache: boolean; + /** @private*/ + _isFrameCached: boolean; + constructor(display: any); + /** + * Cleans up any resources used by this instance. + */ + dispose(): void; + /** + * Update the animation using this method typically in an ENTERFRAME Event or with a Timer. + * @param The amount of second to move the playhead ahead. + */ + advanceTime(passedTime: number): void; + /** + * 开启动画缓存 + * @param {number} 帧速率,每秒缓存多少次数据,越大越流畅,若值小于零会被设置为动画数据中的默认帧率 + * @param {Array} 需要缓存的动画列表,如果为null,则全部动画都缓存 + * @param {boolean} 动画是否是循环动画,仅在3.0以下的数据格式使用,如果动画不是循环动画请设置为false,默认为true。 + * @return {AnimationCacheManager} 返回缓存管理器,可以绑定到其他armature以减少内存 + */ + enableAnimationCache(frameRate: number, animationList?: Array, loop?: boolean): AnimationCacheManager; + /** + * 获取指定名称的 Bone + * @param boneName {string} Bone名称 + * @returns {FastBone} + */ + getBone(boneName: string): FastBone; + /** + * 获取指定名称的 Slot + * @param slotName {string} Slot名称 + * @returns {FastSlot} + */ + getSlot(slotName: string): FastSlot; + /** + * 获取包含指定显示对象的 Bone + * @param display {any} 显示对象实例 + * @returns {FastBone} + */ + getBoneByDisplay(display: any): FastBone; + /** + * 获取包含指定显示对象的 Slot + * @param displayObj {any} 显示对象实例 + * @returns {FastSlot} + */ + getSlotByDisplay(displayObj: any): FastSlot; + /** + * 获取骨架包含的所有插槽 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {FastSlot[]} + */ + getSlots(returnCopy?: boolean): Array; + _updateBonesByCache(): void; + /** + * 在骨架中为指定名称的 FastBone 添加一个子 FastBone. + * 和Armature不同,FastArmature的这个方法不能在运行时动态添加骨骼 + * @param bone {FastBone} FastBone 实例 + * @param parentName {string} 父骨头名称 默认:null + */ + addBone(bone: FastBone, parentName?: string): void; + /** + * 为指定名称的 FastBone 添加一个子 FastSlot. + * 和Armature不同,FastArmature的这个方法不能在运行时动态添加插槽 + * @param slot {FastSlot} FastSlot 实例 + * @param boneName {string} + * @see dragonBones.Bone + */ + addSlot(slot: FastSlot, parentBoneName: string): void; + /** + * 按照显示层级为所有 Slot 排序 + */ + updateSlotsZOrder(): void; + private sortBoneList(); + /** @private When AnimationState enter a key frame, call this func*/ + arriveAtFrame(frame: Frame, animationState: FastAnimationState): void; + invalidUpdate(boneName?: string): void; + resetAnimation(): void; + private sortSlot(slot1, slot2); + /** + * 获取FastAnimation实例 + * @returns {any} FastAnimation实例 + */ + getAnimation(): any; + /** + * ArmatureData. + * @see dragonBones.ArmatureData. + */ + armatureData: ArmatureData; + /** + * An Animation instance + * @see dragonBones.Animation + */ + animation: FastAnimation; + /** + * Armature's display object. It's instance type depends on render engine. For example "flash.display.DisplayObject" or "startling.display.DisplayObject" + */ + display: any; + enableCache: boolean; + enableEventDispatch: boolean; + _addEvent(event: Event): void; + getIKs(returnCopy?: boolean): Array; + buildIK(): void; + updateBoneCache(): void; + getIKTargetData(bone: FastBone): Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastDBObject + * @classdesc + * FastDBObject 是 FastBone 和 FastSlot 的基类 + * @see dragonBones.FastBone + * @see dragonBones.FastSlot + */ + class FastDBObject { + private _name; + /** + * An object that can contain any user extra data. + */ + userData: any; + /** + * + */ + inheritRotation: boolean; + /** + * + */ + inheritScale: boolean; + /** + * + */ + inheritTranslation: boolean; + /** @private */ + _global: DBTransform; + /** @private */ + _globalTransformMatrix: Matrix; + /** @private */ + _globalBackup: DBTransform; + /** @private */ + _globalTransformMatrixBackup: Matrix; + static _tempParentGlobalTransform: DBTransform; + _frameCache: FrameCache; + /** @private */ + updateByCache(frameIndex: number): void; + /** @private */ + switchTransformToBackup(): void; + /** + * The armature this DBObject instance belongs to. + */ + armature: FastArmature; + /** @private */ + _origin: DBTransform; + /** @private */ + _visible: boolean; + /** @private */ + _parent: FastBone; + /** @private */ + setParent(value: FastBone): void; + constructor(); + /** + * Cleans up any resources used by this DBObject instance. + */ + dispose(): void; + _calculateParentTransform(): ParentTransformObject; + _updateGlobal(): ParentTransformObject; + _calculateRelativeParentTransform(): void; + name: string; + /** + * This DBObject instance global transform instance. + * @see dragonBones.DBTransform + */ + global: DBTransform; + globalTransformMatrix: Matrix; + /** + * This DBObject instance related to parent transform instance. + * @see dragonBones.DBTransform + */ + origin: DBTransform; + /** + * Indicates the Bone instance that directly contains this DBObject instance if any. + */ + parent: FastBone; + visible: boolean; + frameCache: FrameCache; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastBone + * @classdesc + * FastBone 实例代表 FastArmature 中的一个骨头。一个FastArmature实例可以由很多 FastBone组成。 + * FastBone 在骨骼动画体系中是最重要的逻辑单元之一,负责动画中的平移旋转缩放的实现 + * 和Bone相比,FastBone不能动态添加子骨骼和子插槽 + * @extends dragonBones.FastDBObject + * @see dragonBones.FastArmature + * @see dragonBones.FastSlot + * @see dragonBones.BoneData + */ + class FastBone extends FastDBObject { + static initWithBoneData(boneData: BoneData): FastBone; + slotList: Array; + boneList: Array; + /** @private */ + _timelineState: FastBoneTimelineState; + /** @private */ + _localTransform: DBTransform; + /** @private */ + _needUpdate: number; + _tweenPivot: Point; + rotationIK: number; + length: number; + isIKConstraint: boolean; + childrenBones: Array; + constructor(); + /** + * 获取当前骨头包含的所有 FastBone 实例 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {FastBone[]} + */ + getBones(returnCopy?: boolean): Array; + /** + * 获取当前骨头包含的所有 FastSlot 实例 + * @param returnCopy {boolean} 是否返回拷贝。默认:true + * @returns {FastSlot[]} + */ + getSlots(returnCopy?: boolean): Array; + /** + * @inheritDoc + */ + dispose(): void; + /** + * 在下一帧强制更新当前 Bone 实例及其包含的所有 Slot 的动画。 + */ + invalidUpdate(): void; + private operationInvalidUpdate(bone); + _calculateRelativeParentTransform(): void; + /** @private */ + updateByCache(frameIndex: number): void; + /** @private */ + update(needUpdate?: boolean): void; + private updataLocalTransform(); + private updateGlobalTransform(); + _updateGlobal(): ParentTransformObject; + adjustGlobalTransformMatrixByIK(): void; + /** @private */ + _hideSlots(): void; + private blendingTimeline(); + /** @private When bone timeline enter a key frame, call this func*/ + arriveAtFrame(frame: Frame, animationState: FastAnimationState): void; + /** + * 不推荐的API,建议使用 slot.childArmature 替代 + */ + childArmature: any; + /** + * 不推荐的API,建议使用 slot.display 替代 + */ + display: any; + /** @private */ + visible: boolean; + /** + * 返回当前 FastBone 实例包含的第一个 FastSlot 实例 + * @member {FastSlot} dragonBones.FastBone#slot + */ + slot: FastSlot; + parentBoneRotation: number; + parentBoneData: FastBone; + } +} +declare module dragonBones { + class FastIKConstraint { + private ikdata; + private armature; + bones: Array; + target: FastBone; + bendDirection: number; + weight: number; + animationCacheBend: number; + animationCacheWeight: number; + constructor(data: IKData, armatureData: FastArmature); + dispose(): void; + compute(): void; + compute1(bone: FastBone, target: FastBone, weightA: number): void; + compute2(parent: FastBone, child: FastBone, targetX: number, targetY: number, bendDirection: number, weightA: number): Point; + private normalize(rotation); + } +} +declare module dragonBones { + /** + * @class dragonBones.FastSlot + * @classdesc + * FastSlot 实例是骨头上的一个插槽,是显示图片的容器。 + * 一个 FastBone 上可以有多个FastSlot,每个FastSlot中同一时间都会有一张图片用于显示,不同的FastSlot中的图片可以同时显示。 + * 每个 FastSlot 中可以包含多张图片,同一个 FastSlot 中的不同图片不能同时显示,但是可以在动画进行的过程中切换,用于实现帧动画。 + * @extends dragonBones.DBObject + * @see dragonBones.FastArmature + * @see dragonBones.FastBone + * @see dragonBones.SlotData + */ + class FastSlot extends FastDBObject implements ISlotCacheGenerator { + /** @private Need to keep the reference of DisplayData. When slot switch displayObject, it need to restore the display obect's origional pivot. */ + /** @private */ + _originZOrder: number; + /** @private */ + _tweenZOrder: number; + /** @private */ + _offsetZOrder: number; + /** @private */ + _originDisplayIndex: number; + /** @private */ + _gotoAndPlay: string; + _defaultGotoAndPlay: string; + hasChildArmature: boolean; + _isColorChanged: boolean; + _colorTransform: ColorTransform; + _blendMode: string; + _displayIndex: number; + _rawDisplay: any; + _display: any; + _childArmature: FastArmature; + _displayList: Array; + _displayDataList: Array<[DisplayData, TextureData]>; + _cacheTimeline: SlotTimelineCache; + constructor(rawDisplay: any); + /** + * 通过传入 SlotData 初始化FastSlot + * @param slotData + */ + initWithSlotData(slotData: SlotData): void; + /** + * @inheritDoc + */ + dispose(): void; + /** @private */ + updateByCache(frameIndex: number): void; + /** @private */ + _update(needUpdate?: boolean): void; + _calculateRelativeParentTransform(): void; + updateChildArmatureAnimation(): void; + /** @private */ + changeDisplay(): void; + /** @private */ + visible: boolean; + displayIndex: number; + /** + * 当前的显示对象(可能是 display 或者 子骨架) + * @member {any} dragonBones.FastSlot#display + */ + display: any; + /** + * 当前的子骨架 + * @member {FastArmature} dragonBones.Slot#childArmature + */ + childArmature: any; + /** @private */ + /** @private */ + displayDataList: Array<[DisplayData, TextureData]>; + /** + * 显示对象列表(包含 display 或者 子骨架) + * @member {any[]} dragonBones.FastSlot#displayList + */ + displayList: Array; + /** + * 显示顺序。(支持小数用于实现动态插入slot) + * @member {number} dragonBones.FastSlot#zOrder + */ + zOrder: number; + /** + * 混合模式 + * @member {string} dragonBones.FastSlot#blendMode + */ + blendMode: string; + /** + * 播放子骨架动画 + * @member {string} dragonBones.FastSlot#gotoAndPlay + */ + gotoAndPlay: string; + colorTransform: ColorTransform; + colorChanged: boolean; + /** @private */ + _updateDisplay(value: any): void; + /** @private */ + _addDisplay(): void; + /** @private */ + _replaceDisplay(prevDisplay: any): void; + /** @private */ + _removeDisplay(): void; + /** @private */ + _getDisplayIndex(): number; + /** + * @private + * Adds the original display object to another display object. + * @param container + * @param index + */ + _addDisplayToContainer(container: any, index?: number): void; + /** + * @private + * remove the original display object from its parent. + */ + _removeDisplayFromContainer(): void; + /** + * @private + * Updates the transform of the slot. + */ + _updateTransform(): void; + /** + * @private + * Updates the frame of the slot. + */ + _updateFrame(): void; + /** + * @private + */ + _updateDisplayVisible(value: boolean): void; + /** + * @private + * Updates the color of the display object. + * @param a + * @param r + * @param g + * @param b + * @param aM + * @param rM + * @param gM + * @param bM + */ + _updateDisplayColor(aOffset: number, rOffset: number, gOffset: number, bOffset: number, aMultiplier: number, rMultiplier: number, gMultiplier: number, bMultiplier: number, colorChanged?: boolean): void; + /** + * @private + * Update the blend mode of the display object. + * @param value The blend mode to use. + */ + _updateDisplayBlendMode(value: string): void; + /** @private When slot timeline enter a key frame, call this func*/ + _arriveAtFrame(frame: Frame, animationState: FastAnimationState): void; + /** @private */ + hideSlots(): void; + _updateGlobal(): any; + _resetToOrigin(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastAnimation + * @classdesc + * FastAnimation实例隶属于FastArmature,用于控制FastArmature的动画播放。 + * 和Animation相比,FastAnimation为了优化性能,不支持动画融合,在开启缓存的情况下,不支持无极的平滑补间 + * @see dragonBones.FastBone + * @see dragonBones.FastArmature + * @see dragonBones.FastAnimationState + * @see dragonBones.AnimationData. + * + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class FastAnimation { + /** + * 所有动画名称列表. + * @member {string[]} dragonBones.FastAnimation#animationList + */ + animationList: Array; + /** + * 当前正在运行的动画实例. + * @member {FastAnimationState} dragonBones.FastAnimation#animationState + */ + animationState: FastAnimationState; + /** + * 动画缓存管理器. + * @member {AnimationCacheManager} dragonBones.FastAnimation#animationCacheManager + */ + animationCacheManager: AnimationCacheManager; + private _armature; + private _animationDataList; + private _animationDataObj; + private _isPlaying; + private _timeScale; + /** + * 创建一个新的FastAnimation实例并赋给传入的FastArmature实例 + * @param armature {FastArmature} 骨架实例 + */ + constructor(armature: FastArmature); + /** + * Qualifies all resources used by this Animation instance for garbage collection. + */ + dispose(): void; + /** + * 开始播放指定名称的动画。 + * 要播放的动画将经过指定时间的淡入过程,然后开始播放,同时之前播放的动画会经过相同时间的淡出过程。 + * @param animationName {string} 指定播放动画的名称. + * @param fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间. + * @param duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间. + * @param playTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN + * @see dragonBones.FastAnimationState. + */ + gotoAndPlay(animationName: string, fadeInTime?: number, duration?: number, playTimes?: number): FastAnimationState; + /** + * 播放指定名称的动画并停止于某个时间点 + * @param animationName {string} 指定播放的动画名称. + * @param time {number} 动画停止的绝对时间 + * @param normalizedTime {number} 动画停止的相对动画总时间的系数,这个参数和time参数是互斥的(例如 0.2:动画停止总时间的20%位置) 默认值:-1 意味着使用绝对时间。 + * @param fadeInTime {number} 动画淡入时间 (>= 0), 默认值:0 + * @param duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间. + * @see dragonBones.FastAnimationState. + */ + gotoAndStop(animationName: string, time: number, normalizedTime?: number, fadeInTime?: number, duration?: number): FastAnimationState; + /** + * 从当前位置继续播放动画 + */ + play(): void; + /** + * 暂停动画播放 + */ + stop(): void; + /** @private */ + advanceTime(passedTime: number): void; + /** + * check if contains a AnimationData by name. + * @return Boolean. + * @see dragonBones.AnimationData. + */ + hasAnimation(animationName: string): boolean; + /** + * 时间缩放倍数 + * @member {number} dragonBones.FastAnimation#timeScale + */ + timeScale: number; + /** + * 包含的所有动画数据列表 + * @member {AnimationData[]} dragonBones.FastAnimation#animationDataList + * @see dragonBones.AnimationData. + */ + animationDataList: Array; + /** + * Unrecommended API. Recommend use animationList. + */ + movementList: Array; + /** + * Unrecommended API. Recommend use lastAnimationName. + */ + movementID: string; + /** + * 是否正在播放 + * @member {boolean} dragonBones.FastAnimation#isPlaying + */ + isPlaying(): boolean; + /** + * 是否播放完成. + * @member {boolean} dragonBones.FastAnimation#isComplete + */ + isComplete: boolean; + /** + * 当前播放动画的实例. + * @member {FastAnimationState} dragonBones.FastAnimation#lastAnimationState + */ + lastAnimationState: FastAnimationState; + /** + * 当前播放动画的名字. + * @member {string} dragonBones.FastAnimation#lastAnimationName + */ + lastAnimationName: string; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastAnimationState + * @classdesc + * FastAnimationState 实例代表播放的动画, 可以对单个动画的播放进行最细致的调节。 + * @see dragonBones.Animation + * @see dragonBones.AnimationData + * @example +
+        //获取动画数据
+        var skeletonData = RES.getRes("skeleton");
+        //获取纹理集数据
+        var textureData = RES.getRes("textureConfig");
+        //获取纹理集图片
+        var texture = RES.getRes("texture");
+      
+        //创建一个工厂,用来创建Armature
+        var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+        //把动画数据添加到工厂里
+        factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+        //把纹理集数据和图片添加到工厂里
+        factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+      
+        //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+        var armatureName:string = skeletonData.armature[0].name;
+        //从工厂里创建出Armature
+        var armature:dragonBones.FastArmature = factory.buildFastArmature(armatureName);
+        //获取装载Armature的容器
+        var armatureDisplay = armature.display;
+        //把它添加到舞台上
+        this.addChild(armatureDisplay);
+        
+        //以60fps的帧率开启动画缓存,缓存所有的动画数据
+        var animationCachManager:dragonBones.AnimationCacheManager = armature.enableAnimationCache(60);
+      
+       //取得这个Armature动画列表中的第一个动画的名字
+        var curAnimationName = armature.animation.animationList[0];
+        //播放这个动画,gotoAndPlay各个参数说明
+        //第一个参数 animationName {string} 指定播放动画的名称.
+        //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+        //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+        //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+        armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+        //把Armature添加到心跳时钟里
+        dragonBones.WorldClock.clock.add(armature);
+        //心跳时钟开启
+        egret.Ticker.getInstance().register(function (advancedTime) {
+            dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+        }, this);
+       
+ */ + class FastAnimationState implements IAnimationState { + animationCache: AnimationCache; + /** + * 是否自动补间。 + * @member {boolean} dragonBones.AnimationState#autoTween + */ + autoTween: boolean; + _progress: number; + _armature: FastArmature; + private _boneTimelineStateList; + private _slotTimelineStateList; + animationData: AnimationData; + name: string; + private _time; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _currentPlayTimes; + private _totalTime; + private _currentTime; + private _lastTime; + private _isComplete; + private _isPlaying; + private _timeScale; + private _playTimes; + _fading: boolean; + _fadeTotalTime: number; + constructor(); + dispose(): void; + /** + * 播放当前动画。如果动画已经播放完毕, 将不会继续播放. + * @returns {FastAnimationState} 动画播放状态实例 + */ + play(): FastAnimationState; + /** + * 暂停当前动画的播放。 + * @returns {AnimationState} 动画播放状态实例 + */ + stop(): FastAnimationState; + setCurrentTime(value: number): FastAnimationState; + _resetTimelineStateList(): void; + /** @private */ + _fadeIn(aniData: AnimationData, playTimes: number, timeScale: number, fadeTotalTime: number): void; + /** + * @private + * Update timeline state based on mixing transforms and clip. + */ + _updateTimelineStateList(): void; + /** @private */ + _advanceTime(passedTime: number): void; + private advanceTimelinesTime(passedTime); + private updateTransformTimeline(progress); + private updateMainTimeline(isThisComplete); + private setTimeScale(value); + private setPlayTimes(value?); + /** + * 播放次数 (0:循环播放, >0:播放次数) + * @member {number} dragonBones.FastAnimationState#playTimes + */ + playTimes: number; + /** + * 当前播放次数 + * @member {number} dragonBones.FastAnimationState#currentPlayTimes + */ + currentPlayTimes: number; + /** + * 是否播放完成 + * @member {boolean} dragonBones.FastAnimationState#isComplete + */ + isComplete: boolean; + /** + * 是否正在播放 + * @member {boolean} dragonBones.FastAnimationState#isPlaying + */ + isPlaying: boolean; + /** + * 动画总时长(单位:秒) + * @member {number} dragonBones.FastAnimationState#totalTime + */ + totalTime: number; + /** + * 动画当前播放时间(单位:秒) + * @member {number} dragonBones.FastAnimationState#currentTime + */ + currentTime: number; + /** + * 是否使用缓存 + * @member {boolean} dragonBones.FastAnimationState#isUseCache + */ + isUseCache(): boolean; + private hideBones(); + /** + * 动画播放进度 + * @member {number} dragonBones.FastAnimationState#progress + */ + progress: number; + } +} +declare module dragonBones { + /** + * @class dragonBones.FastBoneTimelineState + * @classdesc + * FastBoneTimelineState 负责计算 Bone 的时间轴动画。 + * FastBoneTimelineState 实例隶属于 FastAnimationState. FastAnimationState在创建时会为每个包含动作的 FastBone生成一个 FastBoneTimelineState 实例. + * @see dragonBones.FastAnimation + * @see dragonBones.FastAnimationState + * @see dragonBones.FastBone + */ + class FastBoneTimelineState { + private static _pool; + /** @private */ + static borrowObject(): FastBoneTimelineState; + /** @private */ + static returnObject(timeline: FastBoneTimelineState): void; + /** @private */ + static clear(): void; + name: string; + private _totalTime; + private _currentTime; + private _lastTime; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _bone; + private _timelineData; + private _durationTransform; + private _tweenTransform; + private _tweenEasing; + private _tweenCurve; + private _updateMode; + private _transformToFadein; + /** @private */ + _animationState: FastAnimationState; + /** @private */ + _isComplete: boolean; + /** @private */ + _transform: DBTransform; + _durationPivot: Point; + _originPivot: Point; + _pivot: Point; + constructor(); + private clear(); + /** @private */ + fadeIn(bone: FastBone, animationState: FastAnimationState, timelineData: TransformTimeline): void; + /** @private */ + updateFade(progress: number): void; + /** @private */ + update(progress: number): void; + private updateSingleFrame(); + private updateMultipleFrame(progress); + private updateToNextFrame(currentPlayTimes?); + private updateTween(); + } +} +declare module dragonBones { + /** + * @class dragonBones.FastSlotTimelineState + * @classdesc + * FastSlotTimelineState 负责计算 Slot 的时间轴动画。 + * FastSlotTimelineState 实例隶属于 FastAnimationState. FastAnimationState在创建时会为每个包含动作的 Slot生成一个 FastSlotTimelineState 实例. + * @see dragonBones.FastAnimation + * @see dragonBones.FastAnimationState + * @see dragonBones.FastSlot + */ + class FastSlotTimelineState { + private static HALF_PI; + private static DOUBLE_PI; + private static _pool; + /** @private */ + static borrowObject(): FastSlotTimelineState; + /** @private */ + static returnObject(timeline: FastSlotTimelineState): void; + /** @private */ + static clear(): void; + name: string; + /** @private */ + _weight: number; + /** @private */ + _blendEnabled: boolean; + /** @private */ + _isComplete: boolean; + /** @private */ + _animationState: FastAnimationState; + private _totalTime; + private _currentTime; + private _currentFrameIndex; + private _currentFramePosition; + private _currentFrameDuration; + private _tweenEasing; + private _tweenCurve; + private _tweenColor; + private _colorChanged; + private _updateMode; + private _armature; + private _animation; + private _slot; + private _timelineData; + private _durationColor; + constructor(); + private clear(); + /** @private */ + fadeIn(slot: FastSlot, animationState: FastAnimationState, timelineData: SlotTimeline): void; + /** @private */ + updateFade(progress: number): void; + /** @private */ + update(progress: number): void; + private updateMultipleFrame(progress); + private updateToNextFrame(currentPlayTimes?); + private updateTween(); + private updateSingleFrame(); + } +} +declare module dragonBones { + /** + * @class dragonBones.Point + * @classdesc + * Point 对象表示二维坐标系统中的某个位置,其中 x 表示水平轴,y 表示垂直轴。 + * 下面的代码在 (0,0) 处创建一个点: + * var myPoint:Point = new Point(); + */ + class Point { + /** + *该点的水平坐标。 + * @member {number} dragonBones.Point#x + */ + x: number; + /** + *该点的垂直坐标。 + * @member {number} dragonBones.Point#y + */ + y: number; + /** + *创建一个新点。 + * @param x 该点的水平坐标。 + * @param y 该点的垂直坐标。 + */ + constructor(x?: number, y?: number); + /** + *返回包含 x 和 y 坐标的值的字符串。 + * @returns {string} + */ + toString(): string; + } +} +declare module dragonBones { + /** + * @class dragonBones + * @classdesc + * Rectangle 对象是按其位置(由它左上角的点 (x, y) 确定)以及宽度和高度定义的区域。 + * Rectangle 类的 x、y、width 和 height 属性相互独立;更改一个属性的值不会影响其他属性。 + */ + class Rectangle { + /** + * 矩形左上角的 x 坐标。 + * @member {number} dragonBones.Rectangle#x + */ + x: number; + /** + * 矩形左上角的 y 坐标。 + * @member {number} dragonBones.Rectangle#y + */ + y: number; + /** + * 矩形的宽度(以像素为单位) + * @member {number} dragonBones.Rectangle#width + */ + width: number; + /** + * 矩形的高度(以像素为单位)。 + * @member {number} dragonBones.Rectangle#height + */ + height: number; + /** + *创建一个新 Rectangle 对象,其左上角由 x 和 y 参数指定,并具有指定的 width 和 height 参数。 + * @param x 矩形左上角的 x 坐标。 + * @param y 矩形左上角的 y 坐标。 + * @param width 矩形的宽度(以像素为单位) + * @param height 矩形的高度(以像素为单位)。 + */ + constructor(x?: number, y?: number, width?: number, height?: number); + } +} +declare module dragonBones { + /** + * @class dragonBones.Timeline + * @classdesc + * 保存时间轴相关的数据,包括关键帧,持续时间,时间缩放 + */ + class Timeline { + /** + * 持续时间,单位是帧 + * @member {number} dragonBones.Timeline#duration + */ + duration: number; + /** + * 时间缩放,设置为2,时间放慢一倍,设置为0.5,时间加快一倍,默认为1 + * @member {number} dragonBones.Timeline#scale + */ + scale: number; + _frameList: Array; + /** + * 初始化数据duration为0,scale为1 + */ + constructor(); + dispose(): void; + /** + * 添加一个关键帧数据 + * @param frame 关键帧数据 + * @see extension.dragonbones.model.Frame + */ + addFrame(frame: Frame): void; + /** + * 获取关键帧列表 + * @returns {Array} + */ + frameList: Array; + } +} +declare module dragonBones { + /** + * @class dragonbones.AnimationData + * @extends dragonbones.Timeline + * @classdesc + * 保存动画数据 + */ + class AnimationData extends Timeline { + /** + * 动画的名字 + * @member {string} dragonBones.AnimationData#name + */ + name: string; + /** + * 动画的帧率,表示每一秒钟播放多少帧 + * @member {number} dragonBones.AnimationData#frameRate + */ + frameRate: number; + /** + * 动画过渡时间,表示从其他动画过渡到这个动画需要的时间 + * @member {number} dragonBones.AnimationData#fadeTime + */ + fadeTime: number; + /** + * 播放次数 0为一直播放,默认为0 + * @member {number} dragonBones.AnimationData#playTimes + */ + playTimes: number; + /** + * 动画的缓动参数,取值范围是[-1,2],其中[-1, 0)表示缓进,(0, 1]表示缓出(1, 2]表示缓进缓出,0表示不缓动,线性渐变 + * 这个参数会被帧数据中的tweenEasing覆盖 + * @member {number} dragonBones.AnimationData#tweenEasing + */ + tweenEasing: number; + /** + * 是否开启缓动,默认是true,就是开启缓动 + * @member {boolean} dragonBones.AnimationData#autoTween + */ + autoTween: boolean; + /** + * 最后一帧持续的帧数 + * @member {number} dragonBones.AnimationData#lastFrameDuration + */ + lastFrameDuration: number; + hideTimelineNameMap: Array; + hideSlotTimelineNameMap: Array; + private _timelineList; + /** + * 时间轴列表 + * @returns {Array} + */ + timelineList: Array; + private _slotTimelineList; + slotTimelineList: Array; + /** + * 创建一个AnimationData实例 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + /** + * 根据时间轴的名字获取时间轴数据 + * @param timelineName 时间轴的名字 + * @returns {*} 时间轴数据 + */ + getTimeline(timelineName: string): TransformTimeline; + /** + * 添加一个时间轴数据 + * @param timeline 需要被添加的时间轴数据 + */ + addTimeline(timeline: TransformTimeline): void; + getSlotTimeline(timelineName: string): SlotTimeline; + addSlotTimeline(timeline: SlotTimeline): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.ArmatureData + * @classdesc + * armature数据 一个armature数据包含一个角色的骨骼,皮肤,动画的数据 + * @see dragonBones.BoneData + * @see dragonBones.SkinData + * @see dragonBones.AnimationData + */ + class ArmatureData { + /** + * armature数据的名字 + * @member {string} dragonBones.ArmatureData#name + */ + name: string; + private _boneDataList; + private _ikDataList; + private _skinDataList; + private _slotDataList; + private _animationDataList; + _cacheManager: AnimationCacheManager; + /** + * 默认动画 + * @member {string} dragonBones.ArmatureData#defaultAnimation + */ + defaultAnimation: string; + /** + * 帧率 + * @member {number} dragonBones.ArmatureData#frameRate + */ + frameRate: number; + static sortBoneDataHelpArray(object1: any, object2: any): number; + static sortBoneDataHelpArrayDescending(object1: any, object2: any): number; + /** + * 创建一个ArmatureData实例 + */ + constructor(); + setSkinData(skinName: String): void; + /** + * 释放资源 + */ + dispose(): void; + /** + * 根据骨骼的名字获取到骨骼数据 + * @param boneName 骨骼的名字 + * @returns {*} 骨骼数据 + */ + getBoneData(boneName: string): BoneData; + getIKData(ikName: string): IKData; + getSlotData(slotName: string): SlotData; + /** + * 根据皮肤的名字获取到皮肤数据 + * @param skinName 皮肤的名字 + * @returns {*} 皮肤数据 + */ + getSkinData(skinName: string): SkinData; + /** + * 根据动画的名字获取动画数据 + * @param animationName 动画的名字 + * @returns {*} 动画数据 + */ + getAnimationData(animationName: string): AnimationData; + /** + *添加一个骨骼数据 + * @param boneData + */ + addBoneData(boneData: BoneData): void; + addIKData(ikData: IKData): void; + addSlotData(slotData: SlotData): void; + /** + * 添加一个皮肤数据 + * @param skinData + */ + addSkinData(skinData: SkinData): void; + /** + * 添加一个动画数据 + * @param animationData + */ + addAnimationData(animationData: AnimationData): void; + /** + * 对骨骼按照骨骼数的层级关系排序 + */ + sortBoneDataList(): void; + /** + * 获取骨骼数据列表 + * @returns {Array} + */ + boneDataList: Array; + ikDataList: Array; + slotDataList: Array; + /** + * 获取皮肤数据列表 + * @returns {Array} + */ + skinDataList: Array; + /** + * 获得动画数据列表 + * @returns {Array} + */ + animationDataList: Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.BoneData + * @classdesc + * 骨骼数据 + */ + class BoneData { + /** + * 骨骼的名字 + * @member {string} dragonBones.BoneData#name + */ + name: string; + /** + * 父骨骼的名字 + * @member {string} dragonBones.BoneData#parent + */ + parent: string; + /** + * 长度,目前没什么用,默认值为0 + * @member {number} dragonBones.BoneData#length + */ + length: number; + /** + * 绝对的transform + * @member {dragonBones.DBTransform} dragonBones.BoneData#global + */ + global: DBTransform; + /** + * 相对的transform + * @member {dragonBones.DBTransform} dragonBones.BoneData#transform + */ + transform: DBTransform; + /** + * 是否继承父骨骼的缩放属性 + * @member {boolean} dragonBones.BoneData#inheritScale + */ + inheritScale: boolean; + /** + * 是否继承父骨骼的旋转属性 + * @member {boolean} dragonBones.BoneData#inheritRotation + */ + inheritRotation: boolean; + /** + * 初始化各个属性 + */ + constructor(); + /** + *释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.ColorTransform + * @classdesc + * 表示颜色的transform + */ + class ColorTransform { + /** + * 透明度增幅,计算时用乘法 + * @member {number} dragonBones.ColorTransform#alphaMultiplier + */ + alphaMultiplier: number; + /** + * 透明度偏移,计算时用加法 + * @member {number} dragonBones.ColorTransform#alphaOffset + */ + alphaOffset: number; + /** + * 蓝色值增幅,计算时用乘法 + * @member {number} dragonBones.ColorTransform#buleMultiplier + */ + blueMultiplier: number; + /** + *蓝色值偏移,计算时用加法 + * @member {number} dragonBones.ColorTransform#buleOffset + */ + blueOffset: number; + /** + *绿色值增幅,计算时用乘法 + * @member {number} dragonBones.ColorTransform#greenMultiplier + */ + greenMultiplier: number; + /** + *绿色值偏移,计算时用加法 + * @member {number} dragonBones.ColorTransform#greenOffset + */ + greenOffset: number; + /** + *红色值增幅,计算时用乘法 + * @member {number} dragonBones.ColorTransform#redMultiplier + */ + redMultiplier: number; + /** + *红色值偏移,计算时用加法 + * @member {number} dragonBones.ColorTransform#redOffset + */ + redOffset: number; + constructor(); + } +} +declare module dragonBones { + class CurveData { + private static SamplingTimes; + private static SamplingStep; + private _dataChanged; + private _pointList; + sampling: Array; + constructor(); + getValueByProgress(progress: number): number; + refreshSampling(): void; + private bezierCurve(t, outputPoint); + pointList: Array; + isCurve(): boolean; + point1: Point; + point2: Point; + } +} +declare module dragonBones { + /** + * @class dragonBones.DisplayData + * @classdesc + * 显示对象的数据,目前支持图片和子骨架 + */ + class DisplayData { + /** + * 子骨架类型 + */ + static ARMATURE: string; + /** + * 图片类型 + */ + static IMAGE: string; + /** + * 显示对象的名字 + * @member {string} dragonBones.DisplayData#name + */ + name: string; + /** + * 显示对象的类型,枚举型,目前支持图片IMAGE和子骨架ARMATURE + * @member {string} dragonBones.DisplayData#type + */ + type: string; + /** + * 变换矩阵Transform表示位移,旋转,缩放,三种属性 + * @member {dragonBones.DBTransform} dragonBones.DisplayData#transform + */ + transform: DBTransform; + /** + * 注册点,旋转中心 + * @member {dragonBones.Point} dragonBones.DisplayData#pivot + */ + pivot: Point; + /** + * 初始化变换矩阵为单位矩阵 + * 注册点为{0,0}点 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.DragonBonesData + * @classdesc + * DragonBones的数据,包含了骨架数据和显示对象数据 + */ + class DragonBonesData { + /** + * DrabonBones数据的名字 + * @member {string} dragonBones.DragonBonesData#name + */ + name: string; + /** + * 数据的类型,是否是全局数据 + * @member {boolean} dragonBones.DragonBonesData#isGlobal + */ + isGlobal: boolean; + /** + * 数据版本 + */ + version: number; + private _armatureDataList; + private _displayDataDictionary; + /** + * 构造函数,实例化一个DragonBonesData类 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + /** + * 获取所有的骨架数据 + * @returns {Array} + */ + armatureDataList: Array; + /** + * 通过骨架的名字获取骨架的数据 + * @param armatureName 想要获取的骨架的名字 + * @returns {*} 骨架数据 ArmatureData + */ + getArmatureDataByName(armatureName: string): ArmatureData; + /** + * 添加一个骨架数据 + * @param armatureData + */ + addArmatureData(armatureData: ArmatureData): void; + /** + * 移除一个骨架数据 + * @param armatureData + */ + removeArmatureData(armatureData: ArmatureData): void; + /** + * 根据骨架的名字,移除该骨架的数据 + * @param armatureName 想要移除的骨架的名字 + */ + removeArmatureDataByName(armatureName: string): void; + /** + * 根据名字获取显示对象数据 + * @param name 想要获取的显示对象数据的名字 + * @returns {any} 显示对象数据 DisplayData + */ + getDisplayDataByName(name: string): DisplayData; + /** + *添加一个显示对象数据 + * @param displayData 需要被添加的显示对象数据 + */ + addDisplayData(displayData: DisplayData): void; + /** + *根据显示对象的名字移除该显示对象数据 + * @param name 显示对象的名字 + */ + removeDisplayDataByName(name: string): void; + /** + *移除所有的显示对象数据 + */ + removeAllDisplayData(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.Frame + * @classdesc + *关键帧数据 + */ + class Frame { + /** + *位置 + * @member {number} dragonBones.Frame#position + */ + position: number; + /** + *持续时间 + * @member {number} dragonBones.Frame#duration + */ + duration: number; + /** + *帧标签 + * @member {string} dragonBones.Frame#action + */ + action: string; + /** + *帧事件 + * @member {string} dragonBones.Frame#event + */ + event: string; + /** + *帧声音 + * @member {string} dragonBones.Frame#sound + */ + sound: string; + /** @private */ + bone: string; + curve: CurveData; + /** + *构造函数 + */ + constructor(); + /** + *释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + class IKData { + name: string; + target: string; + weight: number; + bones: string; + chain: number; + bendPositive: boolean; + constructora(): void; + dispose(): void; + } +} +declare module dragonBones { + /** + * optimized by freem-trg + * Intermediate class for store the results of the parent transformation + */ + class ParentTransformObject { + parentGlobalTransform: DBTransform; + parentGlobalTransformMatrix: Matrix; + private static _pool; + private static _poolSize; + constructor(); + setTo(parentGlobalTransform: DBTransform, parentGlobalTransformMatrix: Matrix): ParentTransformObject; + release(): void; + static create(): ParentTransformObject; + static dispose(parentTransformObject: ParentTransformObject): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.SkinData + * @classdesc + * 皮肤数据,皮肤是由一些插槽组成,每个插槽都有一个骨骼控制,骨骼的运动带动插槽的运动形成动画, + * 插槽里可以放置显示对象,目前支持的显示对象有图片和子骨架两种 + */ + class SkinData { + /** + * 皮肤数据的名字 + * @member {string} dragonBones.SkinData#name + */ + name: string; + private _slotDataList; + /** + * 构造函数,实例化一个SkinData类 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + /** + * 根据插槽的名字获取插槽数据 + * @param slotName 想要获取的插槽的名字 + * @returns {*} 返回的插槽数据 + */ + getSlotData(slotName: string): SlotData; + /** + * 添加一个插槽数据 + * @param slotData + */ + addSlotData(slotData: SlotData): void; + /** + * 获取所有的插槽数据 + * @returns {Array} + */ + slotDataList: Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotData + * @classdesc + * 插槽数据,插槽是由骨骼控制的,可以装入显示对象的容器,显示对象可以是图片或者子骨架 + * 插槽可插入一个或者多个显示对象,但是同一时刻只能显示一个显示对象 + * 插槽支持关键帧动画,如果有多个显示对象,可以指定哪一帧显示哪一个显示对象 + */ + class SlotData { + /** + * 插槽数据的名字 + * @member {string} dragonBones.SlotData#name + */ + name: string; + /** + * 绑定的骨骼的名字,一个插槽仅受一个骨骼控制 + * @member {string} dragonBones.SlotData#parent + */ + parent: string; + /** + * z轴排序,z轴是垂直于屏幕的轴,zOrder约小,越靠里 + * 所以如果有重叠,zOrder大的插槽会挡住zOrder小的插槽 + * @member {number} dragonBones.SlotData#zOrder + */ + zOrder: number; + /** + * 混合模式 + * @member {string} dragonBones.SlotData#blendMode + */ + blendMode: string; + /** + * 初始的显示图片的序号 + * @member {string} dragonBones.SlotData#displayIndex + */ + displayIndex: number; + private _displayDataList; + gotoAndPlay: string; + /** + * 构造函数,实例化一个SlotData类 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + /** + * 添加一个显示对象数据 + * @param displayData + */ + addDisplayData(displayData: DisplayData): void; + /** + * 根据显示对象的名字获取显示对象数据 + * @param displayName 想要获取的显示对象的名字 + * @returns {*} 返回显示对象昂数据,如果没有返回null + */ + getDisplayData(displayName: string): DisplayData; + /** + * 获取所有的显示对象 + * @returns {Array} + */ + displayDataList: Array; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotFrame + * @extends dragonBones.Frame + * @classdesc + * 插槽的关键帧数据,包含 + * 插槽的显示序号,可见度,zOrder,colorTransform数据 + */ + class SlotFrame extends Frame { + /** + * NaN:no tween, 10:auto tween, [-1, 0):ease in, 0:line easing, (0, 1]:ease out, (1, 2]:ease in out + * 缓动值, + * 当值为NaN时,没有缓动 + * 当值为10时,为自动 + * 当值为[-1,0)时,为缓进 + * 当值为0时,为线性缓动 + * 当值为(0, 1]时,为缓出 + * 当值为(1, 2]时,为缓进缓出 + * @member {number} dragonBones.TransformFrame#tweenEasing + */ + tweenEasing: number; + /** + *绑定到该插槽的显示序号,当插槽有多个显示对象时,指定显示哪一个显示对象 + * @member {number} dragonBones.SlotFrame#displayIndex + */ + displayIndex: number; + /** + *是否可见 + * @member {boolean} dragonBones.SlotFrame#visible + */ + visible: boolean; + /** + *绑定到该插槽的zOrder值 + * @member {number} dragonBones.SlotFrame#zOrder + */ + zOrder: number; + /** + *绑定到插槽的颜色transform,颜色的transform可以表示颜色在红蓝绿透明四个通道的变化 + * @member {dragonBones.ColorTransform} dragonBones.SlotFrame#color + */ + color: ColorTransform; + /** + * 播放子骨架的的动画 + * @member {string} dragonBones.SlotFrame#gotoAndPlay + */ + gotoAndPlay: string; + /** + *构造函数,实例化一个SlotFrame + */ + constructor(); + /** + *释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.SlotTimeline + * @extends dragonBones.Timeline + * @classdesc + * 插槽的时间轴数据,包含一个和多个关键帧数据 + */ + class SlotTimeline extends Timeline { + /** + *时间轴的名称 + * @member {string} dragonBones.SlotTimeline#name + */ + name: string; + /** + * 是否有动画 + * @member {boolean} dragonBones.SlotTimeline#transformed + */ + transformed: boolean; + /** + * 偏移量 + * @member {number} dragonBones.SlotTimeline#offset + */ + offset: number; + /** + * 构造函数,实例化一个SlotTimeline + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.TransformFrame + * @extends dragonBones.Frame + * @classdesc + * 骨骼的关键帧数据,包含骨骼的缓动,旋转,transform数据和 + * 插槽的显示序号,可见度,zOrder,colorTransform数据 + */ + class TransformFrame extends Frame { + /** + * NaN:no tween, 10:auto tween, [-1, 0):ease in, 0:line easing, (0, 1]:ease out, (1, 2]:ease in out + * 缓动值, + * 当值为NaN时,没有缓动 + * 当值为10时,为自动 + * 当值为[-1,0)时,为缓进 + * 当值为0时,为线性缓动 + * 当值为(0, 1]时,为缓出 + * 当值为(1, 2]时,为缓进缓出 + * @member {number} dragonBones.TransformFrame#tweenEasing + */ + tweenEasing: number; + /** + * 旋转几圈 + * @member {number} dragonBones.TransformFrame#tweenRotate + */ + tweenRotate: number; + /** + * 补间是否对Scale起作用 + * @member {boolean} dragonBones.TransformFrame#tweenScale + */ + tweenScale: boolean; + /** + *绑定到该骨骼的插槽的显示序号,当插槽有多个显示对象时,指定显示哪一个显示对象 + * @member {number} dragonBones.TransformFrame#displayIndex + */ + displayIndex: number; + /** + *是否可见 + * @member {boolean} dragonBones.TransformFrame#visible + */ + visible: boolean; + /** + *绑定到该骨骼的插槽的zOrder值 + * @member {number} dragonBones.TransformFrame#zOrder + */ + zOrder: number; + /** + *全局的transform + * @member {dragonBones.DBTransform} dragonBones.TransformFrame#global + */ + global: DBTransform; + /** + *骨骼的transform,transform可以表示位移,旋转,缩放三种属性 + * @member {dragonBones.DBTransform} dragonBones.TransformFrame#transform + */ + transform: DBTransform; + /** + *注册点,骨骼的旋转中心 + * @member {dragonBones.Point} dragonBones.TransformFrame#pivot + */ + pivot: Point; + /** + *绑定到骨骼的插槽的颜色transform,颜色的transform可以表示颜色在红蓝绿透明四个通道的变化 + * @member {dragonBones.ColorTransform} dragonBones.TransformFrame#color + */ + color: ColorTransform; + /** + *缩放的偏移 + * @member {dragonBones.Point} dragonBones.TransformFrame#scaleOffset + */ + scaleOffset: Point; + /** + *构造函数,实例化一个TransformFrame + */ + constructor(); + /** + *释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.TransformTimeline + * @extends dragonBones.Timeline + * @classdesc + * 骨骼的时间轴数据,包含一个和多个关键帧数据 + */ + class TransformTimeline extends Timeline { + /** + *时间轴的名称 + * @member {string} dragonBones.TransformTimeline#name + */ + name: string; + /** + * 是否有动画 + * @member {boolean} dragonBones.TransformTimeline#transformed + */ + transformed: boolean; + /** + * 第一帧的Transform + * @member {dragonBones.DBTransform} dragonBones.TransformTimeline#originTransform + */ + originTransform: DBTransform; + /** + * 第一帧的骨头的轴点 + * @member {dragonBones.Point} dragonBones.TransformTimeline#originPivot + */ + originPivot: Point; + /** + * 偏移量 + * @member {number} dragonBones.TransformTimeline#offset + */ + offset: number; + /** + * 构造函数,实例化一个TransformTimeline + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + } +} +declare module dragonBones { + /** + *@class dragonBones.DataParser + * @classdesc + * 老版本数据解析 + */ + class Data3Parser { + private static tempDragonBonesData; + static parseDragonBonesData(rawDataToParse: any): DragonBonesData; + private static parseArmatureData(armatureDataToParse, frameRate); + private static parseBoneData(boneObject); + private static parseSkinData(skinObject); + private static parseSkinSlotData(slotObject); + private static parseSlotData(slotObject); + private static parseDisplayData(displayObject); + private static _currentAnimationData; + /** @private */ + private static parseAnimationData(animationObject, frameRate); + private static parseSlotTimeline(timelineObject, duration, frameRate); + private static parseSlotFrame(frameObject, frameRate); + private static parseTransformTimeline(timelineObject, duration, frameRate); + private static parseTransformFrame(frameObject, nextFrameObject, frameRate); + private static parseTimeline(timelineObject, outputTimeline); + private static parseFrame(frameObject, outputFrame, frameRate?); + private static parseTransform(transformObject, transform, pivot?); + private static parseColorTransform(colorTransformObject, colorTransform); + private static getBoolean(data, key, defaultValue); + private static getNumber(data, key, defaultValue); + } +} +declare module dragonBones { + /** + *@class dragonBones.DataParser + * @classdesc + * 数据解析 + * + * @example +
+         //获取动画数据
+         var skeletonData = RES.getRes("skeleton");
+         //获取纹理集数据
+         var textureData = RES.getRes("textureConfig");
+         //获取纹理集图片
+         var texture = RES.getRes("texture");
+      
+         //创建一个工厂,用来创建Armature
+         var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+         //把动画数据添加到工厂里
+         factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+         //把纹理集数据和图片添加到工厂里
+         factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+         //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+         var armatureName:string = skeletonData.armature[0].name;
+         //从工厂里创建出Armature
+         var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+         //获取装载Armature的容器
+         var armatureDisplay = armature.display;
+         //把它添加到舞台上
+         this.addChild(armatureDisplay);
+         //取得这个Armature动画列表中的第一个动画的名字
+         var curAnimationName = armature.animation.animationList[0];
+         //播放这个动画,gotoAndPlay参数说明,具体详见Animation类
+         //第一个参数 animationName {string} 指定播放动画的名称.
+         //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+         //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+         //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+         armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+      
+         //把Armature添加到心跳时钟里
+         dragonBones.WorldClock.clock.add(armature);
+         //心跳时钟开启
+         egret.Ticker.getInstance().register(function (advancedTime) {
+             dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+         }, this);
+       
+ */ + class DataParser { + private static tempDragonBonesData; + /** + *解析纹理集数据 + * @param rawData纹理集数据xml或者json + * @param scale纹理资源的缩放,默认为1,不缩放 + * @returns {any}返回纹理集数据,存放TexutrueData的字典类型 + */ + static parseTextureAtlasData(rawData: any, scale?: number): any; + /** + * 解析DragonBones的数据,xml或者json,该数据包含了骨骼,皮肤,动画的数据 + * @param rawDataToParse DragonBones的数据,xml或者json格式 + * @returns {DragonBonesData} 返回DragonBones引擎使用的数据格式 + */ + static parseDragonBonesData(rawDataToParse: any): DragonBonesData; + private static parseArmatureData(armatureDataToParse, frameRate); + private static parseBoneData(boneObject); + private static parseIKData(ikObject); + private static parseSkinData(skinObject); + private static parseSlotData(slotObject); + private static parseSlotDisplayData(slotObject); + private static parseDisplayData(displayObject); + /** @private */ + private static parseAnimationData(animationObject, frameRate); + private static parseTransformTimeline(timelineObject, duration, frameRate); + private static parseSlotTimeline(timelineObject, duration, frameRate); + private static parseTransformFrame(frameObject, frameRate); + private static parseSlotFrame(frameObject, frameRate); + private static parseTimeline(timelineObject, outputTimeline); + private static parseFrame(frameObject, outputFrame, frameRate?); + private static parseTransform(transformObject, transform, pivot?); + private static parseColorTransform(colorTransformObject, colorTransform); + private static getBoolean(data, key, defaultValue); + private static getNumber(data, key, defaultValue); + } +} +declare module dragonBones { + /** + * @class dragonBones.ITextureAltas + * @classdesc + * 纹理集的接口 + */ + interface ITextureAtlas { + /** + * 这个ITextureAtlas的名字 + */ + name: string; + /** + * 释放资源 + */ + dispose(): void; + /** + * 获得纹理集TextureAltas中的由name指定的资源的那块矩形区域 + * @param name 资源的名字 + * @return Rectangle 资源的矩形区域 + */ + getRegion(name: string): Rectangle; + } +} +declare module dragonBones { + /** + * @class dragonBones.TextureData + * @classdesc + * 纹理数据 + * + * @example + *
+     *   //获取动画数据
+     *   var skeletonData = RES.getRes("skeleton");
+     *   //获取纹理集数据
+     *   var textureData = RES.getRes("textureConfig");
+     *   //获取纹理集图片
+     *   var texture = RES.getRes("texture");
+     *
+     *   //创建一个工厂,用来创建Armature
+     *   var factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
+     *   //把动画数据添加到工厂里
+     *   factory.addSkeletonData(dragonBones.DataParser.parseDragonBonesData(skeletonData));
+     *   //把纹理集数据和图片添加到工厂里
+     *   factory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture, textureData));
+     *   //获取Armature的名字,dragonBones4.0的数据可以包含多个骨架,这里取第一个Armature
+     *   var armatureName:string = skeletonData.armature[0].name;
+     *   //从工厂里创建出Armature
+     *   var armature:dragonBones.Armature = factory.buildArmature(armatureName);
+     *   //获取装载Armature的容器
+     *   var armatureDisplay = armature.display;
+     *   //把它添加到舞台上
+     *   this.addChild(armatureDisplay);
+     *   //取得这个Armature动画列表中的第一个动画的名字
+     *   var curAnimationName = armature.animation.animationList[0];
+     *   //播放这个动画,gotoAndPlay参数说明,具体详见Animation类
+     *   //第一个参数 animationName {string} 指定播放动画的名称.
+     *   //第二个参数 fadeInTime {number} 动画淡入时间 (>= 0), 默认值:-1 意味着使用动画数据中的淡入时间.
+     *   //第三个参数 duration {number} 动画播放时间。默认值:-1 意味着使用动画数据中的播放时间.
+     *   //第四个参数 layTimes {number} 动画播放次数(0:循环播放, >=1:播放次数, NaN:使用动画数据中的播放时间), 默认值:NaN
+     *   armature.animation.gotoAndPlay(curAnimationName,0.3,-1,0);
+     *
+     *   //把Armature添加到心跳时钟里
+     *   dragonBones.WorldClock.clock.add(armature);
+     *   //心跳时钟开启
+     *   egret.Ticker.getInstance().register(function (advancedTime) {
+     *       dragonBones.WorldClock.clock.advanceTime(advancedTime / 1000);
+     *   }, this);
+     * 
+ */ + class TextureData { + /** + * 区域 + * @member {dragonBones.Rectangle} dragonBones.TextureData#region + */ + region: Rectangle; + /** + * 帧的区域 + * @member {dragonBones.Rectangle} dragonBones.TextureData#frame + */ + frame: Rectangle; + /** + *是否有旋转 + */ + rotated: boolean; + /** + * @private + */ + textureAtlas: ITextureAtlas; + /** + *创建一个 TextureData 实例 + * @param region 区域 + * @param frame 帧的区域 + * @param rotated + */ + constructor(region: Rectangle, frame: Rectangle, rotated: boolean); + } +} +declare module dragonBones { + class ColorTransformUtil { + static originalColor: ColorTransform; + static cloneColor(color: ColorTransform): ColorTransform; + static isEqual(color1: ColorTransform, color2: ColorTransform): boolean; + static minus(color1: ColorTransform, color2: ColorTransform, outputColor: ColorTransform): void; + constructor(); + } +} +declare module dragonBones { + /** + * @class dragonBones.ConstValues + * @classdesc + *定义了常用的常量 + */ + class ConstValues { + /** + * 角度转换为弧度 + */ + static ANGLE_TO_RADIAN: number; + /** + * 弧度转换为角度 + */ + static RADIAN_TO_ANGLE: number; + /** + *龙骨 + */ + static DRAGON_BONES: string; + /** + * 骨架 + */ + static ARMATURE: string; + /** + *皮肤 + */ + static SKIN: string; + /** + * 骨骼 + */ + static BONE: string; + /** + * ik + */ + static IK: string; + /** + * 插槽 + */ + static SLOT: string; + /** + * 显示对象 + */ + static DISPLAY: string; + /** + * 动画 + */ + static ANIMATION: string; + /** + * 时间轴 + */ + static TIMELINE: string; + /** + * 帧 + */ + static FRAME: string; + /** + * 变换 + */ + static TRANSFORM: string; + /** + * 颜色变换 + */ + static COLOR_TRANSFORM: string; + static COLOR: string; + /** + * 矩形 + */ + static RECTANGLE: string; + /** + * 椭圆 + */ + static ELLIPSE: string; + /** + * 纹理集 + */ + static TEXTURE_ATLAS: string; + /** + * 子纹理 + */ + static SUB_TEXTURE: string; + /** + * 旋转 + */ + static A_ROTATED: string; + /** + * 帧的x坐标 + */ + static A_FRAME_X: string; + /** + * 帧的y坐标 + */ + static A_FRAME_Y: string; + /** + * 帧的宽度 + */ + static A_FRAME_WIDTH: string; + /** + * 帧的高度 + */ + static A_FRAME_HEIGHT: string; + /** + * 版本 + */ + static A_VERSION: string; + /** + * 图片路径 + */ + static A_IMAGE_PATH: string; + /** + * 帧速率 + */ + static A_FRAME_RATE: string; + /** + * 名字 + */ + static A_NAME: string; + /** + * 是否是全局 + */ + static A_IS_GLOBAL: string; + /** + * 父亲 + */ + static A_PARENT: string; + /** + * 长度 + */ + static A_LENGTH: string; + /** + * 类型 + */ + static A_TYPE: string; + /** + * 缓入事件 + */ + static A_FADE_IN_TIME: string; + /** + * 持续时长 + */ + static A_DURATION: string; + /** + * 缩放 + */ + static A_SCALE: string; + /** + * 偏移 + */ + static A_OFFSET: string; + /** + * 循环 + */ + static A_LOOP: string; + static A_PLAY_TIMES: string; + /** + * 事件 + */ + static A_EVENT: string; + /** + * 事件参数 + */ + static A_EVENT_PARAMETERS: string; + /** + * 声音 + */ + static A_SOUND: string; + /** + * 动作 + */ + static A_ACTION: string; + /** + * 隐藏 + */ + static A_HIDE: string; + /** + * 自动补间 + */ + static A_AUTO_TWEEN: string; + /** + * 补间缓动 + */ + static A_TWEEN_EASING: string; + /** + * 补间旋转 + */ + static A_TWEEN_ROTATE: string; + /** + * 补间缩放 + */ + static A_TWEEN_SCALE: string; + /** + * 显示对象序号 + */ + static A_DISPLAY_INDEX: string; + /** + * z轴 + */ + static A_Z_ORDER: string; + /** + * 混合模式 + */ + static A_BLENDMODE: string; + /** + * 宽度 + */ + static A_WIDTH: string; + /** + * 高度 + */ + static A_HEIGHT: string; + /** + * 继承缩放 + */ + static A_INHERIT_SCALE: string; + /** + * 继承旋转 + */ + static A_INHERIT_ROTATION: string; + /** + * x轴 + */ + static A_X: string; + /** + * y轴 + */ + static A_Y: string; + /** + * x方向斜切 + */ + static A_SKEW_X: string; + /** + * y方向斜切 + */ + static A_SKEW_Y: string; + /** + * x方向缩放 + */ + static A_SCALE_X: string; + /** + * y方向缩放 + */ + static A_SCALE_Y: string; + /** + * 轴点的x坐标 + */ + static A_PIVOT_X: string; + /** + * 轴点的y坐标 + */ + static A_PIVOT_Y: string; + /** + * 透明度的偏移 + */ + static A_ALPHA_OFFSET: string; + /** + * 红色的偏移 + */ + static A_RED_OFFSET: string; + /** + * 绿色的偏移 + */ + static A_GREEN_OFFSET: string; + /** + * 蓝色的偏移 + */ + static A_BLUE_OFFSET: string; + /** + * 透明度的倍数 + */ + static A_ALPHA_MULTIPLIER: string; + /** + * 红色的倍数 + */ + static A_RED_MULTIPLIER: string; + /** + * 绿色的倍数 + */ + static A_GREEN_MULTIPLIER: string; + /** + * 蓝色的倍数 + */ + static A_BLUE_MULTIPLIER: string; + /** + * 动画曲线 + */ + static A_CURVE: string; + /** + * x方向缩放的偏移 + */ + static A_SCALE_X_OFFSET: string; + /** + * y方向的偏移 + */ + static A_SCALE_Y_OFFSET: string; + /** + * 缩放模式 + */ + static A_SCALE_MODE: string; + /** + * 旋转修正 + */ + static A_FIXED_ROTATION: string; + /** + * 默认动作 + */ + static A_DEFAULT_ACTIONS: string; + /** + * 动作 + */ + static A_ACTIONS: string; + /** + * 播放子骨架的动画 + */ + static A_GOTOANDPLAY: string; + static A_TARGET: string; + static A_WEIGHT: string; + static A_BONES: string; + static A_BENDPOSITIVE: string; + static A_CHAIN: string; + } +} +declare module dragonBones { + /** + * @class dragonBones.DBDataUtil + * @classdesc + * DragonBons的数据工具类,提供一些对数据处理的静态方法 + */ + class DBDataUtil { + /** + * 把ArmatureData的绝对数据转成成相对数据 + * @param armatureData + */ + static transformArmatureData(armatureData: ArmatureData): void; + /** + * 转换骨架数据中的动画数据 + * 把动画数据中的绝对的数据转换成相对的数据 + * @param armatureData + */ + static transformArmatureDataAnimations(armatureData: ArmatureData): void; + /** + * + * @param animationData + * @param armatureData + */ + static transformRelativeAnimationData(animationData: AnimationData, armatureData: ArmatureData): void; + /** + * 把动画数据中的绝对的数据转换成相对的数据 + * @param animationData 动画数据 + * @param armatureData 骨架数据 + * @param isGlobalData 是否是绝对数据 + */ + static transformAnimationData(animationData: AnimationData, armatureData: ArmatureData, isGlobalData: boolean): void; + private static setFrameTransform(animationData, armatureData, boneData, frame); + private static getTimelineTransform(timeline, position, retult, isGlobal); + /** + * 添加进隐藏的时间轴 + * @param animationData + * @param armatureData + */ + static addHideTimeline(animationData: AnimationData, armatureData: ArmatureData, addHideSlot?: boolean): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.MathUtil + * @classdesc + * 内部使用的有关数学计算的工具类 + */ + class MathUtil { + /** @private */ + static getEaseValue(value: number, easing: number): number; + /** + * 角度转换为弧度 + */ + static ANGLE_TO_RADIAN: number; + /** + * 弧度转换为角度 + */ + static RADIAN_TO_ANGLE: number; + static isNumber(value: any): boolean; + /** + * 得到对应角度值的sin近似值 + * @param value {number} 角度值 + * @returns {number} sin值 + */ + static sin(value: number): number; + private static sinInt(value); + /** + * 得到对应角度值的cos近似值 + * @param value {number} 角度值 + * @returns {number} cos值 + */ + static cos(value: number): number; + } +} +declare var db_sin_map: {}; +declare module dragonBones { + /** + * @class dragonBones.TransformUtils + * @classdesc + * 提供了一些常用的转换的静态方法 + */ + class TransformUtil { + private static HALF_PI; + private static DOUBLE_PI; + private static _helpTransformMatrix; + private static _helpParentTransformMatrix; + private static tmpSkewXArray; + private static tmpSkewYArray; + private static ACCURACY; + private static isEqual(n1, n2); + /** + * 全局坐标系转成成局部坐标系 + * @param transform 全局坐标系下的变换 + * @param parent 父亲的坐标变换 + */ + static globalToLocal(transform: DBTransform, parent: DBTransform): void; + /** + *把transform数据转成成矩阵数据 + * @param transform 需要转换的transform数据 + * @param matrix 转换后的矩阵数据 + * @param keepScale 是否保持缩放 + */ + static transformToMatrix(transform: DBTransform, matrix: Matrix): void; + /** + *把 矩阵数据转成成transform数据 + * @param matrix 需要转换的矩阵数据 + * @param transform 转换后的transform数据 + * @param scaleXF x方向的缩放 + * @param scaleYF y方向的缩放 + */ + static matrixToTransform(matrix: Matrix, transform: DBTransform, scaleXF: boolean, scaleYF: boolean): void; + private static _helpMatrix; + /** @private */ + static applyMatrixToPoint(targetPoint: Point, matrix: Matrix, returnNewPoint?: Boolean): Point; + /** + * 标准化弧度值,把弧度制换算到[-PI,PI]之间 + * @param radian 输入一个弧度值 + * @returns {number} 输出标准化后的弧度制 + */ + static formatRadian(radian: number): number; + /** + * 确保角度在-180到180之间 + */ + static normalizeRotation(rotation: number): number; + static matrixToTransformPosition(matrix: Matrix, transform: DBTransform): void; + static matrixToTransformScale(matrix: Matrix, transform: DBTransform, scaleXF: boolean, scaleYF: boolean): void; + static matrixToTransformRotation(matrix: Matrix, transform: DBTransform, scaleX: number, scaleY: number): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.EgretFactory + * @extends dragonBones.BaseFactory + * @classdesc + * Egret引擎中DragonBones工厂的基类实现 + */ + class EgretFactory extends BaseFactory { + constructor(); + /** @private */ + _generateArmature(): Armature; + /** @private */ + _generateSlot(): Slot; + /** @private */ + _generateDisplay(textureAtlas: EgretTextureAtlas, fullName: string, pivotX: number, pivotY: number): any; + _generateFastArmature(): FastArmature; + _generateFastSlot(): FastSlot; + } +} +declare module dragonBones { + /** + * @class dragonBones.EgretSlot + * @extends dragonBones.Slot + * @classdesc + * egret引擎使用的插槽 + */ + class EgretFastSlot extends FastSlot { + private _egretDisplay; + /** + * 创建一个新的 EgretSlot 实例 + */ + constructor(rawDisplay: any); + /** + * 释放资源 + */ + dispose(): void; + /** @private */ + _updateDisplay(value: any): void; + /** @private */ + _addDisplay(): void; + /** @private */ + _replaceDisplay(prevDisplay: any): void; + /** @private */ + _removeDisplay(): void; + /** @private */ + _getDisplayIndex(): number; + /** @private */ + _addDisplayToContainer(container: any, index?: number): void; + /** @private */ + _removeDisplayFromContainer(): void; + /** @private */ + _updateTransform(): void; + /** @private */ + _updateDisplayVisible(value: boolean): void; + /** @private */ + _updateDisplayColor(aOffset: number, rOffset: number, gOffset: number, bOffset: number, aMultiplier: number, rMultiplier: number, gMultiplier: number, bMultiplier: number, colorChanged?: boolean): void; + /** @private */ + _updateFrame(): void; + /** @private */ + _updateDisplayBlendMode(value: string): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.EgretSheetAtlas + * @implements dragonBones.ITextureAtlas + * @classdesc + * Egret 引擎使用的sheet纹理集 + */ + class EgretSheetAtlas implements ITextureAtlas { + texture: egret.Texture; + private textureData; + private static Region; + /** + * 纹理集的名称 + * @member {string} dragonBones.EgretSheetAtlas#name + */ + name: string; + /** + * 纹理集的缩放 + * @member {number} dragonBones.EgretSheetAtlas#scale + */ + scale: number; + /** + * spriteSheet + * @member {egret.SpriteSheet} dragonBones.EgretSheetAtlas#spriteSheet + */ + spriteSheet: egret.SpriteSheet; + private _textureDatas; + /** + * 创建一个新的EgretSheetAltas 实例 + * @param texture 纹理 + * @param textureData 纹理数据 + * @param scale 缩放 + */ + constructor(texture: egret.Texture, textureData: any, scale?: number); + /** + *通过纹理的名字来获取纹理 + * @param fullName 纹理的名字 + * @returns {egret.Texture} 获取到的纹理 + */ + getTexture(fullName: string): egret.Texture; + /** + *释放资源 + */ + dispose(): void; + /** + * 根据子纹理的名字获取子纹理的矩形区域 + * @param subTextureName 子纹理的名字 + * @returns {*} 获取到的矩形区域 + */ + getRegion(subTextureName: string): Rectangle; + } +} +declare module dragonBones { + /** + * @class dragonBones.EgretSlot + * @extends dragonBones.Slot + * @classdesc + * egret引擎使用的插槽 + */ + class EgretSlot extends Slot { + private _egretDisplay; + /** + * 创建一个新的 EgretSlot 实例 + */ + constructor(); + /** + * 释放资源 + */ + dispose(): void; + /** @private */ + _updateDisplay(value: any): void; + /** @private */ + _getDisplayIndex(): number; + /** @private */ + _addDisplayToContainer(container: any, index?: number): void; + /** @private */ + _removeDisplayFromContainer(): void; + /** @private */ + _updateTransform(): void; + /** @private */ + _updateDisplayVisible(value: boolean): void; + /** @private */ + _updateDisplayColor(aOffset: number, rOffset: number, gOffset: number, bOffset: number, aMultiplier: number, rMultiplier: number, gMultiplier: number, bMultiplier: number, colorChange?: boolean): void; + /** @private */ + _updateDisplayBlendMode(value: string): void; + _calculateRelativeParentTransform(): void; + } +} +declare module dragonBones { + /** + * @class dragonBones.EgretTextureAtlas + * @implements dragonBones.ITextureAtlas + * @classdesc + * egret引擎使用的纹理集 + */ + class EgretTextureAtlas implements ITextureAtlas { + texture: egret.Texture; + private textureAtlasRawData; + /** + * 名字 + * @member {string} dragonBones.EgretTextureAtlas#name + */ + name: string; + /** + * 缩放 + * @member {number} dragonBones.EgretTextureAtlas#scale + */ + scale: number; + /** + * spriteSheet + * @member {egert.SpriteSheet} dragonBones.EgretTextureAtlas#spriteSheet + */ + spriteSheet: egret.SpriteSheet; + private _textureDatas; + static rotatedDic: any; + /** + * 创建一个新的EgretTextureAtlas实例 + * @param texture 纹理集 + * @param textureAtlasRawData 纹理集数据 + * @param scale 缩放 + */ + constructor(texture: egret.Texture, textureAtlasRawData: any, scale?: number); + /** + * 根据名字获取纹理 + * @param fullName 纹理的名字 + * @returns {egret.Texture} 获取到的纹理 + */ + getTexture(fullName: string): egret.Texture; + /** + * 释放资源 + */ + dispose(): void; + /** + * 根据子纹理的名字获取子纹理所在的实际矩形区域 + * @param subTextureName 子纹理的名字 + * @returns {*} 子纹理所在的矩形区域 + */ + getRegion(subTextureName: string): Rectangle; + /** + * 根据子纹理的名字获取子纹理所在的真实矩形区域 + * @param subTextureName 子纹理的名字 + * @returns {*} 子纹理所在的矩形区域 + */ + getFrame(subTextureName: string): Rectangle; + /** + * @private + * 根据子纹理的名字获取子纹理数据 + * @param subTextureName 子纹理的名字 + * @returns {dragonBone.TextureData} 子纹理数据 + */ + getTextureData(subTextureName: string): TextureData; + private parseData(textureAtlasRawData); + } +} + + + + diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.es6.d.ts b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.es6.d.ts new file mode 100755 index 0000000000000000000000000000000000000000..5f282702bb03ef11d7184d19c80927b47f919764 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/lib.es6.d.ts @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/raw.typescriptServices.js b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/raw.typescriptServices.js new file mode 100755 index 0000000000000000000000000000000000000000..dcff8632ea1bc1cd67a9ab415669d8db494b4d33 --- /dev/null +++ b/teachWeb/cn/tpl/simplebootx/Public/simpleboot/examples/vscode/Script/vs/languages/typescript/common/lib/raw.typescriptServices.js @@ -0,0 +1,2 @@ +'use strict';var __extends=this&&this.__extends||function(a,b){function Q(){this.constructor=a}for(var n in b)b.hasOwnProperty(n)&&(a[n]=b[n]);a.prototype=null===b?Object.create(b):(Q.prototype=b.prototype,new Q)},ts;(function(a){(function(a){a[a.Unknown=0]="Unknown";a[a.EndOfFileToken=1]="EndOfFileToken";a[a.SingleLineCommentTrivia=2]="SingleLineCommentTrivia";a[a.MultiLineCommentTrivia=3]="MultiLineCommentTrivia";a[a.NewLineTrivia=4]="NewLineTrivia";a[a.WhitespaceTrivia=5]="WhitespaceTrivia";a[a.ShebangTrivia=6]="ShebangTrivia";a[a.ConflictMarkerTrivia=7]="ConflictMarkerTrivia";a[a.NumericLiteral=8]="NumericLiteral";a[a.StringLiteral=9]="StringLiteral";a[a.RegularExpressionLiteral=10]="RegularExpressionLiteral";a[a.NoSubstitutionTemplateLiteral=11]="NoSubstitutionTemplateLiteral";a[a.TemplateHead=12]="TemplateHead";a[a.TemplateMiddle=13]="TemplateMiddle";a[a.TemplateTail=14]="TemplateTail";a[a.OpenBraceToken=15]="OpenBraceToken";a[a.CloseBraceToken=16]="CloseBraceToken";a[a.OpenParenToken=17]="OpenParenToken";a[a.CloseParenToken=18]="CloseParenToken";a[a.OpenBracketToken=19]="OpenBracketToken";a[a.CloseBracketToken=20]="CloseBracketToken";a[a.DotToken=21]="DotToken";a[a.DotDotDotToken=22]="DotDotDotToken";a[a.SemicolonToken=23]="SemicolonToken";a[a.CommaToken=24]="CommaToken";a[a.LessThanToken=25]="LessThanToken";a[a.LessThanSlashToken=26]="LessThanSlashToken";a[a.GreaterThanToken=27]="GreaterThanToken";a[a.LessThanEqualsToken=28]="LessThanEqualsToken";a[a.GreaterThanEqualsToken=29]="GreaterThanEqualsToken";a[a.EqualsEqualsToken=30]="EqualsEqualsToken";a[a.ExclamationEqualsToken=31]="ExclamationEqualsToken";a[a.EqualsEqualsEqualsToken=32]="EqualsEqualsEqualsToken";a[a.ExclamationEqualsEqualsToken=33]="ExclamationEqualsEqualsToken";a[a.EqualsGreaterThanToken=34]="EqualsGreaterThanToken";a[a.PlusToken=35]="PlusToken";a[a.MinusToken=36]="MinusToken";a[a.AsteriskToken=37]="AsteriskToken";a[a.AsteriskAsteriskToken=38]="AsteriskAsteriskToken";a[a.SlashToken=39]="SlashToken";a[a.PercentToken=40]="PercentToken";a[a.PlusPlusToken=41]="PlusPlusToken";a[a.MinusMinusToken=42]="MinusMinusToken";a[a.LessThanLessThanToken=43]="LessThanLessThanToken";a[a.GreaterThanGreaterThanToken=44]="GreaterThanGreaterThanToken";a[a.GreaterThanGreaterThanGreaterThanToken=45]="GreaterThanGreaterThanGreaterThanToken";a[a.AmpersandToken=46]="AmpersandToken";a[a.BarToken=47]="BarToken";a[a.CaretToken=48]="CaretToken";a[a.ExclamationToken=49]="ExclamationToken";a[a.TildeToken=50]="TildeToken";a[a.AmpersandAmpersandToken=51]="AmpersandAmpersandToken";a[a.BarBarToken=52]="BarBarToken";a[a.QuestionToken=53]="QuestionToken";a[a.ColonToken=54]="ColonToken";a[a.AtToken=55]="AtToken";a[a.EqualsToken=56]="EqualsToken";a[a.PlusEqualsToken=57]="PlusEqualsToken";a[a.MinusEqualsToken=58]="MinusEqualsToken";a[a.AsteriskEqualsToken=59]="AsteriskEqualsToken";a[a.AsteriskAsteriskEqualsToken=60]="AsteriskAsteriskEqualsToken";a[a.SlashEqualsToken=61]="SlashEqualsToken";a[a.PercentEqualsToken=62]="PercentEqualsToken";a[a.LessThanLessThanEqualsToken=63]="LessThanLessThanEqualsToken";a[a.GreaterThanGreaterThanEqualsToken=64]="GreaterThanGreaterThanEqualsToken";a[a.GreaterThanGreaterThanGreaterThanEqualsToken=65]="GreaterThanGreaterThanGreaterThanEqualsToken";a[a.AmpersandEqualsToken=66]="AmpersandEqualsToken";a[a.BarEqualsToken=67]="BarEqualsToken";a[a.CaretEqualsToken=68]="CaretEqualsToken";a[a.Identifier=69]="Identifier";a[a.BreakKeyword=70]="BreakKeyword";a[a.CaseKeyword=71]="CaseKeyword";a[a.CatchKeyword=72]="CatchKeyword";a[a.ClassKeyword=73]="ClassKeyword";a[a.ConstKeyword=74]="ConstKeyword";a[a.ContinueKeyword=75]="ContinueKeyword";a[a.DebuggerKeyword=76]="DebuggerKeyword";a[a.DefaultKeyword=77]="DefaultKeyword";a[a.DeleteKeyword=78]="DeleteKeyword";a[a.DoKeyword=79]="DoKeyword";a[a.ElseKeyword=80]="ElseKeyword";a[a.EnumKeyword=81]="EnumKeyword";a[a.ExportKeyword=82]="ExportKeyword";a[a.ExtendsKeyword=83]="ExtendsKeyword";a[a.FalseKeyword=84]="FalseKeyword";a[a.FinallyKeyword=85]="FinallyKeyword";a[a.ForKeyword=86]="ForKeyword";a[a.FunctionKeyword=87]="FunctionKeyword";a[a.IfKeyword=88]="IfKeyword";a[a.ImportKeyword=89]="ImportKeyword";a[a.InKeyword=90]="InKeyword";a[a.InstanceOfKeyword=91]="InstanceOfKeyword";a[a.NewKeyword=92]="NewKeyword";a[a.NullKeyword=93]="NullKeyword";a[a.ReturnKeyword=94]="ReturnKeyword";a[a.SuperKeyword=95]="SuperKeyword";a[a.SwitchKeyword=96]="SwitchKeyword";a[a.ThisKeyword=97]="ThisKeyword";a[a.ThrowKeyword=98]="ThrowKeyword";a[a.TrueKeyword=99]="TrueKeyword";a[a.TryKeyword=100]="TryKeyword";a[a.TypeOfKeyword=101]="TypeOfKeyword";a[a.VarKeyword=102]="VarKeyword";a[a.VoidKeyword=103]="VoidKeyword";a[a.WhileKeyword=104]="WhileKeyword";a[a.WithKeyword=105]="WithKeyword";a[a.ImplementsKeyword=106]="ImplementsKeyword";a[a.InterfaceKeyword=107]="InterfaceKeyword";a[a.LetKeyword=108]="LetKeyword";a[a.PackageKeyword=109]="PackageKeyword";a[a.PrivateKeyword=110]="PrivateKeyword";a[a.ProtectedKeyword=111]="ProtectedKeyword";a[a.PublicKeyword=112]="PublicKeyword";a[a.StaticKeyword=113]="StaticKeyword";a[a.YieldKeyword=114]="YieldKeyword";a[a.AbstractKeyword=115]="AbstractKeyword";a[a.AsKeyword=116]="AsKeyword";a[a.AnyKeyword=117]="AnyKeyword";a[a.AsyncKeyword=118]="AsyncKeyword";a[a.AwaitKeyword=119]="AwaitKeyword";a[a.BooleanKeyword=120]="BooleanKeyword";a[a.ConstructorKeyword=121]="ConstructorKeyword";a[a.DeclareKeyword=122]="DeclareKeyword";a[a.GetKeyword=123]="GetKeyword";a[a.IsKeyword=124]="IsKeyword";a[a.ModuleKeyword=125]="ModuleKeyword";a[a.NamespaceKeyword=126]="NamespaceKeyword";a[a.RequireKeyword=127]="RequireKeyword";a[a.NumberKeyword=128]="NumberKeyword";a[a.SetKeyword=129]="SetKeyword";a[a.StringKeyword=130]="StringKeyword";a[a.SymbolKeyword=131]="SymbolKeyword";a[a.TypeKeyword=132]="TypeKeyword";a[a.FromKeyword=133]="FromKeyword";a[a.GlobalKeyword=134]="GlobalKeyword";a[a.OfKeyword=135]="OfKeyword";a[a.QualifiedName=136]="QualifiedName";a[a.ComputedPropertyName=137]="ComputedPropertyName";a[a.TypeParameter=138]="TypeParameter";a[a.Parameter=139]="Parameter";a[a.Decorator=140]="Decorator";a[a.PropertySignature=141]="PropertySignature";a[a.PropertyDeclaration=142]="PropertyDeclaration";a[a.MethodSignature=143]="MethodSignature";a[a.MethodDeclaration=144]="MethodDeclaration";a[a.Constructor=145]="Constructor";a[a.GetAccessor=146]="GetAccessor";a[a.SetAccessor=147]="SetAccessor";a[a.CallSignature=148]="CallSignature";a[a.ConstructSignature=149]="ConstructSignature";a[a.IndexSignature=150]="IndexSignature";a[a.TypePredicate=151]="TypePredicate";a[a.TypeReference=152]="TypeReference";a[a.FunctionType=153]="FunctionType";a[a.ConstructorType=154]="ConstructorType";a[a.TypeQuery=155]="TypeQuery";a[a.TypeLiteral=156]="TypeLiteral";a[a.ArrayType=157]="ArrayType";a[a.TupleType=158]="TupleType";a[a.UnionType=159]="UnionType";a[a.IntersectionType=160]="IntersectionType";a[a.ParenthesizedType=161]="ParenthesizedType";a[a.ThisType=162]="ThisType";a[a.StringLiteralType=163]="StringLiteralType";a[a.ObjectBindingPattern=164]="ObjectBindingPattern";a[a.ArrayBindingPattern=165]="ArrayBindingPattern";a[a.BindingElement=166]="BindingElement";a[a.ArrayLiteralExpression=167]="ArrayLiteralExpression";a[a.ObjectLiteralExpression=168]="ObjectLiteralExpression";a[a.PropertyAccessExpression=169]="PropertyAccessExpression";a[a.ElementAccessExpression=170]="ElementAccessExpression";a[a.CallExpression=171]="CallExpression";a[a.NewExpression=172]="NewExpression";a[a.TaggedTemplateExpression=173]="TaggedTemplateExpression";a[a.TypeAssertionExpression=174]="TypeAssertionExpression";a[a.ParenthesizedExpression=175]="ParenthesizedExpression";a[a.FunctionExpression=176]="FunctionExpression";a[a.ArrowFunction=177]="ArrowFunction";a[a.DeleteExpression=178]="DeleteExpression";a[a.TypeOfExpression=179]="TypeOfExpression";a[a.VoidExpression=180]="VoidExpression";a[a.AwaitExpression=181]="AwaitExpression";a[a.PrefixUnaryExpression=182]="PrefixUnaryExpression";a[a.PostfixUnaryExpression=183]="PostfixUnaryExpression";a[a.BinaryExpression=184]="BinaryExpression";a[a.ConditionalExpression=185]="ConditionalExpression";a[a.TemplateExpression=186]="TemplateExpression";a[a.YieldExpression=187]="YieldExpression";a[a.SpreadElementExpression=188]="SpreadElementExpression";a[a.ClassExpression=189]="ClassExpression";a[a.OmittedExpression=190]="OmittedExpression";a[a.ExpressionWithTypeArguments=191]="ExpressionWithTypeArguments";a[a.AsExpression=192]="AsExpression";a[a.TemplateSpan=193]="TemplateSpan";a[a.SemicolonClassElement=194]="SemicolonClassElement";a[a.Block=195]="Block";a[a.VariableStatement=196]="VariableStatement";a[a.EmptyStatement=197]="EmptyStatement";a[a.ExpressionStatement=198]="ExpressionStatement";a[a.IfStatement=199]="IfStatement";a[a.DoStatement=200]="DoStatement";a[a.WhileStatement=201]="WhileStatement";a[a.ForStatement=202]="ForStatement";a[a.ForInStatement=203]="ForInStatement";a[a.ForOfStatement=204]="ForOfStatement";a[a.ContinueStatement=205]="ContinueStatement";a[a.BreakStatement=206]="BreakStatement";a[a.ReturnStatement=207]="ReturnStatement";a[a.WithStatement=208]="WithStatement";a[a.SwitchStatement=209]="SwitchStatement";a[a.LabeledStatement=210]="LabeledStatement";a[a.ThrowStatement=211]="ThrowStatement";a[a.TryStatement=212]="TryStatement";a[a.DebuggerStatement=213]="DebuggerStatement";a[a.VariableDeclaration=214]="VariableDeclaration";a[a.VariableDeclarationList=215]="VariableDeclarationList";a[a.FunctionDeclaration=216]="FunctionDeclaration";a[a.ClassDeclaration=217]="ClassDeclaration";a[a.InterfaceDeclaration=218]="InterfaceDeclaration";a[a.TypeAliasDeclaration=219]="TypeAliasDeclaration";a[a.EnumDeclaration=220]="EnumDeclaration";a[a.ModuleDeclaration=221]="ModuleDeclaration";a[a.ModuleBlock=222]="ModuleBlock";a[a.CaseBlock=223]="CaseBlock";a[a.ImportEqualsDeclaration=224]="ImportEqualsDeclaration";a[a.ImportDeclaration=225]="ImportDeclaration";a[a.ImportClause=226]="ImportClause";a[a.NamespaceImport=227]="NamespaceImport";a[a.NamedImports=228]="NamedImports";a[a.ImportSpecifier=229]="ImportSpecifier";a[a.ExportAssignment=230]="ExportAssignment";a[a.ExportDeclaration=231]="ExportDeclaration";a[a.NamedExports=232]="NamedExports";a[a.ExportSpecifier=233]="ExportSpecifier";a[a.MissingDeclaration=234]="MissingDeclaration";a[a.ExternalModuleReference=235]="ExternalModuleReference";a[a.JsxElement=236]="JsxElement";a[a.JsxSelfClosingElement=237]="JsxSelfClosingElement";a[a.JsxOpeningElement=238]="JsxOpeningElement";a[a.JsxText=239]="JsxText";a[a.JsxClosingElement=240]="JsxClosingElement";a[a.JsxAttribute=241]="JsxAttribute";a[a.JsxSpreadAttribute=242]="JsxSpreadAttribute";a[a.JsxExpression=243]="JsxExpression";a[a.CaseClause=244]="CaseClause";a[a.DefaultClause=245]="DefaultClause";a[a.HeritageClause=246]="HeritageClause";a[a.CatchClause=247]="CatchClause";a[a.PropertyAssignment=248]="PropertyAssignment";a[a.ShorthandPropertyAssignment=249]="ShorthandPropertyAssignment";a[a.EnumMember=250]="EnumMember";a[a.SourceFile=251]="SourceFile";a[a.JSDocTypeExpression=252]="JSDocTypeExpression";a[a.JSDocAllType=253]="JSDocAllType";a[a.JSDocUnknownType=254]="JSDocUnknownType";a[a.JSDocArrayType=255]="JSDocArrayType";a[a.JSDocUnionType=256]="JSDocUnionType";a[a.JSDocTupleType=257]="JSDocTupleType";a[a.JSDocNullableType=258]="JSDocNullableType";a[a.JSDocNonNullableType=259]="JSDocNonNullableType";a[a.JSDocRecordType=260]="JSDocRecordType";a[a.JSDocRecordMember=261]="JSDocRecordMember";a[a.JSDocTypeReference=262]="JSDocTypeReference";a[a.JSDocOptionalType=263]="JSDocOptionalType";a[a.JSDocFunctionType=264]="JSDocFunctionType";a[a.JSDocVariadicType=265]="JSDocVariadicType";a[a.JSDocConstructorType=266]="JSDocConstructorType";a[a.JSDocThisType=267]="JSDocThisType";a[a.JSDocComment=268]="JSDocComment";a[a.JSDocTag=269]="JSDocTag";a[a.JSDocParameterTag=270]="JSDocParameterTag";a[a.JSDocReturnTag=271]="JSDocReturnTag";a[a.JSDocTypeTag=272]="JSDocTypeTag";a[a.JSDocTemplateTag=273]="JSDocTemplateTag";a[a.SyntaxList=274]="SyntaxList";a[a.Count=275]="Count";a[a.FirstAssignment=56]="FirstAssignment";a[a.LastAssignment=68]="LastAssignment";a[a.FirstReservedWord=70]="FirstReservedWord";a[a.LastReservedWord=105]="LastReservedWord";a[a.FirstKeyword=70]="FirstKeyword";a[a.LastKeyword=135]="LastKeyword";a[a.FirstFutureReservedWord=106]="FirstFutureReservedWord";a[a.LastFutureReservedWord=114]="LastFutureReservedWord";a[a.FirstTypeNode=151]="FirstTypeNode";a[a.LastTypeNode=163]="LastTypeNode";a[a.FirstPunctuation=15]="FirstPunctuation";a[a.LastPunctuation=68]="LastPunctuation";a[a.FirstToken=0]="FirstToken";a[a.LastToken=135]="LastToken";a[a.FirstTriviaToken=2]="FirstTriviaToken";a[a.LastTriviaToken=7]="LastTriviaToken";a[a.FirstLiteralToken=8]="FirstLiteralToken";a[a.LastLiteralToken=11]="LastLiteralToken";a[a.FirstTemplateToken=11]="FirstTemplateToken";a[a.LastTemplateToken=14]="LastTemplateToken";a[a.FirstBinaryOperator=25]="FirstBinaryOperator";a[a.LastBinaryOperator=68]="LastBinaryOperator";a[a.FirstNode=136]="FirstNode"})(a.SyntaxKind||(a.SyntaxKind={}));(function(a){a[a.None=0]="None";a[a.Export=2]="Export";a[a.Ambient=4]="Ambient";a[a.Public=8]="Public";a[a.Private=16]="Private";a[a.Protected=32]="Protected";a[a.Static=64]="Static";a[a.Abstract=128]="Abstract";a[a.Async=256]="Async";a[a.Default=512]="Default";a[a.MultiLine=1024]="MultiLine";a[a.Synthetic=2048]="Synthetic";a[a.DeclarationFile=4096]="DeclarationFile";a[a.Let=8192]="Let";a[a.Const=16384]="Const";a[a.OctalLiteral=32768]="OctalLiteral";a[a.Namespace=65536]="Namespace";a[a.ExportContext=131072]="ExportContext";a[a.ContainsThis=262144]="ContainsThis";a[a.HasImplicitReturn=524288]="HasImplicitReturn";a[a.HasExplicitReturn=1048576]="HasExplicitReturn";a[a.GlobalAugmentation=2097152]="GlobalAugmentation";a[a.HasClassExtends=4194304]="HasClassExtends";a[a.HasDecorators=8388608]="HasDecorators";a[a.HasParamDecorators=16777216]="HasParamDecorators";a[a.HasAsyncFunctions=33554432]="HasAsyncFunctions";a[a.Modifier=1022]="Modifier";a[a.AccessibilityModifier=56]="AccessibilityModifier";a[a.BlockScoped=24576]="BlockScoped";a[a.ReachabilityCheckFlags=1572864]="ReachabilityCheckFlags";a[a.EmitHelperFlags=62914560]="EmitHelperFlags"})(a.NodeFlags||(a.NodeFlags={}));(function(a){a[a.None=0]="None";a[a.DisallowIn=1]="DisallowIn";a[a.Yield=2]="Yield";a[a.Decorator=4]="Decorator";a[a.Await=8]="Await";a[a.ThisNodeHasError=16]="ThisNodeHasError";a[a.JavaScriptFile=32]="JavaScriptFile";a[a.ParserGeneratedFlags=63]="ParserGeneratedFlags";a[a.TypeExcludesFlags=10]="TypeExcludesFlags";a[a.ThisNodeOrAnySubNodesHasError=64]="ThisNodeOrAnySubNodesHasError";a[a.HasAggregatedChildData=128]="HasAggregatedChildData"})(a.ParserContextFlags||(a.ParserContextFlags={}));(function(a){a[a.None=0]="None";a[a.IntrinsicNamedElement=1]="IntrinsicNamedElement";a[a.IntrinsicIndexedElement=2]="IntrinsicIndexedElement";a[a.ValueElement=4]="ValueElement";a[a.UnknownElement=16]="UnknownElement";a[a.IntrinsicElement=3]="IntrinsicElement"})(a.JsxFlags||(a.JsxFlags={}));(function(a){a[a.Succeeded=1]="Succeeded";a[a.Failed=2]="Failed";a[a.FailedAndReported=3]="FailedAndReported"})(a.RelationComparisonResult||(a.RelationComparisonResult={}));var b=function(){return function(){}}();a.OperationCanceledException=b;(function(a){a[a.Success=0]="Success";a[a.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped";a[a.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated"})(a.ExitStatus||(a.ExitStatus={}));(function(a){a[a.None=0]="None";a[a.WriteArrayAsGenericType=1]="WriteArrayAsGenericType";a[a.UseTypeOfFunction=2]="UseTypeOfFunction";a[a.NoTruncation=4]="NoTruncation";a[a.WriteArrowStyleSignature=8]="WriteArrowStyleSignature";a[a.WriteOwnNameForAnyLike=16]="WriteOwnNameForAnyLike";a[a.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature";a[a.InElementType=64]="InElementType";a[a.UseFullyQualifiedType=128]="UseFullyQualifiedType"})(a.TypeFormatFlags||(a.TypeFormatFlags={}));(function(a){a[a.None=0]="None";a[a.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments";a[a.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing"})(a.SymbolFormatFlags||(a.SymbolFormatFlags={}));(function(a){a[a.Accessible=0]="Accessible";a[a.NotAccessible=1]="NotAccessible";a[a.CannotBeNamed=2]="CannotBeNamed"})(a.SymbolAccessibility||(a.SymbolAccessibility={}));(function(a){a[a.This=0]="This";a[a.Identifier=1]="Identifier"})(a.TypePredicateKind||(a.TypePredicateKind={}));(function(a){a[a.Unknown=0]="Unknown";a[a.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue";a[a.VoidType=2]="VoidType";a[a.NumberLikeType=3]="NumberLikeType";a[a.StringLikeType=4]="StringLikeType";a[a.BooleanType=5]="BooleanType";a[a.ArrayLikeType=6]="ArrayLikeType";a[a.ESSymbolType=7]="ESSymbolType";a[a.TypeWithCallSignature=8]="TypeWithCallSignature";a[a.ObjectType=9]="ObjectType"})(a.TypeReferenceSerializationKind||(a.TypeReferenceSerializationKind={}));(function(a){a[a.None=0]="None";a[a.FunctionScopedVariable=1]="FunctionScopedVariable";a[a.BlockScopedVariable=2]="BlockScopedVariable";a[a.Property=4]="Property";a[a.EnumMember=8]="EnumMember";a[a.Function=16]="Function";a[a.Class=32]="Class";a[a.Interface=64]="Interface";a[a.ConstEnum=128]="ConstEnum";a[a.RegularEnum=256]="RegularEnum";a[a.ValueModule=512]="ValueModule";a[a.NamespaceModule=1024]="NamespaceModule";a[a.TypeLiteral=2048]="TypeLiteral";a[a.ObjectLiteral=4096]="ObjectLiteral";a[a.Method=8192]="Method";a[a.Constructor=16384]="Constructor";a[a.GetAccessor=32768]="GetAccessor";a[a.SetAccessor=65536]="SetAccessor";a[a.Signature=131072]="Signature";a[a.TypeParameter=262144]="TypeParameter";a[a.TypeAlias=524288]="TypeAlias";a[a.ExportValue=1048576]="ExportValue";a[a.ExportType=2097152]="ExportType";a[a.ExportNamespace=4194304]="ExportNamespace";a[a.Alias=8388608]="Alias";a[a.Instantiated=16777216]="Instantiated";a[a.Merged=33554432]="Merged";a[a.Transient=67108864]="Transient";a[a.Prototype=134217728]="Prototype";a[a.SyntheticProperty=268435456]="SyntheticProperty";a[a.Optional=536870912]="Optional";a[a.ExportStar=1073741824]="ExportStar";a[a.Enum=384]="Enum";a[a.Variable=3]="Variable";a[a.Value=107455]="Value";a[a.Type=793056]="Type";a[a.Namespace=1536]="Namespace";a[a.Module=1536]="Module";a[a.Accessor=98304]="Accessor";a[a.FunctionScopedVariableExcludes=107454]="FunctionScopedVariableExcludes";a[a.BlockScopedVariableExcludes=107455]="BlockScopedVariableExcludes";a[a.ParameterExcludes=107455]="ParameterExcludes";a[a.PropertyExcludes=107455]="PropertyExcludes";a[a.EnumMemberExcludes=107455]="EnumMemberExcludes";a[a.FunctionExcludes=106927]="FunctionExcludes";a[a.ClassExcludes=899519]="ClassExcludes";a[a.InterfaceExcludes=792960]="InterfaceExcludes";a[a.RegularEnumExcludes=899327]="RegularEnumExcludes";a[a.ConstEnumExcludes=899967]="ConstEnumExcludes";a[a.ValueModuleExcludes=106639]="ValueModuleExcludes";a[a.NamespaceModuleExcludes=0]="NamespaceModuleExcludes";a[a.MethodExcludes=99263]="MethodExcludes";a[a.GetAccessorExcludes=41919]="GetAccessorExcludes";a[a.SetAccessorExcludes=74687]="SetAccessorExcludes";a[a.TypeParameterExcludes=530912]="TypeParameterExcludes";a[a.TypeAliasExcludes=793056]="TypeAliasExcludes";a[a.AliasExcludes=8388608]="AliasExcludes";a[a.ModuleMember=8914931]="ModuleMember";a[a.ExportHasLocal=944]="ExportHasLocal";a[a.HasExports=1952]="HasExports";a[a.HasMembers=6240]="HasMembers";a[a.BlockScoped=418]="BlockScoped";a[a.PropertyOrAccessor=98308]="PropertyOrAccessor";a[a.Export=7340032]="Export";a[a.Classifiable=788448]="Classifiable"})(a.SymbolFlags||(a.SymbolFlags={}));(function(a){a[a.TypeChecked=1]="TypeChecked";a[a.LexicalThis=2]="LexicalThis";a[a.CaptureThis=4]="CaptureThis";a[a.SuperInstance=256]="SuperInstance";a[a.SuperStatic=512]="SuperStatic";a[a.ContextChecked=1024]="ContextChecked";a[a.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper";a[a.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding";a[a.CaptureArguments=8192]="CaptureArguments";a[a.EnumValuesComputed=16384]="EnumValuesComputed";a[a.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass";a[a.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding";a[a.CapturedBlockScopedBinding=131072]="CapturedBlockScopedBinding";a[a.BlockScopedBindingInLoop=262144]="BlockScopedBindingInLoop";a[a.ClassWithBodyScopedClassBinding=524288]="ClassWithBodyScopedClassBinding";a[a.BodyScopedClassBinding=1048576]="BodyScopedClassBinding";a[a.NeedsLoopOutParameter=2097152]="NeedsLoopOutParameter"})(a.NodeCheckFlags||(a.NodeCheckFlags={}));(function(a){a[a.Any=1]="Any";a[a.String=2]="String";a[a.Number=4]="Number";a[a.Boolean=8]="Boolean";a[a.Void=16]="Void";a[a.Undefined=32]="Undefined";a[a.Null=64]="Null";a[a.Enum=128]="Enum";a[a.StringLiteral=256]="StringLiteral";a[a.TypeParameter=512]="TypeParameter";a[a.Class=1024]="Class";a[a.Interface=2048]="Interface";a[a.Reference=4096]="Reference";a[a.Tuple=8192]="Tuple";a[a.Union=16384]="Union";a[a.Intersection=32768]="Intersection";a[a.Anonymous=65536]="Anonymous";a[a.Instantiated=131072]="Instantiated";a[a.FromSignature=262144]="FromSignature";a[a.ObjectLiteral=524288]="ObjectLiteral";a[a.FreshObjectLiteral=1048576]="FreshObjectLiteral";a[a.ContainsUndefinedOrNull=2097152]="ContainsUndefinedOrNull";a[a.ContainsObjectLiteral=4194304]="ContainsObjectLiteral";a[a.ContainsAnyFunctionType=8388608]="ContainsAnyFunctionType";a[a.ESSymbol=16777216]="ESSymbol";a[a.ThisType=33554432]="ThisType";a[a.ObjectLiteralPatternWithComputedProperties=67108864]="ObjectLiteralPatternWithComputedProperties";a[a.Intrinsic=16777343]="Intrinsic";a[a.Primitive=16777726]="Primitive";a[a.StringLike=258]="StringLike";a[a.NumberLike=132]="NumberLike";a[a.ObjectType=80896]="ObjectType";a[a.UnionOrIntersection=49152]="UnionOrIntersection";a[a.StructuredType=130048]="StructuredType";a[a.RequiresWidening=6291456]="RequiresWidening";a[a.PropagatingFlags=14680064]="PropagatingFlags"})(a.TypeFlags||(a.TypeFlags={}));(function(a){a[a.Call=0]="Call";a[a.Construct=1]="Construct"})(a.SignatureKind||(a.SignatureKind={}));(function(a){a[a.String=0]="String";a[a.Number=1]="Number"})(a.IndexKind||(a.IndexKind={}));(function(a){a[a.None=0]="None";a[a.ExportsProperty=1]="ExportsProperty";a[a.ModuleExports=2]="ModuleExports";a[a.PrototypeProperty=3]="PrototypeProperty";a[a.ThisProperty=4]="ThisProperty"})(a.SpecialPropertyAssignmentKind||(a.SpecialPropertyAssignmentKind={}));(function(a){a[a.Warning=0]="Warning";a[a.Error=1]="Error";a[a.Message=2]="Message"})(a.DiagnosticCategory||(a.DiagnosticCategory={}));(function(a){a[a.Classic=1]="Classic";a[a.NodeJs=2]="NodeJs"})(a.ModuleResolutionKind||(a.ModuleResolutionKind={}));(function(a){a[a.None=0]="None";a[a.CommonJS=1]="CommonJS";a[a.AMD=2]="AMD";a[a.UMD=3]="UMD";a[a.System=4]="System";a[a.ES6=5]="ES6";a[a.ES2015=5]="ES2015"})(a.ModuleKind||(a.ModuleKind={}));(function(a){a[a.None=0]="None";a[a.Preserve=1]="Preserve";a[a.React=2]="React"})(a.JsxEmit||(a.JsxEmit={}));(function(a){a[a.CarriageReturnLineFeed=0]="CarriageReturnLineFeed";a[a.LineFeed=1]="LineFeed"})(a.NewLineKind||(a.NewLineKind={}));(function(a){a[a.Unknown=0]="Unknown";a[a.JS=1]="JS";a[a.JSX=2]="JSX";a[a.TS=3]="TS";a[a.TSX=4]="TSX"})(a.ScriptKind||(a.ScriptKind={}));(function(a){a[a.ES3=0]="ES3";a[a.ES5=1]="ES5";a[a.ES6=2]="ES6";a[a.ES2015=2]="ES2015";a[a.Latest=2]="Latest"})(a.ScriptTarget||(a.ScriptTarget={}));(function(a){a[a.Standard=0]="Standard";a[a.JSX=1]="JSX"})(a.LanguageVariant||(a.LanguageVariant={}));(function(a){a[a.Simple=0]="Simple";a[a.Pretty=1]="Pretty"})(a.DiagnosticStyle||(a.DiagnosticStyle={}));(function(a){a[a.nullCharacter=0]="nullCharacter";a[a.maxAsciiCharacter=127]="maxAsciiCharacter";a[a.lineFeed=10]="lineFeed";a[a.carriageReturn=13]="carriageReturn";a[a.lineSeparator=8232]="lineSeparator";a[a.paragraphSeparator=8233]="paragraphSeparator";a[a.nextLine=133]="nextLine";a[a.space=32]="space";a[a.nonBreakingSpace=160]="nonBreakingSpace";a[a.enQuad=8192]="enQuad";a[a.emQuad=8193]="emQuad";a[a.enSpace=8194]="enSpace";a[a.emSpace=8195]="emSpace";a[a.threePerEmSpace=8196]="threePerEmSpace";a[a.fourPerEmSpace=8197]="fourPerEmSpace";a[a.sixPerEmSpace=8198]="sixPerEmSpace";a[a.figureSpace=8199]="figureSpace";a[a.punctuationSpace=8200]="punctuationSpace";a[a.thinSpace=8201]="thinSpace";a[a.hairSpace=8202]="hairSpace";a[a.zeroWidthSpace=8203]="zeroWidthSpace";a[a.narrowNoBreakSpace=8239]="narrowNoBreakSpace";a[a.ideographicSpace=12288]="ideographicSpace";a[a.mathematicalSpace=8287]="mathematicalSpace";a[a.ogham=5760]="ogham";a[a._=95]="_";a[a.$=36]="$";a[a._0=48]="_0";a[a._1=49]="_1";a[a._2=50]="_2";a[a._3=51]="_3";a[a._4=52]="_4";a[a._5=53]="_5";a[a._6=54]="_6";a[a._7=55]="_7";a[a._8=56]="_8";a[a._9=57]="_9";a[a.a=97]="a";a[a.b=98]="b";a[a.c=99]="c";a[a.d=100]="d";a[a.e=101]="e";a[a.f=102]="f";a[a.g=103]="g";a[a.h=104]="h";a[a.i=105]="i";a[a.j=106]="j";a[a.k=107]="k";a[a.l=108]="l";a[a.m=109]="m";a[a.n=110]="n";a[a.o=111]="o";a[a.p=112]="p";a[a.q=113]="q";a[a.r=114]="r";a[a.s=115]="s";a[a.t=116]="t";a[a.u=117]="u";a[a.v=118]="v";a[a.w=119]="w";a[a.x=120]="x";a[a.y=121]="y";a[a.z=122]="z";a[a.A=65]="A";a[a.B=66]="B";a[a.C=67]="C";a[a.D=68]="D";a[a.E=69]="E";a[a.F=70]="F";a[a.G=71]="G";a[a.H=72]="H";a[a.I=73]="I";a[a.J=74]="J";a[a.K=75]="K";a[a.L=76]="L";a[a.M=77]="M";a[a.N=78]="N";a[a.O=79]="O";a[a.P=80]="P";a[a.Q=81]="Q";a[a.R=82]="R";a[a.S=83]="S";a[a.T=84]="T";a[a.U=85]="U";a[a.V=86]="V";a[a.W=87]="W";a[a.X=88]="X";a[a.Y=89]="Y";a[a.Z=90]="Z";a[a.ampersand=38]="ampersand";a[a.asterisk=42]="asterisk";a[a.at=64]="at";a[a.backslash=92]="backslash";a[a.backtick=96]="backtick";a[a.bar=124]="bar";a[a.caret=94]="caret";a[a.closeBrace=125]="closeBrace";a[a.closeBracket=93]="closeBracket";a[a.closeParen=41]="closeParen";a[a.colon=58]="colon";a[a.comma=44]="comma";a[a.dot=46]="dot";a[a.doubleQuote=34]="doubleQuote";a[a.equals=61]="equals";a[a.exclamation=33]="exclamation";a[a.greaterThan=62]="greaterThan";a[a.hash=35]="hash";a[a.lessThan=60]="lessThan";a[a.minus=45]="minus";a[a.openBrace=123]="openBrace";a[a.openBracket=91]="openBracket";a[a.openParen=40]="openParen";a[a.percent=37]="percent";a[a.plus=43]="plus";a[a.question=63]="question";a[a.semicolon=59]="semicolon";a[a.singleQuote=39]="singleQuote";a[a.slash=47]="slash";a[a.tilde=126]="tilde";a[a.backspace=8]="backspace";a[a.formFeed=12]="formFeed";a[a.byteOrderMark=65279]="byteOrderMark";a[a.tab=9]="tab";a[a.verticalTab=11]="verticalTab"})(a.CharacterCodes||(a.CharacterCodes={}))})(ts||(ts={}));(function(a){function b(a,b){if(a)for(var c=0,d=a.length;ca.length)return a;for(var b=[a[0]],c=a[0],d=1;db)return 2;a=a.indexOf("/",b+1);return 0>a?b+1:a+1}if(58===a.charCodeAt(1))return 47===a.charCodeAt(2)?3:2;if(0===a.lastIndexOf("file:///",0))return 8;b=a.indexOf("://");return-1!==b?b+3:0}function u(b,c){for(var d=[],e=0,m=b.substr(c).split(a.directorySeparator);ed&&a.substr(c-d,d)===b}function C(a){switch(a.substr(a.lastIndexOf(".")).toLowerCase()){case ".js":return 1;case ".jsx":return 2;case ".ts":return 3;case ".tsx":return 4;default:return 0}}function cb(b){return b&&b.allowJs?Ea:a.supportedTypeScriptExtensions}function rb(a,b){this.flags=a;this.name=b;this.declarations=void 0}function Ba(a,b){this.flags=b}function I(a){}function fa(a,b,c){this.kind=a;this.pos=b;this.end=c;this.flags=0;this.parent=void 0}(function(a){a[a.False=0]="False";a[a.Maybe=1]="Maybe";a[a.True=-1]="True"})(a.Ternary||(a.Ternary={}));a.createFileMap=function(a){function b(c){return a?a(c):c}var c={};return{get:function(a){return c[b(a)]},set:function(a,d){c[b(a)]=d},contains:function(a){return v(c,b(a))},remove:function(a){a=b(a);delete c[a]},forEachValue:function(a){for(var b in c)a(b,c[b])},clear:function(){c={}}}};a.toPath=function(a,b,c){a=m(a)?p(a):f(a,b);return c(a)};(function(a){a[a.LessThan=-1]="LessThan";a[a.EqualTo=0]="EqualTo";a[a.GreaterThan=1]="GreaterThan"})(a.Comparison||(a.Comparison={}));a.forEach=b;a.contains=Q;a.indexOf=function(a,b){if(a)for(var c=0,d=a.length;c>1),f=a[e];if(f===b)return e;f>b?d=e-1:c=e+1}return~c};a.reduceLeft=function(a,b,c){if(a){var d=a.length;if(0=arguments.length?a[e]:c;for(e++;e=arguments.length?a[d]:c;for(d--;0<=d;)e=b(e,a[d]),d--;return e}}return c};var Y=Object.prototype.hasOwnProperty;a.hasProperty=v;a.getKeys=function(a){var b=[],c;for(c in a)b.push(c);return b};a.getProperty=function(a,b){return Y.call(a,b)?a[b]:void 0};a.isEmpty=function(a){for(var b in a)if(v(a,b))return!1;return!0};a.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};a.extend=function(a,b){var c={},d;for(d in a)c[d]=a[d];for(d in b)v(c,d)||(c[d]=b[d]);return c};a.forEachValue=function(a,b){var c,d;for(d in a)if(c=b(a[d]))break;return c};a.forEachKey=function(a,b){var c,d;for(d in a)if(c=b(d))break;return c};a.lookUp=function(a,b){return v(a,b)?a[b]:void 0};a.copyMap=function(a,b){for(var c in a)b[c]=a[c]};a.arrayToMap=function(a,c){var d={};b(a,function(a){d[c(a)]=a});return d};a.reduceProperties=function(a,b,c){if(a)for(var d in a)v(a,d)&&(c=b(c,a[d],String(d)));return c};a.isArray=function(a){return Array.isArray?Array.isArray(a):a instanceof Array};a.memoize=function(a){var b;return function(){a&&(b=a(),a=void 0);return b}};a.localizedDiagnosticMessages=void 0;a.getLocaleSpecificMessage=D;a.createFileDiagnostic=function(a,b,c,d){var e=b+c;W.assert(0<=b,"start must be non-negative, is "+b);W.assert(0<=c,"length must be non-negative, is "+c);a&&(W.assert(b<=a.text.length,"start must be within the bounds of the file. "+b+" \x3e "+a.text.length),W.assert(e<=a.text.length,"end must be the bounds of the file. "+e+" \x3e "+a.text.length));e=D(d);4c?b:b.substring(c+1)}};a.combinePaths=ea;a.fileExtensionIs=P;a.ensureScriptKind=function(a,b){return b||C(a)||3};a.getScriptKindFromFileName=C;a.supportedTypeScriptExtensions=[".ts",".tsx",".d.ts"];a.supportedJavascriptExtensions=[".js",".jsx"];var Ea=a.supportedTypeScriptExtensions.concat(a.supportedJavascriptExtensions);a.getSupportedExtensions=cb;a.isSupportedSourceFileName=function(a,b){if(!a)return!1;for(var c=0,d=cb(b);c=a};a.assert=function(a,b,c){if(!a){a="";c&&(a="\r\nVerbose Debug Information: "+c());debugger;throw Error("Debug Failure. False expression: "+(b||"")+a);}};a.fail=function(b){a.assert(!1,b)}})(W=a.Debug||(a.Debug={}));a.copyListRemovingItem=function(a,b){for(var c=[],d=0;dm&&(m=b),b++,b===e.length&&(b=0),a++;c=b},g)}void 0===g&&(g=2500);void 0===z&&(z=30);var e=[],c=0;return{getModifiedTime:p,poll:A,startWatchTimer:m,addFile:function(a,b){var c={filePath:a,callback:b,mtime:p(a)};e.push(c);1===e.length&&m();return c},removeFile:function(b){e=a.copyListRemovingItem(b,e)}}}(),g=function(){function g(A){if(z.contains(A))z.get(A).referenceCount+=1;else{var m=b.watch(A,{persistent:!0},function(b,c){var f="string"!==typeof c?void 0:a.toPath(c,A,a.createGetCanonicalFileName(a.sys.useCaseSensitiveFileNames));if(("change"===b||"rename"===b)&&p.contains(f))for(var d=0,m=p.get(f);d=m.referenceCount&&(m.close(),z.remove(b)))}}}(),z=D.platform(),G="win32"!==z&&"win64"!==z&&"darwin"!==z;return{args:process.argv.slice(2),newLine:D.EOL,useCaseSensitiveFileNames:G,write:function(a){process.stdout.write(a)},readFile:function(a,g){if(b.existsSync(a)){var p=b.readFileSync(a),z=p.length;if(2<=z&&254===p[0]&&255===p[1]){for(var z=z&-2,m=0;m
',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(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&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,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(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?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===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!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!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.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:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.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 w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.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,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("