@egova/egova-api 1.0.198 → 1.0.199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20476,6 +20476,677 @@ exports.version = "1.2.9";
20476
20476
 
20477
20477
  module.exports = window.ace.acequire("ace/ace");
20478
20478
 
20479
+ /***/ }),
20480
+
20481
+ /***/ "0696":
20482
+ /***/ (function(module, exports, __webpack_require__) {
20483
+
20484
+ ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
20485
+ "use strict";
20486
+
20487
+ var oop = acequire("../lib/oop");
20488
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
20489
+
20490
+ var XmlHighlightRules = function(normalize) {
20491
+ var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";
20492
+
20493
+ this.$rules = {
20494
+ start : [
20495
+ {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
20496
+ {
20497
+ token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
20498
+ regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
20499
+ },
20500
+ {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
20501
+ {
20502
+ token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
20503
+ regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
20504
+ },
20505
+ {include : "tag"},
20506
+ {token : "text.end-tag-open.xml", regex: "</"},
20507
+ {token : "text.tag-open.xml", regex: "<"},
20508
+ {include : "reference"},
20509
+ {defaultToken : "text.xml"}
20510
+ ],
20511
+
20512
+ processing_instruction : [{
20513
+ token : "entity.other.attribute-name.decl-attribute-name.xml",
20514
+ regex : tagRegex
20515
+ }, {
20516
+ token : "keyword.operator.decl-attribute-equals.xml",
20517
+ regex : "="
20518
+ }, {
20519
+ include: "whitespace"
20520
+ }, {
20521
+ include: "string"
20522
+ }, {
20523
+ token : "punctuation.xml-decl.xml",
20524
+ regex : "\\?>",
20525
+ next : "start"
20526
+ }],
20527
+
20528
+ doctype : [
20529
+ {include : "whitespace"},
20530
+ {include : "string"},
20531
+ {token : "xml-pe.doctype.xml", regex : ">", next : "start"},
20532
+ {token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
20533
+ {token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
20534
+ ],
20535
+
20536
+ int_subset : [{
20537
+ token : "text.xml",
20538
+ regex : "\\s+"
20539
+ }, {
20540
+ token: "punctuation.int-subset.xml",
20541
+ regex: "]",
20542
+ next: "pop"
20543
+ }, {
20544
+ token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
20545
+ regex : "(<\\!)(" + tagRegex + ")",
20546
+ push : [{
20547
+ token : "text",
20548
+ regex : "\\s+"
20549
+ },
20550
+ {
20551
+ token : "punctuation.markup-decl.xml",
20552
+ regex : ">",
20553
+ next : "pop"
20554
+ },
20555
+ {include : "string"}]
20556
+ }],
20557
+
20558
+ cdata : [
20559
+ {token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},
20560
+ {token : "text.xml", regex : "\\s+"},
20561
+ {token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
20562
+ ],
20563
+
20564
+ comment : [
20565
+ {token : "comment.end.xml", regex : "-->", next : "start"},
20566
+ {defaultToken : "comment.xml"}
20567
+ ],
20568
+
20569
+ reference : [{
20570
+ token : "constant.language.escape.reference.xml",
20571
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
20572
+ }],
20573
+
20574
+ attr_reference : [{
20575
+ token : "constant.language.escape.reference.attribute-value.xml",
20576
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
20577
+ }],
20578
+
20579
+ tag : [{
20580
+ token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
20581
+ regex : "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
20582
+ next: [
20583
+ {include : "attributes"},
20584
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
20585
+ ]
20586
+ }],
20587
+
20588
+ tag_whitespace : [
20589
+ {token : "text.tag-whitespace.xml", regex : "\\s+"}
20590
+ ],
20591
+ whitespace : [
20592
+ {token : "text.whitespace.xml", regex : "\\s+"}
20593
+ ],
20594
+ string: [{
20595
+ token : "string.xml",
20596
+ regex : "'",
20597
+ push : [
20598
+ {token : "string.xml", regex: "'", next: "pop"},
20599
+ {defaultToken : "string.xml"}
20600
+ ]
20601
+ }, {
20602
+ token : "string.xml",
20603
+ regex : '"',
20604
+ push : [
20605
+ {token : "string.xml", regex: '"', next: "pop"},
20606
+ {defaultToken : "string.xml"}
20607
+ ]
20608
+ }],
20609
+
20610
+ attributes: [{
20611
+ token : "entity.other.attribute-name.xml",
20612
+ regex : tagRegex
20613
+ }, {
20614
+ token : "keyword.operator.attribute-equals.xml",
20615
+ regex : "="
20616
+ }, {
20617
+ include: "tag_whitespace"
20618
+ }, {
20619
+ include: "attribute_value"
20620
+ }],
20621
+
20622
+ attribute_value: [{
20623
+ token : "string.attribute-value.xml",
20624
+ regex : "'",
20625
+ push : [
20626
+ {token : "string.attribute-value.xml", regex: "'", next: "pop"},
20627
+ {include : "attr_reference"},
20628
+ {defaultToken : "string.attribute-value.xml"}
20629
+ ]
20630
+ }, {
20631
+ token : "string.attribute-value.xml",
20632
+ regex : '"',
20633
+ push : [
20634
+ {token : "string.attribute-value.xml", regex: '"', next: "pop"},
20635
+ {include : "attr_reference"},
20636
+ {defaultToken : "string.attribute-value.xml"}
20637
+ ]
20638
+ }]
20639
+ };
20640
+
20641
+ if (this.constructor === XmlHighlightRules)
20642
+ this.normalizeRules();
20643
+ };
20644
+
20645
+
20646
+ (function() {
20647
+
20648
+ this.embedTagRules = function(HighlightRules, prefix, tag){
20649
+ this.$rules.tag.unshift({
20650
+ token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
20651
+ regex : "(<)(" + tag + "(?=\\s|>|$))",
20652
+ next: [
20653
+ {include : "attributes"},
20654
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}
20655
+ ]
20656
+ });
20657
+
20658
+ this.$rules[tag + "-end"] = [
20659
+ {include : "attributes"},
20660
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",
20661
+ onMatch : function(value, currentState, stack) {
20662
+ stack.splice(0);
20663
+ return this.token;
20664
+ }}
20665
+ ];
20666
+
20667
+ this.embedRules(HighlightRules, prefix, [{
20668
+ token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
20669
+ regex : "(</)(" + tag + "(?=\\s|>|$))",
20670
+ next: tag + "-end"
20671
+ }, {
20672
+ token: "string.cdata.xml",
20673
+ regex : "<\\!\\[CDATA\\["
20674
+ }, {
20675
+ token: "string.cdata.xml",
20676
+ regex : "\\]\\]>"
20677
+ }]);
20678
+ };
20679
+
20680
+ }).call(TextHighlightRules.prototype);
20681
+
20682
+ oop.inherits(XmlHighlightRules, TextHighlightRules);
20683
+
20684
+ exports.XmlHighlightRules = XmlHighlightRules;
20685
+ });
20686
+
20687
+ ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(acequire, exports, module) {
20688
+ "use strict";
20689
+
20690
+ var oop = acequire("../../lib/oop");
20691
+ var Behaviour = acequire("../behaviour").Behaviour;
20692
+ var TokenIterator = acequire("../../token_iterator").TokenIterator;
20693
+ var lang = acequire("../../lib/lang");
20694
+
20695
+ function is(token, type) {
20696
+ return token.type.lastIndexOf(type + ".xml") > -1;
20697
+ }
20698
+
20699
+ var XmlBehaviour = function () {
20700
+
20701
+ this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
20702
+ if (text == '"' || text == "'") {
20703
+ var quote = text;
20704
+ var selected = session.doc.getTextRange(editor.getSelectionRange());
20705
+ if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
20706
+ return {
20707
+ text: quote + selected + quote,
20708
+ selection: false
20709
+ };
20710
+ }
20711
+
20712
+ var cursor = editor.getCursorPosition();
20713
+ var line = session.doc.getLine(cursor.row);
20714
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
20715
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
20716
+ var token = iterator.getCurrentToken();
20717
+
20718
+ if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
20719
+ return {
20720
+ text: "",
20721
+ selection: [1, 1]
20722
+ };
20723
+ }
20724
+
20725
+ if (!token)
20726
+ token = iterator.stepBackward();
20727
+
20728
+ if (!token)
20729
+ return;
20730
+
20731
+ while (is(token, "tag-whitespace") || is(token, "whitespace")) {
20732
+ token = iterator.stepBackward();
20733
+ }
20734
+ var rightSpace = !rightChar || rightChar.match(/\s/);
20735
+ if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {
20736
+ return {
20737
+ text: quote + quote,
20738
+ selection: [1, 1]
20739
+ };
20740
+ }
20741
+ }
20742
+ });
20743
+
20744
+ this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
20745
+ var selected = session.doc.getTextRange(range);
20746
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
20747
+ var line = session.doc.getLine(range.start.row);
20748
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
20749
+ if (rightChar == selected) {
20750
+ range.end.column++;
20751
+ return range;
20752
+ }
20753
+ }
20754
+ });
20755
+
20756
+ this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
20757
+ if (text == '>') {
20758
+ var position = editor.getSelectionRange().start;
20759
+ var iterator = new TokenIterator(session, position.row, position.column);
20760
+ var token = iterator.getCurrentToken() || iterator.stepBackward();
20761
+ if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))
20762
+ return;
20763
+ if (is(token, "reference.attribute-value"))
20764
+ return;
20765
+ if (is(token, "attribute-value")) {
20766
+ var firstChar = token.value.charAt(0);
20767
+ if (firstChar == '"' || firstChar == "'") {
20768
+ var lastChar = token.value.charAt(token.value.length - 1);
20769
+ var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;
20770
+ if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)
20771
+ return;
20772
+ }
20773
+ }
20774
+ while (!is(token, "tag-name")) {
20775
+ token = iterator.stepBackward();
20776
+ if (token.value == "<") {
20777
+ token = iterator.stepForward();
20778
+ break;
20779
+ }
20780
+ }
20781
+
20782
+ var tokenRow = iterator.getCurrentTokenRow();
20783
+ var tokenColumn = iterator.getCurrentTokenColumn();
20784
+ if (is(iterator.stepBackward(), "end-tag-open"))
20785
+ return;
20786
+
20787
+ var element = token.value;
20788
+ if (tokenRow == position.row)
20789
+ element = element.substring(0, position.column - tokenColumn);
20790
+
20791
+ if (this.voidElements.hasOwnProperty(element.toLowerCase()))
20792
+ return;
20793
+
20794
+ return {
20795
+ text: ">" + "</" + element + ">",
20796
+ selection: [1, 1]
20797
+ };
20798
+ }
20799
+ });
20800
+
20801
+ this.add("autoindent", "insertion", function (state, action, editor, session, text) {
20802
+ if (text == "\n") {
20803
+ var cursor = editor.getCursorPosition();
20804
+ var line = session.getLine(cursor.row);
20805
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
20806
+ var token = iterator.getCurrentToken();
20807
+
20808
+ if (token && token.type.indexOf("tag-close") !== -1) {
20809
+ if (token.value == "/>")
20810
+ return;
20811
+ while (token && token.type.indexOf("tag-name") === -1) {
20812
+ token = iterator.stepBackward();
20813
+ }
20814
+
20815
+ if (!token) {
20816
+ return;
20817
+ }
20818
+
20819
+ var tag = token.value;
20820
+ var row = iterator.getCurrentTokenRow();
20821
+ token = iterator.stepBackward();
20822
+ if (!token || token.type.indexOf("end-tag") !== -1) {
20823
+ return;
20824
+ }
20825
+
20826
+ if (this.voidElements && !this.voidElements[tag]) {
20827
+ var nextToken = session.getTokenAt(cursor.row, cursor.column+1);
20828
+ var line = session.getLine(row);
20829
+ var nextIndent = this.$getIndent(line);
20830
+ var indent = nextIndent + session.getTabString();
20831
+
20832
+ if (nextToken && nextToken.value === "</") {
20833
+ return {
20834
+ text: "\n" + indent + "\n" + nextIndent,
20835
+ selection: [1, indent.length, 1, indent.length]
20836
+ };
20837
+ } else {
20838
+ return {
20839
+ text: "\n" + indent
20840
+ };
20841
+ }
20842
+ }
20843
+ }
20844
+ }
20845
+ });
20846
+
20847
+ };
20848
+
20849
+ oop.inherits(XmlBehaviour, Behaviour);
20850
+
20851
+ exports.XmlBehaviour = XmlBehaviour;
20852
+ });
20853
+
20854
+ ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"], function(acequire, exports, module) {
20855
+ "use strict";
20856
+
20857
+ var oop = acequire("../../lib/oop");
20858
+ var lang = acequire("../../lib/lang");
20859
+ var Range = acequire("../../range").Range;
20860
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
20861
+ var TokenIterator = acequire("../../token_iterator").TokenIterator;
20862
+
20863
+ var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) {
20864
+ BaseFoldMode.call(this);
20865
+ this.voidElements = voidElements || {};
20866
+ this.optionalEndTags = oop.mixin({}, this.voidElements);
20867
+ if (optionalEndTags)
20868
+ oop.mixin(this.optionalEndTags, optionalEndTags);
20869
+
20870
+ };
20871
+ oop.inherits(FoldMode, BaseFoldMode);
20872
+
20873
+ var Tag = function() {
20874
+ this.tagName = "";
20875
+ this.closing = false;
20876
+ this.selfClosing = false;
20877
+ this.start = {row: 0, column: 0};
20878
+ this.end = {row: 0, column: 0};
20879
+ };
20880
+
20881
+ function is(token, type) {
20882
+ return token.type.lastIndexOf(type + ".xml") > -1;
20883
+ }
20884
+
20885
+ (function() {
20886
+
20887
+ this.getFoldWidget = function(session, foldStyle, row) {
20888
+ var tag = this._getFirstTagInLine(session, row);
20889
+
20890
+ if (!tag)
20891
+ return this.getCommentFoldWidget(session, row);
20892
+
20893
+ if (tag.closing || (!tag.tagName && tag.selfClosing))
20894
+ return foldStyle == "markbeginend" ? "end" : "";
20895
+
20896
+ if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
20897
+ return "";
20898
+
20899
+ if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
20900
+ return "";
20901
+
20902
+ return "start";
20903
+ };
20904
+
20905
+ this.getCommentFoldWidget = function(session, row) {
20906
+ if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
20907
+ return "start";
20908
+ return "";
20909
+ };
20910
+ this._getFirstTagInLine = function(session, row) {
20911
+ var tokens = session.getTokens(row);
20912
+ var tag = new Tag();
20913
+
20914
+ for (var i = 0; i < tokens.length; i++) {
20915
+ var token = tokens[i];
20916
+ if (is(token, "tag-open")) {
20917
+ tag.end.column = tag.start.column + token.value.length;
20918
+ tag.closing = is(token, "end-tag-open");
20919
+ token = tokens[++i];
20920
+ if (!token)
20921
+ return null;
20922
+ tag.tagName = token.value;
20923
+ tag.end.column += token.value.length;
20924
+ for (i++; i < tokens.length; i++) {
20925
+ token = tokens[i];
20926
+ tag.end.column += token.value.length;
20927
+ if (is(token, "tag-close")) {
20928
+ tag.selfClosing = token.value == '/>';
20929
+ break;
20930
+ }
20931
+ }
20932
+ return tag;
20933
+ } else if (is(token, "tag-close")) {
20934
+ tag.selfClosing = token.value == '/>';
20935
+ return tag;
20936
+ }
20937
+ tag.start.column += token.value.length;
20938
+ }
20939
+
20940
+ return null;
20941
+ };
20942
+
20943
+ this._findEndTagInLine = function(session, row, tagName, startColumn) {
20944
+ var tokens = session.getTokens(row);
20945
+ var column = 0;
20946
+ for (var i = 0; i < tokens.length; i++) {
20947
+ var token = tokens[i];
20948
+ column += token.value.length;
20949
+ if (column < startColumn)
20950
+ continue;
20951
+ if (is(token, "end-tag-open")) {
20952
+ token = tokens[i + 1];
20953
+ if (token && token.value == tagName)
20954
+ return true;
20955
+ }
20956
+ }
20957
+ return false;
20958
+ };
20959
+ this._readTagForward = function(iterator) {
20960
+ var token = iterator.getCurrentToken();
20961
+ if (!token)
20962
+ return null;
20963
+
20964
+ var tag = new Tag();
20965
+ do {
20966
+ if (is(token, "tag-open")) {
20967
+ tag.closing = is(token, "end-tag-open");
20968
+ tag.start.row = iterator.getCurrentTokenRow();
20969
+ tag.start.column = iterator.getCurrentTokenColumn();
20970
+ } else if (is(token, "tag-name")) {
20971
+ tag.tagName = token.value;
20972
+ } else if (is(token, "tag-close")) {
20973
+ tag.selfClosing = token.value == "/>";
20974
+ tag.end.row = iterator.getCurrentTokenRow();
20975
+ tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
20976
+ iterator.stepForward();
20977
+ return tag;
20978
+ }
20979
+ } while(token = iterator.stepForward());
20980
+
20981
+ return null;
20982
+ };
20983
+
20984
+ this._readTagBackward = function(iterator) {
20985
+ var token = iterator.getCurrentToken();
20986
+ if (!token)
20987
+ return null;
20988
+
20989
+ var tag = new Tag();
20990
+ do {
20991
+ if (is(token, "tag-open")) {
20992
+ tag.closing = is(token, "end-tag-open");
20993
+ tag.start.row = iterator.getCurrentTokenRow();
20994
+ tag.start.column = iterator.getCurrentTokenColumn();
20995
+ iterator.stepBackward();
20996
+ return tag;
20997
+ } else if (is(token, "tag-name")) {
20998
+ tag.tagName = token.value;
20999
+ } else if (is(token, "tag-close")) {
21000
+ tag.selfClosing = token.value == "/>";
21001
+ tag.end.row = iterator.getCurrentTokenRow();
21002
+ tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
21003
+ }
21004
+ } while(token = iterator.stepBackward());
21005
+
21006
+ return null;
21007
+ };
21008
+
21009
+ this._pop = function(stack, tag) {
21010
+ while (stack.length) {
21011
+
21012
+ var top = stack[stack.length-1];
21013
+ if (!tag || top.tagName == tag.tagName) {
21014
+ return stack.pop();
21015
+ }
21016
+ else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {
21017
+ stack.pop();
21018
+ continue;
21019
+ } else {
21020
+ return null;
21021
+ }
21022
+ }
21023
+ };
21024
+
21025
+ this.getFoldWidgetRange = function(session, foldStyle, row) {
21026
+ var firstTag = this._getFirstTagInLine(session, row);
21027
+
21028
+ if (!firstTag) {
21029
+ return this.getCommentFoldWidget(session, row)
21030
+ && session.getCommentFoldRange(row, session.getLine(row).length);
21031
+ }
21032
+
21033
+ var isBackward = firstTag.closing || firstTag.selfClosing;
21034
+ var stack = [];
21035
+ var tag;
21036
+
21037
+ if (!isBackward) {
21038
+ var iterator = new TokenIterator(session, row, firstTag.start.column);
21039
+ var start = {
21040
+ row: row,
21041
+ column: firstTag.start.column + firstTag.tagName.length + 2
21042
+ };
21043
+ if (firstTag.start.row == firstTag.end.row)
21044
+ start.column = firstTag.end.column;
21045
+ while (tag = this._readTagForward(iterator)) {
21046
+ if (tag.selfClosing) {
21047
+ if (!stack.length) {
21048
+ tag.start.column += tag.tagName.length + 2;
21049
+ tag.end.column -= 2;
21050
+ return Range.fromPoints(tag.start, tag.end);
21051
+ } else
21052
+ continue;
21053
+ }
21054
+
21055
+ if (tag.closing) {
21056
+ this._pop(stack, tag);
21057
+ if (stack.length == 0)
21058
+ return Range.fromPoints(start, tag.start);
21059
+ }
21060
+ else {
21061
+ stack.push(tag);
21062
+ }
21063
+ }
21064
+ }
21065
+ else {
21066
+ var iterator = new TokenIterator(session, row, firstTag.end.column);
21067
+ var end = {
21068
+ row: row,
21069
+ column: firstTag.start.column
21070
+ };
21071
+
21072
+ while (tag = this._readTagBackward(iterator)) {
21073
+ if (tag.selfClosing) {
21074
+ if (!stack.length) {
21075
+ tag.start.column += tag.tagName.length + 2;
21076
+ tag.end.column -= 2;
21077
+ return Range.fromPoints(tag.start, tag.end);
21078
+ } else
21079
+ continue;
21080
+ }
21081
+
21082
+ if (!tag.closing) {
21083
+ this._pop(stack, tag);
21084
+ if (stack.length == 0) {
21085
+ tag.start.column += tag.tagName.length + 2;
21086
+ if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)
21087
+ tag.start.column = tag.end.column;
21088
+ return Range.fromPoints(tag.start, end);
21089
+ }
21090
+ }
21091
+ else {
21092
+ stack.push(tag);
21093
+ }
21094
+ }
21095
+ }
21096
+
21097
+ };
21098
+
21099
+ }).call(FoldMode.prototype);
21100
+
21101
+ });
21102
+
21103
+ ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"], function(acequire, exports, module) {
21104
+ "use strict";
21105
+
21106
+ var oop = acequire("../lib/oop");
21107
+ var lang = acequire("../lib/lang");
21108
+ var TextMode = acequire("./text").Mode;
21109
+ var XmlHighlightRules = acequire("./xml_highlight_rules").XmlHighlightRules;
21110
+ var XmlBehaviour = acequire("./behaviour/xml").XmlBehaviour;
21111
+ var XmlFoldMode = acequire("./folding/xml").FoldMode;
21112
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
21113
+
21114
+ var Mode = function() {
21115
+ this.HighlightRules = XmlHighlightRules;
21116
+ this.$behaviour = new XmlBehaviour();
21117
+ this.foldingRules = new XmlFoldMode();
21118
+ };
21119
+
21120
+ oop.inherits(Mode, TextMode);
21121
+
21122
+ (function() {
21123
+
21124
+ this.voidElements = lang.arrayToMap([]);
21125
+
21126
+ this.blockComment = {start: "<!--", end: "-->"};
21127
+
21128
+ this.createWorker = function(session) {
21129
+ var worker = new WorkerClient(["ace"], __webpack_require__("275b"), "Worker");
21130
+ worker.attachToDocument(session.getDocument());
21131
+
21132
+ worker.on("error", function(e) {
21133
+ session.setAnnotations(e.data);
21134
+ });
21135
+
21136
+ worker.on("terminate", function() {
21137
+ session.clearAnnotations();
21138
+ });
21139
+
21140
+ return worker;
21141
+ };
21142
+
21143
+ this.$id = "ace/mode/xml";
21144
+ }).call(Mode.prototype);
21145
+
21146
+ exports.Mode = Mode;
21147
+ });
21148
+
21149
+
20479
21150
  /***/ }),
20480
21151
 
20481
21152
  /***/ "06cf":
@@ -20510,7 +21181,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
20510
21181
  /***/ "07ab":
20511
21182
  /***/ (function(module, exports) {
20512
21183
 
20513
- module.exports = "<div class=\"u-tree-node\">\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\n <template v-if=\"item.name === 'import'\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n :data=\"uploadParams\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\n </i-upload>\n </template>\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
21184
+ module.exports = "<div class=\"u-tree-node\">\r\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\r\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\r\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\r\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\r\n <template v-if=\"item.name === 'import'\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n :data=\"uploadParams\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\r\n </i-upload>\r\n </template>\r\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
20514
21185
 
20515
21186
  /***/ }),
20516
21187
 
@@ -20548,7 +21219,7 @@ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-c
20548
21219
  /***/ "0941":
20549
21220
  /***/ (function(module, exports) {
20550
21221
 
20551
- module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\n <header slot=\"header\">添加API</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-api-project-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n >\n </u-api-project-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
21222
+ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\r\n <header slot=\"header\">添加API</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-api-project-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n >\r\n </u-api-project-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
20552
21223
 
20553
21224
  /***/ }),
20554
21225
 
@@ -24207,6 +24878,13 @@ module.exports = "<article class=\"after-execution-transfer\">\r\n <i-form :l
24207
24878
 
24208
24879
  /***/ }),
24209
24880
 
24881
+ /***/ "2380":
24882
+ /***/ (function(module, exports, __webpack_require__) {
24883
+
24884
+ // extracted by mini-css-extract-plugin
24885
+
24886
+ /***/ }),
24887
+
24210
24888
  /***/ "23cb":
24211
24889
  /***/ (function(module, exports, __webpack_require__) {
24212
24890
 
@@ -24407,6 +25085,14 @@ module.exports = function (CONSTRUCTOR_NAME) {
24407
25085
 
24408
25086
  /***/ }),
24409
25087
 
25088
+ /***/ "275b":
25089
+ /***/ (function(module, exports) {
25090
+
25091
+ module.exports.id = 'ace/mode/xml_worker';
25092
+ module.exports.src = "\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/xml/sax\",[\"require\",\"exports\",\"module\"],function(){function XMLReader(){}function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){function fixedFromCharCode(code){if(code>65535){code-=65536;var surrogate1=55296+(code>>10),surrogate2=56320+(1023&code);return String.fromCharCode(surrogate1,surrogate2)}return String.fromCharCode(code)}function entityReplacer(a){var k=a.slice(1,-1);return k in entityMap?entityMap[k]:\"#\"===k.charAt(0)?fixedFromCharCode(parseInt(k.substr(1).replace(\"x\",\"0x\"))):(errorHandler.error(\"entity not found:\"+a),a)}function appendText(end){var xt=source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end-start),start=end}function position(start,m){for(;start>=endPos&&(m=linePattern.exec(source));)startPos=m.index,endPos=startPos+m[0].length,locator.lineNumber++;locator.columnNumber=start-startPos+1}for(var startPos=0,endPos=0,linePattern=/.+(?:\\r\\n?|\\n)|.*$/g,locator=domBuilder.locator,parseStack=[{currentNSMap:defaultNSMapCopy}],closeMap={},start=0;;){var i=source.indexOf(\"<\",start);if(0>i){if(!source.substr(start).match(/^\\s*$/)){var doc=domBuilder.document,text=doc.createTextNode(source.substr(start));doc.appendChild(text),domBuilder.currentElement=text}return}switch(i>start&&appendText(i),source.charAt(i+1)){case\"/\":var config,end=source.indexOf(\">\",i+3),tagName=source.substring(i+2,end);if(!(parseStack.length>1)){errorHandler.fatalError(\"end tag name not found for: \"+tagName);break}config=parseStack.pop();var localNSMap=config.localNSMap;if(config.tagName!=tagName&&errorHandler.fatalError(\"end tag name: \"+tagName+\" does not match the current start tagName: \"+config.tagName),domBuilder.endElement(config.uri,config.localName,tagName),localNSMap)for(var prefix in localNSMap)domBuilder.endPrefixMapping(prefix);end++;break;case\"?\":locator&&position(i),end=parseInstruction(source,i,domBuilder);break;case\"!\":locator&&position(i),end=parseDCC(source,i,domBuilder,errorHandler);break;default:try{locator&&position(i);var el=new ElementAttributes,end=parseElementStartPart(source,i,el,entityReplacer,errorHandler),len=el.length;if(len&&locator){for(var backup=copyLocator(locator,{}),i=0;len>i;i++){var a=el[i];position(a.offset),a.offset=copyLocator(locator,{})}copyLocator(backup,locator)}!el.closed&&fixSelfClosed(source,end,el.tagName,closeMap)&&(el.closed=!0,entityMap.nbsp||errorHandler.warning(\"unclosed xml attribute\")),appendElement(el,domBuilder,parseStack),\"http://www.w3.org/1999/xhtml\"!==el.uri||el.closed?end++:end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)}catch(e){errorHandler.error(\"element parse error: \"+e),end=-1}}0>end?appendText(i+1):start=end}}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,entityReplacer,errorHandler){for(var attrName,value,p=++start,s=S_TAG;;){var c=source.charAt(p);switch(c){case\"=\":if(s===S_ATTR)attrName=source.slice(start,p),s=S_EQ;else{if(s!==S_ATTR_S)throw Error(\"attribute equal must after attrName\");s=S_EQ}break;case\"'\":case'\"':if(s===S_EQ){if(start=p+1,p=source.indexOf(c,start),!(p>0))throw Error(\"attribute value no end '\"+c+\"' match\");value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer),el.add(attrName,value,start-1),s=S_E}else{if(s!=S_V)throw Error('attribute value must after \"=\"');value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer),el.add(attrName,value,start),errorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+\")!!\"),start=p+1,s=S_E}break;case\"/\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:s=S_C,el.closed=!0;case S_V:case S_ATTR:case S_ATTR_S:break;default:throw Error(\"attribute invalid close char('/')\")}break;case\"\":errorHandler.error(\"unexpected end of input\");case\">\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:break;case S_V:case S_ATTR:value=source.slice(start,p),\"/\"===value.slice(-1)&&(el.closed=!0,value=value.slice(0,-1));case S_ATTR_S:s===S_ATTR_S&&(value=attrName),s==S_V?(errorHandler.warning('attribute \"'+value+'\" missed quot(\")!!'),el.add(attrName,value.replace(/&#?\\w+;/g,entityReplacer),start)):(errorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!'),el.add(value,value,start));break;case S_EQ:throw Error(\"attribute value missed!!\")}return p;case\"€\":c=\" \";default:if(\" \">=c)switch(s){case S_TAG:el.setTagName(source.slice(start,p)),s=S_S;break;case S_ATTR:attrName=source.slice(start,p),s=S_ATTR_S;break;case S_V:var value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);errorHandler.warning('attribute \"'+value+'\" missed quot(\")!!'),el.add(attrName,value,start);case S_E:s=S_S}else switch(s){case S_ATTR_S:errorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead!!'),el.add(attrName,attrName,start),start=p,s=S_ATTR;\nbreak;case S_E:errorHandler.warning('attribute space is acequired\"'+attrName+'\"!!');case S_S:s=S_ATTR,start=p;break;case S_EQ:s=S_V,start=p;break;case S_C:throw Error(\"elements closed character '/' and '>' must be connected to\")}}p++}}function appendElement(el,domBuilder,parseStack){for(var tagName=el.tagName,localNSMap=null,currentNSMap=parseStack[parseStack.length-1].currentNSMap,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value,nsp=qName.indexOf(\":\");if(nsp>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix=\"xmlns\"===prefix&&localName;else localName=qName,prefix=null,nsPrefix=\"xmlns\"===qName&&\"\";a.localName=localName,nsPrefix!==!1&&(null==localNSMap&&(localNSMap={},_copy(currentNSMap,currentNSMap={})),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri=\"http://www.w3.org/2000/xmlns/\",domBuilder.startPrefixMapping(nsPrefix,value))}for(var i=el.length;i--;){a=el[i];var prefix=a.prefix;prefix&&(\"xml\"===prefix&&(a.uri=\"http://www.w3.org/XML/1998/namespace\"),\"xmlns\"!==prefix&&(a.uri=currentNSMap[prefix]))}var nsp=tagName.indexOf(\":\");nsp>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||\"\"];if(domBuilder.startElement(ns,localName,tagName,el),el.closed){if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)domBuilder.endPrefixMapping(prefix)}else el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,parseStack.push(el)}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){if(/^(?:script|textarea)$/i.test(tagName)){var elEndStart=source.indexOf(\"</\"+tagName+\">\",elStartEnd),text=source.substring(elStartEnd+1,elEndStart);if(/[&<]/.test(text))return/^script$/i.test(tagName)?(domBuilder.characters(text,0,text.length),elEndStart):(text=text.replace(/&#?\\w+;/g,entityReplacer),domBuilder.characters(text,0,text.length),elEndStart)}return elStartEnd+1}function fixSelfClosed(source,elStartEnd,tagName,closeMap){var pos=closeMap[tagName];return null==pos&&(pos=closeMap[tagName]=source.lastIndexOf(\"</\"+tagName+\">\")),elStartEnd>pos}function _copy(source,target){for(var n in source)target[n]=source[n]}function parseDCC(source,start,domBuilder,errorHandler){var next=source.charAt(start+2);switch(next){case\"-\":if(\"-\"===source.charAt(start+3)){var end=source.indexOf(\"-->\",start+4);return end>start?(domBuilder.comment(source,start+4,end-start-4),end+3):(errorHandler.error(\"Unclosed comment\"),-1)}return-1;default:if(\"CDATA[\"==source.substr(start+3,6)){var end=source.indexOf(\"]]>\",start+9);return domBuilder.startCDATA(),domBuilder.characters(source,start+9,end-start-9),domBuilder.endCDATA(),end+3}var matchs=split(source,start),len=matchs.length;if(len>1&&/!doctype/i.test(matchs[0][0])){var name=matchs[1][0],pubid=len>3&&/^public$/i.test(matchs[2][0])&&matchs[3][0],sysid=len>4&&matchs[4][0],lastMatch=matchs[len-1];return domBuilder.startDTD(name,pubid&&pubid.replace(/^(['\"])(.*?)\\1$/,\"$2\"),sysid&&sysid.replace(/^(['\"])(.*?)\\1$/,\"$2\")),domBuilder.endDTD(),lastMatch.index+lastMatch[0].length}}return-1}function parseInstruction(source,start,domBuilder){var end=source.indexOf(\"?>\",start);if(end){var match=source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);return match?(match[0].length,domBuilder.processingInstruction(match[1],match[2]),end+2):-1}return-1}function ElementAttributes(){}function _set_proto_(thiz,parent){return thiz.__proto__=parent,thiz}function split(source,start){var match,buf=[],reg=/'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;for(reg.lastIndex=start,reg.exec(source);match=reg.exec(source);)if(buf.push(match),match[1])return buf}var nameStartChar=/[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/,nameChar=RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"·̀-ͯ\\\\ux203F-⁀]\"),tagNamePattern=RegExp(\"^\"+nameStartChar.source+nameChar.source+\"*(?::\"+nameStartChar.source+nameChar.source+\"*)?$\"),S_TAG=0,S_ATTR=1,S_ATTR_S=2,S_EQ=3,S_V=4,S_E=5,S_S=6,S_C=7;return XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap={}),parse(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}},ElementAttributes.prototype={setTagName:function(tagName){if(!tagNamePattern.test(tagName))throw Error(\"invalid tagName:\"+tagName);this.tagName=tagName},add:function(qName,value,offset){if(!tagNamePattern.test(qName))throw Error(\"invalid attribute:\"+qName);this[this.length++]={qName:qName,value:value,offset:offset}},length:0,getLocalName:function(i){return this[i].localName},getOffset:function(i){return this[i].offset},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}},_set_proto_({},_set_proto_.prototype)instanceof _set_proto_||(_set_proto_=function(thiz,parent){function p(){}p.prototype=parent,p=new p;for(parent in thiz)p[parent]=thiz[parent];return p}),XMLReader}),ace.define(\"ace/mode/xml/dom\",[\"require\",\"exports\",\"module\"],function(){function copy(src,dest){for(var p in src)dest[p]=src[p]}function _extends(Class,Super){function t(){}var pt=Class.prototype;if(Object.create){var ppt=Object.create(Super.prototype);pt.__proto__=ppt}pt instanceof Super||(t.prototype=Super.prototype,t=new t,copy(pt,t),Class.prototype=pt=t),pt.constructor!=Class&&(\"function\"!=typeof Class&&console.error(\"unknow Class:\"+Class),pt.constructor=Class)}function DOMException(code,message){if(message instanceof Error)var error=message;else error=this,Error.call(this,ExceptionMessage[code]),this.message=ExceptionMessage[code],Error.captureStackTrace&&Error.captureStackTrace(this,DOMException);return error.code=code,message&&(this.message=this.message+\": \"+message),error}function NodeList(){}function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!=inc){var ls=list._refresh(list._node);__set__(list,\"length\",ls.length),copy(ls,list),list._inc=inc}}function NamedNodeMap(){}function _findNodeIndex(list,node){for(var i=list.length;i--;)if(list[i]===node)return i}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:list[list.length++]=newAttr,el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),_onAddAttribute(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(!(i>=0))throw DOMException(NOT_FOUND_ERR,Error());for(var lastIndex=list.length-1;lastIndex>i;)list[i]=list[++i];if(list.length=lastIndex,el){var doc=el.ownerDocument;doc&&(_onRemoveAttribute(doc,el,attr),attr.ownerElement=null)}}function DOMImplementation(features){if(this._features={},features)for(var feature in features)this._features=features[feature]}function Node(){}function _xmlEncoder(c){return\"<\"==c&&\"&lt;\"||\">\"==c&&\"&gt;\"||\"&\"==c&&\"&amp;\"||'\"'==c&&\"&quot;\"||\"&#\"+c.charCodeAt()+\";\"}function _visitNode(node,callback){if(callback(node))return!0;if(node=node.firstChild)do if(_visitNode(node,callback))return!0;while(node=node.nextSibling)}function Document(){}function _onAddAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\"http://www.w3.org/2000/xmlns/\"==ns&&(el._nsMap[newAttr.prefix?newAttr.localName:\"\"]=newAttr.value)}function _onRemoveAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\"http://www.w3.org/2000/xmlns/\"==ns&&delete el._nsMap[newAttr.prefix?newAttr.localName:\"\"]}function _onUpdateChild(doc,el,newChild){if(doc&&doc._inc){doc._inc++;var cs=el.childNodes;if(newChild)cs[cs.length++]=newChild;else{for(var child=el.firstChild,i=0;child;)cs[i++]=child,child=child.nextSibling;cs.length=i}}}function _removeChild(parentNode,child){var previous=child.previousSibling,next=child.nextSibling;return previous?previous.nextSibling=next:parentNode.firstChild=next,next?next.previousSibling=previous:parentNode.lastChild=previous,_onUpdateChild(parentNode.ownerDocument,parentNode),child}function _insertBefore(parentNode,newChild,nextChild){var cp=newChild.parentNode;if(cp&&cp.removeChild(newChild),newChild.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=newChild.firstChild;if(null==newFirst)return newChild;var newLast=newChild.lastChild}else newFirst=newLast=newChild;var pre=nextChild?nextChild.previousSibling:parentNode.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=nextChild,pre?pre.nextSibling=newFirst:parentNode.firstChild=newFirst,null==nextChild?parentNode.lastChild=newLast:nextChild.previousSibling=newLast;do newFirst.parentNode=parentNode;while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode),newChild.nodeType==DOCUMENT_FRAGMENT_NODE&&(newChild.firstChild=newChild.lastChild=null),newChild}function _appendSingleChild(parentNode,newChild){var cp=newChild.parentNode;if(cp){var pre=parentNode.lastChild;cp.removeChild(newChild);var pre=parentNode.lastChild}var pre=parentNode.lastChild;return newChild.parentNode=parentNode,newChild.previousSibling=pre,newChild.nextSibling=null,pre?pre.nextSibling=newChild:parentNode.firstChild=newChild,parentNode.lastChild=newChild,_onUpdateChild(parentNode.ownerDocument,parentNode,newChild),newChild}function Element(){this._nsMap={}}function Attr(){}function CharacterData(){}function Text(){}function Comment(){}function CDATASection(){}function DocumentType(){}function Notation(){}function Entity(){}function EntityReference(){}function DocumentFragment(){}function ProcessingInstruction(){}function XMLSerializer(){}function serializeToString(node,buf){switch(node.nodeType){case ELEMENT_NODE:var attrs=node.attributes,len=attrs.length,child=node.firstChild,nodeName=node.tagName,isHTML=htmlns===node.namespaceURI;buf.push(\"<\",nodeName);for(var i=0;len>i;i++)serializeToString(attrs.item(i),buf,isHTML);if(child||isHTML&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(nodeName)){if(buf.push(\">\"),isHTML&&/^script$/i.test(nodeName))child&&buf.push(child.data);else for(;child;)serializeToString(child,buf),child=child.nextSibling;buf.push(\"</\",nodeName,\">\")}else buf.push(\"/>\");return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(var child=node.firstChild;child;)serializeToString(child,buf),child=child.nextSibling;return;case ATTRIBUTE_NODE:return buf.push(\" \",node.name,'=\"',node.value.replace(/[<&\"]/g,_xmlEncoder),'\"');case TEXT_NODE:return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return buf.push(\"<![CDATA[\",node.data,\"]]>\");case COMMENT_NODE:return buf.push(\"<!--\",node.data,\"-->\");case DOCUMENT_TYPE_NODE:var pubid=node.publicId,sysid=node.systemId;if(buf.push(\"<!DOCTYPE \",node.name),pubid)buf.push(' PUBLIC \"',pubid),sysid&&\".\"!=sysid&&buf.push('\" \"',sysid),buf.push('\">');else if(sysid&&\".\"!=sysid)buf.push(' SYSTEM \"',sysid,'\">');else{var sub=node.internalSubset;sub&&buf.push(\" [\",sub,\"]\"),buf.push(\">\")}return;case PROCESSING_INSTRUCTION_NODE:return buf.push(\"<?\",node.target,\" \",node.data,\"?>\");case ENTITY_REFERENCE_NODE:return buf.push(\"&\",node.nodeName,\";\");default:buf.push(\"??\",node.nodeName)}}function importNode(doc,node,deep){var node2;switch(node.nodeType){case ELEMENT_NODE:node2=node.cloneNode(!1),node2.ownerDocument=doc;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:deep=!0}if(node2||(node2=node.cloneNode(!1)),node2.ownerDocument=doc,node2.parentNode=null,deep)for(var child=node.firstChild;child;)node2.appendChild(importNode(doc,child,deep)),child=child.nextSibling;return node2}function cloneNode(doc,node,deep){var node2=new node.constructor;for(var n in node){var v=node[n];\"object\"!=typeof v&&v!=node2[n]&&(node2[n]=v)}switch(node.childNodes&&(node2.childNodes=new NodeList),node2.ownerDocument=doc,node2.nodeType){case ELEMENT_NODE:var attrs=node.attributes,attrs2=node2.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=node2;for(var i=0;len>i;i++)node2.setAttributeNode(cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:deep=!0}if(deep)for(var child=node.firstChild;child;)node2.appendChild(cloneNode(doc,child,deep)),child=child.nextSibling;return node2}function __set__(object,key,value){object[key]=value}function getTextContent(node){switch(node.nodeType){case 1:case 11:var buf=[];for(node=node.firstChild;node;)7!==node.nodeType&&8!==node.nodeType&&buf.push(getTextContent(node)),node=node.nextSibling;return buf.join(\"\");default:return node.nodeValue}}var htmlns=\"http://www.w3.org/1999/xhtml\",NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,ExceptionCode={},ExceptionMessage={};ExceptionCode.INDEX_SIZE_ERR=(ExceptionMessage[1]=\"Index size error\",1),ExceptionCode.DOMSTRING_SIZE_ERR=(ExceptionMessage[2]=\"DOMString size error\",2),ExceptionCode.HIERARCHY_REQUEST_ERR=(ExceptionMessage[3]=\"Hierarchy request error\",3),ExceptionCode.WRONG_DOCUMENT_ERR=(ExceptionMessage[4]=\"Wrong document\",4),ExceptionCode.INVALID_CHARACTER_ERR=(ExceptionMessage[5]=\"Invalid character\",5),ExceptionCode.NO_DATA_ALLOWED_ERR=(ExceptionMessage[6]=\"No data allowed\",6),ExceptionCode.NO_MODIFICATION_ALLOWED_ERR=(ExceptionMessage[7]=\"No modification allowed\",7);var NOT_FOUND_ERR=ExceptionCode.NOT_FOUND_ERR=(ExceptionMessage[8]=\"Not found\",8);ExceptionCode.NOT_SUPPORTED_ERR=(ExceptionMessage[9]=\"Not supported\",9);var INUSE_ATTRIBUTE_ERR=ExceptionCode.INUSE_ATTRIBUTE_ERR=(ExceptionMessage[10]=\"Attribute in use\",10);ExceptionCode.INVALID_STATE_ERR=(ExceptionMessage[11]=\"Invalid state\",11),ExceptionCode.SYNTAX_ERR=(ExceptionMessage[12]=\"Syntax error\",12),ExceptionCode.INVALID_MODIFICATION_ERR=(ExceptionMessage[13]=\"Invalid modification\",13),ExceptionCode.NAMESPACE_ERR=(ExceptionMessage[14]=\"Invalid namespace\",14),ExceptionCode.INVALID_ACCESS_ERR=(ExceptionMessage[15]=\"Invalid access\",15),DOMException.prototype=Error.prototype,copy(ExceptionCode,DOMException),NodeList.prototype={length:0,item:function(index){return this[index]||null}},LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]},_extends(LiveNodeList,NodeList),NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(key){for(var i=this.length;i--;){var attr=this[i];if(attr.nodeName==key)return attr}},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);var oldAttr=this.getNamedItem(attr.nodeName);return _addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},setNamedItemNS:function(attr){var oldAttr,el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);return oldAttr=this.getNamedItemNS(attr.namespaceURI,attr.localName),_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},removeNamedItem:function(key){var attr=this.getNamedItem(key);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){for(var i=this.length;i--;){var node=this[i];if(node.localName==localName&&node.namespaceURI==namespaceURI)return node}return null}},DOMImplementation.prototype={hasFeature:function(feature,version){var versions=this._features[feature.toLowerCase()];return versions&&(!version||version in versions)?!0:!1},createDocument:function(namespaceURI,qualifiedName,doctype){var doc=new Document;if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId){var node=new DocumentType;return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId,node.systemId=systemId,node}},Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){this.insertBefore(newChild,oldChild),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(deep){return cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){for(var child=this.firstChild;child;){var next=child.nextSibling;next&&next.nodeType==TEXT_NODE&&child.nodeType==TEXT_NODE?(this.removeChild(next),child.appendData(next.data)):(child.normalize(),child=next)}},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map)for(var n in map)if(map[n]==namespaceURI)return n;el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&prefix in map)return map[prefix];el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){var prefix=this.lookupPrefix(namespaceURI);return null==prefix}},copy(NodeType,Node),copy(NodeType,Node.prototype),Document.prototype={nodeName:\"#document\",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType==DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return null==this.documentElement&&1==newChild.nodeType&&(this.documentElement=newChild),_insertBefore(this,newChild,refChild),newChild.ownerDocument=this,newChild},removeChild:function(oldChild){return this.documentElement==oldChild&&(this.documentElement=null),_removeChild(this,oldChild)},importNode:function(importedNode,deep){return importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,function(node){return 1==node.nodeType&&node.getAttribute(\"id\")==id?(rtv=node,!0):void 0}),rtv},createElement:function(tagName){var node=new Element;node.ownerDocument=this,node.nodeName=tagName,node.tagName=tagName,node.childNodes=new NodeList;var attrs=node.attributes=new NamedNodeMap;return attrs._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment;return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text;return node.ownerDocument=this,node.appendData(data),node},createComment:function(data){var node=new Comment;return node.ownerDocument=this,node.appendData(data),node},createCDATASection:function(data){var node=new CDATASection;return node.ownerDocument=this,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction;return node.ownerDocument=this,node.tagName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){var node=new Attr;return node.ownerDocument=this,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){var node=new EntityReference;return node.ownerDocument=this,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var node=new Element,pl=qualifiedName.split(\":\"),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=namespaceURI,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var node=new Attr,pl=qualifiedName.split(\":\");return node.ownerDocument=this,node.nodeName=qualifiedName,node.name=qualifiedName,node.namespaceURI=namespaceURI,node.specified=!0,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,node}},_extends(Document,Node),Element.prototype={nodeType:ELEMENT_NODE,hasAttribute:function(name){return null!=this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr&&attr.value||\"\"},getAttributeNode:function(name){return this.attributes.getNamedItem(name)},setAttribute:function(name,value){var attr=this.ownerDocument.createAttribute(name);attr.value=attr.nodeValue=\"\"+value,this.setAttributeNode(attr)},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},appendChild:function(newChild){return newChild.nodeType===DOCUMENT_FRAGMENT_NODE?this.insertBefore(newChild,null):_appendSingleChild(this,newChild)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return null!=this.getAttributeNodeNS(namespaceURI,localName)},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr&&attr.value||\"\"},setAttributeNS:function(namespaceURI,qualifiedName,value){var attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName);attr.value=attr.nodeValue=\"\"+value,this.setAttributeNode(attr)},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByTagName:function(tagName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!=ELEMENT_NODE||\"*\"!==tagName&&node.tagName!=tagName||ls.push(node)}),ls})},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!==ELEMENT_NODE||\"*\"!==namespaceURI&&node.namespaceURI!==namespaceURI||\"*\"!==localName&&node.localName!=localName||ls.push(node)}),ls})}},Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName,Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS,_extends(Element,Node),Attr.prototype.nodeType=ATTRIBUTE_NODE,_extends(Attr,Node),CharacterData.prototype={data:\"\",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},appendChild:function(){throw Error(ExceptionMessage[3])},deleteData:function(offset,count){this.replaceData(offset,count,\"\")},replaceData:function(offset,count,text){var start=this.data.substring(0,offset),end=this.data.substring(offset+count);text=start+text+end,this.nodeValue=this.data=text,this.length=text.length}},_extends(CharacterData,Node),Text.prototype={nodeName:\"#text\",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}},_extends(Text,CharacterData),Comment.prototype={nodeName:\"#comment\",nodeType:COMMENT_NODE},_extends(Comment,CharacterData),CDATASection.prototype={nodeName:\"#cdata-section\",nodeType:CDATA_SECTION_NODE},_extends(CDATASection,CharacterData),DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node),Notation.prototype.nodeType=NOTATION_NODE,_extends(Notation,Node),Entity.prototype.nodeType=ENTITY_NODE,_extends(Entity,Node),EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node),DocumentFragment.prototype.nodeName=\"#document-fragment\",DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node),ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node),XMLSerializer.prototype.serializeToString=function(node){var buf=[];return serializeToString(node,buf),buf.join(\"\")},Node.prototype.toString=function(){return XMLSerializer.prototype.serializeToString(this)};try{Object.defineProperty&&(Object.defineProperty(LiveNodeList.prototype,\"length\",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,\"textContent\",{get:function(){return getTextContent(this)},set:function(data){switch(this.nodeType){case 1:case 11:for(;this.firstChild;)this.removeChild(this.firstChild);(data||data+\"\")&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=value,this.nodeValue=data}}}),__set__=function(object,key,value){object[\"$$\"+key]=value})}catch(e){}return DOMImplementation}),ace.define(\"ace/mode/xml/dom-parser\",[\"require\",\"exports\",\"module\",\"ace/mode/xml/sax\",\"ace/mode/xml/dom\"],function(acequire){\"use strict\";function DOMParser(options){this.options=options||{locator:{}}}function buildErrorHandler(errorImpl,domBuilder,locator){function build(key){var fn=errorImpl[key];if(!fn)if(isCallback)fn=2==errorImpl.length?function(msg){errorImpl(key,msg)}:errorImpl;else for(var i=arguments.length;--i&&!(fn=errorImpl[arguments[i]]););errorHandler[key]=fn&&function(msg){fn(msg+_locator(locator),msg,locator)}||function(){}}if(!errorImpl){if(domBuilder instanceof DOMHandler)return domBuilder;errorImpl=domBuilder}var errorHandler={},isCallback=errorImpl instanceof Function;return locator=locator||{},build(\"warning\",\"warn\"),build(\"error\",\"warn\",\"warning\"),build(\"fatalError\",\"warn\",\"warning\",\"error\"),errorHandler}function DOMHandler(){this.cdata=!1}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}function _locator(l){return l?\"\\n@\"+(l.systemId||\"\")+\"#[line:\"+l.lineNumber+\",col:\"+l.columnNumber+\"]\":void 0}function _toString(chars,start,length){return\"string\"==typeof chars?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+\"\":chars}function appendElement(hander,node){hander.currentElement?hander.currentElement.appendChild(node):hander.document.appendChild(node)}var XMLReader=acequire(\"./sax\"),DOMImplementation=acequire(\"./dom\");return DOMParser.prototype.parseFromString=function(source,mimeType){var options=this.options,sax=new XMLReader,domBuilder=options.domBuilder||new DOMHandler,errorHandler=options.errorHandler,locator=options.locator,defaultNSMap=options.xmlns||{},entityMap={lt:\"<\",gt:\">\",amp:\"&\",quot:'\"',apos:\"'\"};return locator&&domBuilder.setDocumentLocator(locator),sax.errorHandler=buildErrorHandler(errorHandler,domBuilder,locator),sax.domBuilder=options.domBuilder||domBuilder,/\\/x?html?$/.test(mimeType)&&(entityMap.nbsp=\" \",entityMap.copy=\"©\",defaultNSMap[\"\"]=\"http://www.w3.org/1999/xhtml\"),source?sax.parse(source,defaultNSMap,entityMap):sax.errorHandler.error(\"invalid document source\"),domBuilder.document},DOMHandler.prototype={startDocument:function(){this.document=(new DOMImplementation).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.document,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;len>i;i++){var namespaceURI=attrs.getURI(i),value=attrs.getValue(i),qName=attrs.getQName(i),attr=doc.createAttributeNS(namespaceURI,qName);attr.getOffset&&position(attr.getOffset(1),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(){var current=this.currentElement;current.tagName,this.currentElement=current.parentNode},startPrefixMapping:function(){},endPrefixMapping:function(){},processingInstruction:function(target,data){var ins=this.document.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(){},characters:function(chars){if(chars=_toString.apply(this,arguments),this.currentElement&&chars){if(this.cdata){var charNode=this.document.createCDATASection(chars);this.currentElement.appendChild(charNode)}else{var charNode=this.document.createTextNode(chars);this.currentElement.appendChild(charNode)}this.locator&&position(this.locator,charNode)}},skippedEntity:function(){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(locator){(this.locator=locator)&&(locator.lineNumber=0)},comment:function(chars){chars=_toString.apply(this,arguments);var comm=this.document.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId){var impl=this.document.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId);this.locator&&position(this.locator,dt),appendElement(this,dt)}},warning:function(error){console.warn(error,_locator(this.locator))},error:function(error){console.error(error,_locator(this.locator))},fatalError:function(error){throw console.error(error,_locator(this.locator)),error}},\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){DOMHandler.prototype[key]=function(){return null}}),{DOMParser:DOMParser}}),ace.define(\"ace/mode/xml_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/worker/mirror\",\"ace/mode/xml/dom-parser\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\");acequire(\"../lib/lang\");var Mirror=acequire(\"../worker/mirror\").Mirror,DOMParser=acequire(\"./xml/dom-parser\").DOMParser,Worker=exports.Worker=function(sender){Mirror.call(this,sender),this.setTimeout(400),this.context=null};oop.inherits(Worker,Mirror),function(){this.setOptions=function(options){this.context=options.context},this.onUpdate=function(){var value=this.doc.getValue();if(value){var parser=new DOMParser,errors=[];parser.options.errorHandler={fatalError:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"error\"})},error:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"error\"})},warning:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"warning\"})}},parser.parseFromString(value),this.sender.emit(\"error\",errors)}}}.call(Worker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object\n}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});";
25093
+
25094
+ /***/ }),
25095
+
24410
25096
  /***/ "2a62":
24411
25097
  /***/ (function(module, exports, __webpack_require__) {
24412
25098
 
@@ -25769,7 +26455,7 @@ module.exports = function (it) {
25769
26455
  /***/ "35e3":
25770
26456
  /***/ (function(module, exports) {
25771
26457
 
25772
- module.exports = "<editor\r\n id=\"editor\"\r\n class=\"code-edit\"\r\n v-model=\"code\"\r\n theme=\"chrome\"\r\n :options=\"option\"\r\n @init=\"editorInit\"\r\n :lang=\"lang\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n></editor>"
26458
+ module.exports = "<editor class=\"code-edit\" v-model=\"code\" :options=\"option\" @init=\"editorInit\" :lang=\"lang\" width=\"100%\" height=\"100%\"></editor>\r\n"
25773
26459
 
25774
26460
  /***/ }),
25775
26461
 
@@ -26169,7 +26855,7 @@ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
26169
26855
  /***/ "4935":
26170
26856
  /***/ (function(module, exports) {
26171
26857
 
26172
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\n <header slot=\"header\">添加数据模型</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-data-model-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n >\n </u-data-model-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
26858
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\r\n <header slot=\"header\">添加数据模型</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-data-model-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n >\r\n </u-data-model-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
26173
26859
 
26174
26860
  /***/ }),
26175
26861
 
@@ -38473,6 +39159,13 @@ module.exports = {
38473
39159
  };
38474
39160
 
38475
39161
 
39162
+ /***/ }),
39163
+
39164
+ /***/ "6a21":
39165
+ /***/ (function(module, exports) {
39166
+
39167
+ ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"})
39168
+
38476
39169
  /***/ }),
38477
39170
 
38478
39171
  /***/ "6d46":
@@ -39606,6 +40299,332 @@ module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap
39606
40299
 
39607
40300
  // extracted by mini-css-extract-plugin
39608
40301
 
40302
+ /***/ }),
40303
+
40304
+ /***/ "818b":
40305
+ /***/ (function(module, exports, __webpack_require__) {
40306
+
40307
+ ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
40308
+ "use strict";
40309
+
40310
+ var oop = acequire("../lib/oop");
40311
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
40312
+
40313
+ var JsonHighlightRules = function() {
40314
+ this.$rules = {
40315
+ "start" : [
40316
+ {
40317
+ token : "variable", // single line
40318
+ regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'
40319
+ }, {
40320
+ token : "string", // single line
40321
+ regex : '"',
40322
+ next : "string"
40323
+ }, {
40324
+ token : "constant.numeric", // hex
40325
+ regex : "0[xX][0-9a-fA-F]+\\b"
40326
+ }, {
40327
+ token : "constant.numeric", // float
40328
+ regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
40329
+ }, {
40330
+ token : "constant.language.boolean",
40331
+ regex : "(?:true|false)\\b"
40332
+ }, {
40333
+ token : "text", // single quoted strings are not allowed
40334
+ regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
40335
+ }, {
40336
+ token : "comment", // comments are not allowed, but who cares?
40337
+ regex : "\\/\\/.*$"
40338
+ }, {
40339
+ token : "comment.start", // comments are not allowed, but who cares?
40340
+ regex : "\\/\\*",
40341
+ next : "comment"
40342
+ }, {
40343
+ token : "paren.lparen",
40344
+ regex : "[[({]"
40345
+ }, {
40346
+ token : "paren.rparen",
40347
+ regex : "[\\])}]"
40348
+ }, {
40349
+ token : "text",
40350
+ regex : "\\s+"
40351
+ }
40352
+ ],
40353
+ "string" : [
40354
+ {
40355
+ token : "constant.language.escape",
40356
+ regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/
40357
+ }, {
40358
+ token : "string",
40359
+ regex : '"|$',
40360
+ next : "start"
40361
+ }, {
40362
+ defaultToken : "string"
40363
+ }
40364
+ ],
40365
+ "comment" : [
40366
+ {
40367
+ token : "comment.end", // comments are not allowed, but who cares?
40368
+ regex : "\\*\\/",
40369
+ next : "start"
40370
+ }, {
40371
+ defaultToken: "comment"
40372
+ }
40373
+ ]
40374
+ };
40375
+
40376
+ };
40377
+
40378
+ oop.inherits(JsonHighlightRules, TextHighlightRules);
40379
+
40380
+ exports.JsonHighlightRules = JsonHighlightRules;
40381
+ });
40382
+
40383
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(acequire, exports, module) {
40384
+ "use strict";
40385
+
40386
+ var Range = acequire("../range").Range;
40387
+
40388
+ var MatchingBraceOutdent = function() {};
40389
+
40390
+ (function() {
40391
+
40392
+ this.checkOutdent = function(line, input) {
40393
+ if (! /^\s+$/.test(line))
40394
+ return false;
40395
+
40396
+ return /^\s*\}/.test(input);
40397
+ };
40398
+
40399
+ this.autoOutdent = function(doc, row) {
40400
+ var line = doc.getLine(row);
40401
+ var match = line.match(/^(\s*\})/);
40402
+
40403
+ if (!match) return 0;
40404
+
40405
+ var column = match[1].length;
40406
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
40407
+
40408
+ if (!openBracePos || openBracePos.row == row) return 0;
40409
+
40410
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
40411
+ doc.replace(new Range(row, 0, row, column-1), indent);
40412
+ };
40413
+
40414
+ this.$getIndent = function(line) {
40415
+ return line.match(/^\s*/)[0];
40416
+ };
40417
+
40418
+ }).call(MatchingBraceOutdent.prototype);
40419
+
40420
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
40421
+ });
40422
+
40423
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(acequire, exports, module) {
40424
+ "use strict";
40425
+
40426
+ var oop = acequire("../../lib/oop");
40427
+ var Range = acequire("../../range").Range;
40428
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
40429
+
40430
+ var FoldMode = exports.FoldMode = function(commentRegex) {
40431
+ if (commentRegex) {
40432
+ this.foldingStartMarker = new RegExp(
40433
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
40434
+ );
40435
+ this.foldingStopMarker = new RegExp(
40436
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
40437
+ );
40438
+ }
40439
+ };
40440
+ oop.inherits(FoldMode, BaseFoldMode);
40441
+
40442
+ (function() {
40443
+
40444
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
40445
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
40446
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
40447
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
40448
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
40449
+ this._getFoldWidgetBase = this.getFoldWidget;
40450
+ this.getFoldWidget = function(session, foldStyle, row) {
40451
+ var line = session.getLine(row);
40452
+
40453
+ if (this.singleLineBlockCommentRe.test(line)) {
40454
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
40455
+ return "";
40456
+ }
40457
+
40458
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
40459
+
40460
+ if (!fw && this.startRegionRe.test(line))
40461
+ return "start"; // lineCommentRegionStart
40462
+
40463
+ return fw;
40464
+ };
40465
+
40466
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
40467
+ var line = session.getLine(row);
40468
+
40469
+ if (this.startRegionRe.test(line))
40470
+ return this.getCommentRegionBlock(session, line, row);
40471
+
40472
+ var match = line.match(this.foldingStartMarker);
40473
+ if (match) {
40474
+ var i = match.index;
40475
+
40476
+ if (match[1])
40477
+ return this.openingBracketBlock(session, match[1], row, i);
40478
+
40479
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
40480
+
40481
+ if (range && !range.isMultiLine()) {
40482
+ if (forceMultiline) {
40483
+ range = this.getSectionRange(session, row);
40484
+ } else if (foldStyle != "all")
40485
+ range = null;
40486
+ }
40487
+
40488
+ return range;
40489
+ }
40490
+
40491
+ if (foldStyle === "markbegin")
40492
+ return;
40493
+
40494
+ var match = line.match(this.foldingStopMarker);
40495
+ if (match) {
40496
+ var i = match.index + match[0].length;
40497
+
40498
+ if (match[1])
40499
+ return this.closingBracketBlock(session, match[1], row, i);
40500
+
40501
+ return session.getCommentFoldRange(row, i, -1);
40502
+ }
40503
+ };
40504
+
40505
+ this.getSectionRange = function(session, row) {
40506
+ var line = session.getLine(row);
40507
+ var startIndent = line.search(/\S/);
40508
+ var startRow = row;
40509
+ var startColumn = line.length;
40510
+ row = row + 1;
40511
+ var endRow = row;
40512
+ var maxRow = session.getLength();
40513
+ while (++row < maxRow) {
40514
+ line = session.getLine(row);
40515
+ var indent = line.search(/\S/);
40516
+ if (indent === -1)
40517
+ continue;
40518
+ if (startIndent > indent)
40519
+ break;
40520
+ var subRange = this.getFoldWidgetRange(session, "all", row);
40521
+
40522
+ if (subRange) {
40523
+ if (subRange.start.row <= startRow) {
40524
+ break;
40525
+ } else if (subRange.isMultiLine()) {
40526
+ row = subRange.end.row;
40527
+ } else if (startIndent == indent) {
40528
+ break;
40529
+ }
40530
+ }
40531
+ endRow = row;
40532
+ }
40533
+
40534
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
40535
+ };
40536
+ this.getCommentRegionBlock = function(session, line, row) {
40537
+ var startColumn = line.search(/\s*$/);
40538
+ var maxRow = session.getLength();
40539
+ var startRow = row;
40540
+
40541
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
40542
+ var depth = 1;
40543
+ while (++row < maxRow) {
40544
+ line = session.getLine(row);
40545
+ var m = re.exec(line);
40546
+ if (!m) continue;
40547
+ if (m[1]) depth--;
40548
+ else depth++;
40549
+
40550
+ if (!depth) break;
40551
+ }
40552
+
40553
+ var endRow = row;
40554
+ if (endRow > startRow) {
40555
+ return new Range(startRow, startColumn, endRow, line.length);
40556
+ }
40557
+ };
40558
+
40559
+ }).call(FoldMode.prototype);
40560
+
40561
+ });
40562
+
40563
+ ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"], function(acequire, exports, module) {
40564
+ "use strict";
40565
+
40566
+ var oop = acequire("../lib/oop");
40567
+ var TextMode = acequire("./text").Mode;
40568
+ var HighlightRules = acequire("./json_highlight_rules").JsonHighlightRules;
40569
+ var MatchingBraceOutdent = acequire("./matching_brace_outdent").MatchingBraceOutdent;
40570
+ var CstyleBehaviour = acequire("./behaviour/cstyle").CstyleBehaviour;
40571
+ var CStyleFoldMode = acequire("./folding/cstyle").FoldMode;
40572
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
40573
+
40574
+ var Mode = function() {
40575
+ this.HighlightRules = HighlightRules;
40576
+ this.$outdent = new MatchingBraceOutdent();
40577
+ this.$behaviour = new CstyleBehaviour();
40578
+ this.foldingRules = new CStyleFoldMode();
40579
+ };
40580
+ oop.inherits(Mode, TextMode);
40581
+
40582
+ (function() {
40583
+
40584
+ this.getNextLineIndent = function(state, line, tab) {
40585
+ var indent = this.$getIndent(line);
40586
+
40587
+ if (state == "start") {
40588
+ var match = line.match(/^.*[\{\(\[]\s*$/);
40589
+ if (match) {
40590
+ indent += tab;
40591
+ }
40592
+ }
40593
+
40594
+ return indent;
40595
+ };
40596
+
40597
+ this.checkOutdent = function(state, line, input) {
40598
+ return this.$outdent.checkOutdent(line, input);
40599
+ };
40600
+
40601
+ this.autoOutdent = function(state, doc, row) {
40602
+ this.$outdent.autoOutdent(doc, row);
40603
+ };
40604
+
40605
+ this.createWorker = function(session) {
40606
+ var worker = new WorkerClient(["ace"], __webpack_require__("e8ff"), "JsonWorker");
40607
+ worker.attachToDocument(session.getDocument());
40608
+
40609
+ worker.on("annotate", function(e) {
40610
+ session.setAnnotations(e.data);
40611
+ });
40612
+
40613
+ worker.on("terminate", function() {
40614
+ session.clearAnnotations();
40615
+ });
40616
+
40617
+ return worker;
40618
+ };
40619
+
40620
+
40621
+ this.$id = "ace/mode/json";
40622
+ }).call(Mode.prototype);
40623
+
40624
+ exports.Mode = Mode;
40625
+ });
40626
+
40627
+
39609
40628
  /***/ }),
39610
40629
 
39611
40630
  /***/ "81d5":
@@ -39654,7 +40673,7 @@ module.exports = function (argument) {
39654
40673
  /***/ "82af":
39655
40674
  /***/ (function(module, exports) {
39656
40675
 
39657
- module.exports = "<div class=\"v-data-modal-list-container\">\n <header>\n <div class=\"condition\">\n <div class=\"input-item\">\n <span>名称:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"input-item\">\n <span>编码:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"search-btn\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\n </div>\n </div>\n </header>\n <main>\n <template v-if=\"data?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\n <template slot=\"enableCache\" slot-scope=\"{row}\">\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </main>\n <div class=\"pagination\" v-if=\"data?.length\">\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\n </div>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</div>\n"
40676
+ module.exports = "<div class=\"v-data-modal-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>编码:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\r\n <template slot=\"enableCache\" slot-scope=\"{row}\">\r\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</div>\r\n"
39658
40677
 
39659
40678
  /***/ }),
39660
40679
 
@@ -39790,7 +40809,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
39790
40809
  /***/ "88af":
39791
40810
  /***/ (function(module, exports) {
39792
40811
 
39793
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\n <header slot=\"header\">批量修改环境变量与授权</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">选择API</div>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\n <div class=\"security-list-item\"\n v-for=\"(item,index) in apiList\"\n :key=\"item.id || index\"\n >\n <div class=\"security-list-item-name\">\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\n <i class=\"iconfont icon-API\"></i>\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境与授权</div>\n <div class=\"right-content\">\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\n <i-option value=\"env\">环境变量</i-option>\n <i-option value=\"auth\">授权设置</i-option>\n <i-option value=\"both\">环境变量和授权设置</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\n <i-option value=\"empty\">清空所有已设置授权</i-option>\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
40812
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">批量修改环境变量与授权</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">选择API</div>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\r\n <div class=\"security-list-item\"\r\n v-for=\"(item,index) in apiList\"\r\n :key=\"item.id || index\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\r\n <i class=\"iconfont icon-API\"></i>\r\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境与授权</div>\r\n <div class=\"right-content\">\r\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\r\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\r\n <i-option value=\"env\">环境变量</i-option>\r\n <i-option value=\"auth\">授权设置</i-option>\r\n <i-option value=\"both\">环境变量和授权设置</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\r\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\r\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\r\n <i-option value=\"empty\">清空所有已设置授权</i-option>\r\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
39794
40813
 
39795
40814
  /***/ }),
39796
40815
 
@@ -41277,7 +42296,7 @@ dom.importCssString(exports.cssText, exports.cssClass);
41277
42296
  /***/ "981a":
41278
42297
  /***/ (function(module, exports) {
41279
42298
 
41280
- module.exports = "<div class=\"v-api-project-list-container\">\n <header>\n <div class=\"condition\">\n <div class=\"input-item\">\n <span>名称:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"input-item\">\n <span>地址:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"search-btn\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\n </div>\n </div>\n </header>\n <main>\n <template v-if=\"data?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\n <template slot=\"detail\" slot-scope=\"{row}\">\n <a @click=\"onDetail(row)\">查看</a>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </main>\n <div class=\"pagination\" v-if=\"data?.length\">\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\n </div>\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\n</div>\n"
42299
+ module.exports = "<div class=\"v-api-project-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>地址:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\r\n <template slot=\"detail\" slot-scope=\"{row}\">\r\n <a @click=\"onDetail(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\r\n</div>\r\n"
41281
42300
 
41282
42301
  /***/ }),
41283
42302
 
@@ -41689,6 +42708,13 @@ module.exports = {
41689
42708
 
41690
42709
  /***/ }),
41691
42710
 
42711
+ /***/ "9915":
42712
+ /***/ (function(module, exports) {
42713
+
42714
+ module.exports = "<editor\r\n id=\"editor\"\r\n class=\"code-edit\"\r\n v-model=\"code\"\r\n theme=\"chrome\"\r\n :options=\"option\"\r\n @init=\"editorInit\"\r\n :lang=\"lang\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n></editor>"
42715
+
42716
+ /***/ }),
42717
+
41692
42718
  /***/ "99af":
41693
42719
  /***/ (function(module, exports, __webpack_require__) {
41694
42720
 
@@ -42698,6 +43724,13 @@ module.exports = {
42698
43724
  };
42699
43725
 
42700
43726
 
43727
+ /***/ }),
43728
+
43729
+ /***/ "b039":
43730
+ /***/ (function(module, exports) {
43731
+
43732
+ ace.define("ace/snippets/json",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="json"})
43733
+
42701
43734
  /***/ }),
42702
43735
 
42703
43736
  /***/ "b041":
@@ -45118,6 +46151,802 @@ module.exports = !fails(function () {
45118
46151
  });
45119
46152
 
45120
46153
 
46154
+ /***/ }),
46155
+
46156
+ /***/ "bb36":
46157
+ /***/ (function(module, exports, __webpack_require__) {
46158
+
46159
+ ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
46160
+ "use strict";
46161
+
46162
+ var oop = acequire("../lib/oop");
46163
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
46164
+
46165
+ var DocCommentHighlightRules = function() {
46166
+ this.$rules = {
46167
+ "start" : [ {
46168
+ token : "comment.doc.tag",
46169
+ regex : "@[\\w\\d_]+" // TODO: fix email addresses
46170
+ },
46171
+ DocCommentHighlightRules.getTagRule(),
46172
+ {
46173
+ defaultToken : "comment.doc",
46174
+ caseInsensitive: true
46175
+ }]
46176
+ };
46177
+ };
46178
+
46179
+ oop.inherits(DocCommentHighlightRules, TextHighlightRules);
46180
+
46181
+ DocCommentHighlightRules.getTagRule = function(start) {
46182
+ return {
46183
+ token : "comment.doc.tag.storage.type",
46184
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
46185
+ };
46186
+ };
46187
+
46188
+ DocCommentHighlightRules.getStartRule = function(start) {
46189
+ return {
46190
+ token : "comment.doc", // doc comment
46191
+ regex : "\\/\\*(?=\\*)",
46192
+ next : start
46193
+ };
46194
+ };
46195
+
46196
+ DocCommentHighlightRules.getEndRule = function (start) {
46197
+ return {
46198
+ token : "comment.doc", // closing comment
46199
+ regex : "\\*\\/",
46200
+ next : start
46201
+ };
46202
+ };
46203
+
46204
+
46205
+ exports.DocCommentHighlightRules = DocCommentHighlightRules;
46206
+
46207
+ });
46208
+
46209
+ ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
46210
+ "use strict";
46211
+
46212
+ var oop = acequire("../lib/oop");
46213
+ var DocCommentHighlightRules = acequire("./doc_comment_highlight_rules").DocCommentHighlightRules;
46214
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
46215
+ var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
46216
+
46217
+ var JavaScriptHighlightRules = function(options) {
46218
+ var keywordMapper = this.createKeywordMapper({
46219
+ "variable.language":
46220
+ "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
46221
+ "Namespace|QName|XML|XMLList|" + // E4X
46222
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
46223
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
46224
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
46225
+ "SyntaxError|TypeError|URIError|" +
46226
+ "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
46227
+ "isNaN|parseFloat|parseInt|" +
46228
+ "JSON|Math|" + // Other
46229
+ "this|arguments|prototype|window|document" , // Pseudo
46230
+ "keyword":
46231
+ "const|yield|import|get|set|async|await|" +
46232
+ "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
46233
+ "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
46234
+ "__parent__|__count__|escape|unescape|with|__proto__|" +
46235
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
46236
+ "storage.type":
46237
+ "const|let|var|function",
46238
+ "constant.language":
46239
+ "null|Infinity|NaN|undefined",
46240
+ "support.function":
46241
+ "alert",
46242
+ "constant.language.boolean": "true|false"
46243
+ }, "identifier");
46244
+ var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
46245
+
46246
+ var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
46247
+ "u[0-9a-fA-F]{4}|" + // unicode
46248
+ "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
46249
+ "[0-2][0-7]{0,2}|" + // oct
46250
+ "3[0-7][0-7]?|" + // oct
46251
+ "[4-7][0-7]?|" + //oct
46252
+ ".)";
46253
+
46254
+ this.$rules = {
46255
+ "no_regex" : [
46256
+ DocCommentHighlightRules.getStartRule("doc-start"),
46257
+ comments("no_regex"),
46258
+ {
46259
+ token : "string",
46260
+ regex : "'(?=.)",
46261
+ next : "qstring"
46262
+ }, {
46263
+ token : "string",
46264
+ regex : '"(?=.)',
46265
+ next : "qqstring"
46266
+ }, {
46267
+ token : "constant.numeric", // hexadecimal, octal and binary
46268
+ regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
46269
+ }, {
46270
+ token : "constant.numeric", // decimal integers and floats
46271
+ regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
46272
+ }, {
46273
+ token : [
46274
+ "storage.type", "punctuation.operator", "support.function",
46275
+ "punctuation.operator", "entity.name.function", "text","keyword.operator"
46276
+ ],
46277
+ regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
46278
+ next: "function_arguments"
46279
+ }, {
46280
+ token : [
46281
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46282
+ "keyword.operator", "text", "storage.type", "text", "paren.lparen"
46283
+ ],
46284
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
46285
+ next: "function_arguments"
46286
+ }, {
46287
+ token : [
46288
+ "entity.name.function", "text", "keyword.operator", "text", "storage.type",
46289
+ "text", "paren.lparen"
46290
+ ],
46291
+ regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
46292
+ next: "function_arguments"
46293
+ }, {
46294
+ token : [
46295
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46296
+ "keyword.operator", "text",
46297
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46298
+ ],
46299
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
46300
+ next: "function_arguments"
46301
+ }, {
46302
+ token : [
46303
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46304
+ ],
46305
+ regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
46306
+ next: "function_arguments"
46307
+ }, {
46308
+ token : [
46309
+ "entity.name.function", "text", "punctuation.operator",
46310
+ "text", "storage.type", "text", "paren.lparen"
46311
+ ],
46312
+ regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
46313
+ next: "function_arguments"
46314
+ }, {
46315
+ token : [
46316
+ "text", "text", "storage.type", "text", "paren.lparen"
46317
+ ],
46318
+ regex : "(:)(\\s*)(function)(\\s*)(\\()",
46319
+ next: "function_arguments"
46320
+ }, {
46321
+ token : "keyword",
46322
+ regex : "from(?=\\s*('|\"))"
46323
+ }, {
46324
+ token : "keyword",
46325
+ regex : "(?:" + kwBeforeRe + ")\\b",
46326
+ next : "start"
46327
+ }, {
46328
+ token : ["support.constant"],
46329
+ regex : /that\b/
46330
+ }, {
46331
+ token : ["storage.type", "punctuation.operator", "support.function.firebug"],
46332
+ regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
46333
+ }, {
46334
+ token : keywordMapper,
46335
+ regex : identifierRe
46336
+ }, {
46337
+ token : "punctuation.operator",
46338
+ regex : /[.](?![.])/,
46339
+ next : "property"
46340
+ }, {
46341
+ token : "storage.type",
46342
+ regex : /=>/
46343
+ }, {
46344
+ token : "keyword.operator",
46345
+ regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
46346
+ next : "start"
46347
+ }, {
46348
+ token : "punctuation.operator",
46349
+ regex : /[?:,;.]/,
46350
+ next : "start"
46351
+ }, {
46352
+ token : "paren.lparen",
46353
+ regex : /[\[({]/,
46354
+ next : "start"
46355
+ }, {
46356
+ token : "paren.rparen",
46357
+ regex : /[\])}]/
46358
+ }, {
46359
+ token: "comment",
46360
+ regex: /^#!.*$/
46361
+ }
46362
+ ],
46363
+ property: [{
46364
+ token : "text",
46365
+ regex : "\\s+"
46366
+ }, {
46367
+ token : [
46368
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46369
+ "keyword.operator", "text",
46370
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46371
+ ],
46372
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
46373
+ next: "function_arguments"
46374
+ }, {
46375
+ token : "punctuation.operator",
46376
+ regex : /[.](?![.])/
46377
+ }, {
46378
+ token : "support.function",
46379
+ regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
46380
+ }, {
46381
+ token : "support.function.dom",
46382
+ regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
46383
+ }, {
46384
+ token : "support.constant",
46385
+ regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
46386
+ }, {
46387
+ token : "identifier",
46388
+ regex : identifierRe
46389
+ }, {
46390
+ regex: "",
46391
+ token: "empty",
46392
+ next: "no_regex"
46393
+ }
46394
+ ],
46395
+ "start": [
46396
+ DocCommentHighlightRules.getStartRule("doc-start"),
46397
+ comments("start"),
46398
+ {
46399
+ token: "string.regexp",
46400
+ regex: "\\/",
46401
+ next: "regex"
46402
+ }, {
46403
+ token : "text",
46404
+ regex : "\\s+|^$",
46405
+ next : "start"
46406
+ }, {
46407
+ token: "empty",
46408
+ regex: "",
46409
+ next: "no_regex"
46410
+ }
46411
+ ],
46412
+ "regex": [
46413
+ {
46414
+ token: "regexp.keyword.operator",
46415
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
46416
+ }, {
46417
+ token: "string.regexp",
46418
+ regex: "/[sxngimy]*",
46419
+ next: "no_regex"
46420
+ }, {
46421
+ token : "invalid",
46422
+ regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
46423
+ }, {
46424
+ token : "constant.language.escape",
46425
+ regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
46426
+ }, {
46427
+ token : "constant.language.delimiter",
46428
+ regex: /\|/
46429
+ }, {
46430
+ token: "constant.language.escape",
46431
+ regex: /\[\^?/,
46432
+ next: "regex_character_class"
46433
+ }, {
46434
+ token: "empty",
46435
+ regex: "$",
46436
+ next: "no_regex"
46437
+ }, {
46438
+ defaultToken: "string.regexp"
46439
+ }
46440
+ ],
46441
+ "regex_character_class": [
46442
+ {
46443
+ token: "regexp.charclass.keyword.operator",
46444
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
46445
+ }, {
46446
+ token: "constant.language.escape",
46447
+ regex: "]",
46448
+ next: "regex"
46449
+ }, {
46450
+ token: "constant.language.escape",
46451
+ regex: "-"
46452
+ }, {
46453
+ token: "empty",
46454
+ regex: "$",
46455
+ next: "no_regex"
46456
+ }, {
46457
+ defaultToken: "string.regexp.charachterclass"
46458
+ }
46459
+ ],
46460
+ "function_arguments": [
46461
+ {
46462
+ token: "variable.parameter",
46463
+ regex: identifierRe
46464
+ }, {
46465
+ token: "punctuation.operator",
46466
+ regex: "[, ]+"
46467
+ }, {
46468
+ token: "punctuation.operator",
46469
+ regex: "$"
46470
+ }, {
46471
+ token: "empty",
46472
+ regex: "",
46473
+ next: "no_regex"
46474
+ }
46475
+ ],
46476
+ "qqstring" : [
46477
+ {
46478
+ token : "constant.language.escape",
46479
+ regex : escapedRe
46480
+ }, {
46481
+ token : "string",
46482
+ regex : "\\\\$",
46483
+ consumeLineEnd : true
46484
+ }, {
46485
+ token : "string",
46486
+ regex : '"|$',
46487
+ next : "no_regex"
46488
+ }, {
46489
+ defaultToken: "string"
46490
+ }
46491
+ ],
46492
+ "qstring" : [
46493
+ {
46494
+ token : "constant.language.escape",
46495
+ regex : escapedRe
46496
+ }, {
46497
+ token : "string",
46498
+ regex : "\\\\$",
46499
+ consumeLineEnd : true
46500
+ }, {
46501
+ token : "string",
46502
+ regex : "'|$",
46503
+ next : "no_regex"
46504
+ }, {
46505
+ defaultToken: "string"
46506
+ }
46507
+ ]
46508
+ };
46509
+
46510
+
46511
+ if (!options || !options.noES6) {
46512
+ this.$rules.no_regex.unshift({
46513
+ regex: "[{}]", onMatch: function(val, state, stack) {
46514
+ this.next = val == "{" ? this.nextState : "";
46515
+ if (val == "{" && stack.length) {
46516
+ stack.unshift("start", state);
46517
+ }
46518
+ else if (val == "}" && stack.length) {
46519
+ stack.shift();
46520
+ this.next = stack.shift();
46521
+ if (this.next.indexOf("string") != -1 || this.next.indexOf("jsx") != -1)
46522
+ return "paren.quasi.end";
46523
+ }
46524
+ return val == "{" ? "paren.lparen" : "paren.rparen";
46525
+ },
46526
+ nextState: "start"
46527
+ }, {
46528
+ token : "string.quasi.start",
46529
+ regex : /`/,
46530
+ push : [{
46531
+ token : "constant.language.escape",
46532
+ regex : escapedRe
46533
+ }, {
46534
+ token : "paren.quasi.start",
46535
+ regex : /\${/,
46536
+ push : "start"
46537
+ }, {
46538
+ token : "string.quasi.end",
46539
+ regex : /`/,
46540
+ next : "pop"
46541
+ }, {
46542
+ defaultToken: "string.quasi"
46543
+ }]
46544
+ });
46545
+
46546
+ if (!options || options.jsx != false)
46547
+ JSX.call(this);
46548
+ }
46549
+
46550
+ this.embedRules(DocCommentHighlightRules, "doc-",
46551
+ [ DocCommentHighlightRules.getEndRule("no_regex") ]);
46552
+
46553
+ this.normalizeRules();
46554
+ };
46555
+
46556
+ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
46557
+
46558
+ function JSX() {
46559
+ var tagRegex = identifierRe.replace("\\d", "\\d\\-");
46560
+ var jsxTag = {
46561
+ onMatch : function(val, state, stack) {
46562
+ var offset = val.charAt(1) == "/" ? 2 : 1;
46563
+ if (offset == 1) {
46564
+ if (state != this.nextState)
46565
+ stack.unshift(this.next, this.nextState, 0);
46566
+ else
46567
+ stack.unshift(this.next);
46568
+ stack[2]++;
46569
+ } else if (offset == 2) {
46570
+ if (state == this.nextState) {
46571
+ stack[1]--;
46572
+ if (!stack[1] || stack[1] < 0) {
46573
+ stack.shift();
46574
+ stack.shift();
46575
+ }
46576
+ }
46577
+ }
46578
+ return [{
46579
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
46580
+ value: val.slice(0, offset)
46581
+ }, {
46582
+ type: "meta.tag.tag-name.xml",
46583
+ value: val.substr(offset)
46584
+ }];
46585
+ },
46586
+ regex : "</?" + tagRegex + "",
46587
+ next: "jsxAttributes",
46588
+ nextState: "jsx"
46589
+ };
46590
+ this.$rules.start.unshift(jsxTag);
46591
+ var jsxJsRule = {
46592
+ regex: "{",
46593
+ token: "paren.quasi.start",
46594
+ push: "start"
46595
+ };
46596
+ this.$rules.jsx = [
46597
+ jsxJsRule,
46598
+ jsxTag,
46599
+ {include : "reference"},
46600
+ {defaultToken: "string"}
46601
+ ];
46602
+ this.$rules.jsxAttributes = [{
46603
+ token : "meta.tag.punctuation.tag-close.xml",
46604
+ regex : "/?>",
46605
+ onMatch : function(value, currentState, stack) {
46606
+ if (currentState == stack[0])
46607
+ stack.shift();
46608
+ if (value.length == 2) {
46609
+ if (stack[0] == this.nextState)
46610
+ stack[1]--;
46611
+ if (!stack[1] || stack[1] < 0) {
46612
+ stack.splice(0, 2);
46613
+ }
46614
+ }
46615
+ this.next = stack[0] || "start";
46616
+ return [{type: this.token, value: value}];
46617
+ },
46618
+ nextState: "jsx"
46619
+ },
46620
+ jsxJsRule,
46621
+ comments("jsxAttributes"),
46622
+ {
46623
+ token : "entity.other.attribute-name.xml",
46624
+ regex : tagRegex
46625
+ }, {
46626
+ token : "keyword.operator.attribute-equals.xml",
46627
+ regex : "="
46628
+ }, {
46629
+ token : "text.tag-whitespace.xml",
46630
+ regex : "\\s+"
46631
+ }, {
46632
+ token : "string.attribute-value.xml",
46633
+ regex : "'",
46634
+ stateName : "jsx_attr_q",
46635
+ push : [
46636
+ {token : "string.attribute-value.xml", regex: "'", next: "pop"},
46637
+ {include : "reference"},
46638
+ {defaultToken : "string.attribute-value.xml"}
46639
+ ]
46640
+ }, {
46641
+ token : "string.attribute-value.xml",
46642
+ regex : '"',
46643
+ stateName : "jsx_attr_qq",
46644
+ push : [
46645
+ {token : "string.attribute-value.xml", regex: '"', next: "pop"},
46646
+ {include : "reference"},
46647
+ {defaultToken : "string.attribute-value.xml"}
46648
+ ]
46649
+ },
46650
+ jsxTag
46651
+ ];
46652
+ this.$rules.reference = [{
46653
+ token : "constant.language.escape.reference.xml",
46654
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
46655
+ }];
46656
+ }
46657
+
46658
+ function comments(next) {
46659
+ return [
46660
+ {
46661
+ token : "comment", // multi line comment
46662
+ regex : /\/\*/,
46663
+ next: [
46664
+ DocCommentHighlightRules.getTagRule(),
46665
+ {token : "comment", regex : "\\*\\/", next : next || "pop"},
46666
+ {defaultToken : "comment", caseInsensitive: true}
46667
+ ]
46668
+ }, {
46669
+ token : "comment",
46670
+ regex : "\\/\\/",
46671
+ next: [
46672
+ DocCommentHighlightRules.getTagRule(),
46673
+ {token : "comment", regex : "$|^", next : next || "pop"},
46674
+ {defaultToken : "comment", caseInsensitive: true}
46675
+ ]
46676
+ }
46677
+ ];
46678
+ }
46679
+ exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
46680
+ });
46681
+
46682
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(acequire, exports, module) {
46683
+ "use strict";
46684
+
46685
+ var Range = acequire("../range").Range;
46686
+
46687
+ var MatchingBraceOutdent = function() {};
46688
+
46689
+ (function() {
46690
+
46691
+ this.checkOutdent = function(line, input) {
46692
+ if (! /^\s+$/.test(line))
46693
+ return false;
46694
+
46695
+ return /^\s*\}/.test(input);
46696
+ };
46697
+
46698
+ this.autoOutdent = function(doc, row) {
46699
+ var line = doc.getLine(row);
46700
+ var match = line.match(/^(\s*\})/);
46701
+
46702
+ if (!match) return 0;
46703
+
46704
+ var column = match[1].length;
46705
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
46706
+
46707
+ if (!openBracePos || openBracePos.row == row) return 0;
46708
+
46709
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
46710
+ doc.replace(new Range(row, 0, row, column-1), indent);
46711
+ };
46712
+
46713
+ this.$getIndent = function(line) {
46714
+ return line.match(/^\s*/)[0];
46715
+ };
46716
+
46717
+ }).call(MatchingBraceOutdent.prototype);
46718
+
46719
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
46720
+ });
46721
+
46722
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(acequire, exports, module) {
46723
+ "use strict";
46724
+
46725
+ var oop = acequire("../../lib/oop");
46726
+ var Range = acequire("../../range").Range;
46727
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
46728
+
46729
+ var FoldMode = exports.FoldMode = function(commentRegex) {
46730
+ if (commentRegex) {
46731
+ this.foldingStartMarker = new RegExp(
46732
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
46733
+ );
46734
+ this.foldingStopMarker = new RegExp(
46735
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
46736
+ );
46737
+ }
46738
+ };
46739
+ oop.inherits(FoldMode, BaseFoldMode);
46740
+
46741
+ (function() {
46742
+
46743
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
46744
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
46745
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
46746
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
46747
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
46748
+ this._getFoldWidgetBase = this.getFoldWidget;
46749
+ this.getFoldWidget = function(session, foldStyle, row) {
46750
+ var line = session.getLine(row);
46751
+
46752
+ if (this.singleLineBlockCommentRe.test(line)) {
46753
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
46754
+ return "";
46755
+ }
46756
+
46757
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
46758
+
46759
+ if (!fw && this.startRegionRe.test(line))
46760
+ return "start"; // lineCommentRegionStart
46761
+
46762
+ return fw;
46763
+ };
46764
+
46765
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
46766
+ var line = session.getLine(row);
46767
+
46768
+ if (this.startRegionRe.test(line))
46769
+ return this.getCommentRegionBlock(session, line, row);
46770
+
46771
+ var match = line.match(this.foldingStartMarker);
46772
+ if (match) {
46773
+ var i = match.index;
46774
+
46775
+ if (match[1])
46776
+ return this.openingBracketBlock(session, match[1], row, i);
46777
+
46778
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
46779
+
46780
+ if (range && !range.isMultiLine()) {
46781
+ if (forceMultiline) {
46782
+ range = this.getSectionRange(session, row);
46783
+ } else if (foldStyle != "all")
46784
+ range = null;
46785
+ }
46786
+
46787
+ return range;
46788
+ }
46789
+
46790
+ if (foldStyle === "markbegin")
46791
+ return;
46792
+
46793
+ var match = line.match(this.foldingStopMarker);
46794
+ if (match) {
46795
+ var i = match.index + match[0].length;
46796
+
46797
+ if (match[1])
46798
+ return this.closingBracketBlock(session, match[1], row, i);
46799
+
46800
+ return session.getCommentFoldRange(row, i, -1);
46801
+ }
46802
+ };
46803
+
46804
+ this.getSectionRange = function(session, row) {
46805
+ var line = session.getLine(row);
46806
+ var startIndent = line.search(/\S/);
46807
+ var startRow = row;
46808
+ var startColumn = line.length;
46809
+ row = row + 1;
46810
+ var endRow = row;
46811
+ var maxRow = session.getLength();
46812
+ while (++row < maxRow) {
46813
+ line = session.getLine(row);
46814
+ var indent = line.search(/\S/);
46815
+ if (indent === -1)
46816
+ continue;
46817
+ if (startIndent > indent)
46818
+ break;
46819
+ var subRange = this.getFoldWidgetRange(session, "all", row);
46820
+
46821
+ if (subRange) {
46822
+ if (subRange.start.row <= startRow) {
46823
+ break;
46824
+ } else if (subRange.isMultiLine()) {
46825
+ row = subRange.end.row;
46826
+ } else if (startIndent == indent) {
46827
+ break;
46828
+ }
46829
+ }
46830
+ endRow = row;
46831
+ }
46832
+
46833
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
46834
+ };
46835
+ this.getCommentRegionBlock = function(session, line, row) {
46836
+ var startColumn = line.search(/\s*$/);
46837
+ var maxRow = session.getLength();
46838
+ var startRow = row;
46839
+
46840
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
46841
+ var depth = 1;
46842
+ while (++row < maxRow) {
46843
+ line = session.getLine(row);
46844
+ var m = re.exec(line);
46845
+ if (!m) continue;
46846
+ if (m[1]) depth--;
46847
+ else depth++;
46848
+
46849
+ if (!depth) break;
46850
+ }
46851
+
46852
+ var endRow = row;
46853
+ if (endRow > startRow) {
46854
+ return new Range(startRow, startColumn, endRow, line.length);
46855
+ }
46856
+ };
46857
+
46858
+ }).call(FoldMode.prototype);
46859
+
46860
+ });
46861
+
46862
+ ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(acequire, exports, module) {
46863
+ "use strict";
46864
+
46865
+ var oop = acequire("../lib/oop");
46866
+ var TextMode = acequire("./text").Mode;
46867
+ var JavaScriptHighlightRules = acequire("./javascript_highlight_rules").JavaScriptHighlightRules;
46868
+ var MatchingBraceOutdent = acequire("./matching_brace_outdent").MatchingBraceOutdent;
46869
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
46870
+ var CstyleBehaviour = acequire("./behaviour/cstyle").CstyleBehaviour;
46871
+ var CStyleFoldMode = acequire("./folding/cstyle").FoldMode;
46872
+
46873
+ var Mode = function() {
46874
+ this.HighlightRules = JavaScriptHighlightRules;
46875
+
46876
+ this.$outdent = new MatchingBraceOutdent();
46877
+ this.$behaviour = new CstyleBehaviour();
46878
+ this.foldingRules = new CStyleFoldMode();
46879
+ };
46880
+ oop.inherits(Mode, TextMode);
46881
+
46882
+ (function() {
46883
+
46884
+ this.lineCommentStart = "//";
46885
+ this.blockComment = {start: "/*", end: "*/"};
46886
+ this.$quotes = {'"': '"', "'": "'", "`": "`"};
46887
+
46888
+ this.getNextLineIndent = function(state, line, tab) {
46889
+ var indent = this.$getIndent(line);
46890
+
46891
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
46892
+ var tokens = tokenizedLine.tokens;
46893
+ var endState = tokenizedLine.state;
46894
+
46895
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
46896
+ return indent;
46897
+ }
46898
+
46899
+ if (state == "start" || state == "no_regex") {
46900
+ var match = line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);
46901
+ if (match) {
46902
+ indent += tab;
46903
+ }
46904
+ } else if (state == "doc-start") {
46905
+ if (endState == "start" || endState == "no_regex") {
46906
+ return "";
46907
+ }
46908
+ var match = line.match(/^\s*(\/?)\*/);
46909
+ if (match) {
46910
+ if (match[1]) {
46911
+ indent += " ";
46912
+ }
46913
+ indent += "* ";
46914
+ }
46915
+ }
46916
+
46917
+ return indent;
46918
+ };
46919
+
46920
+ this.checkOutdent = function(state, line, input) {
46921
+ return this.$outdent.checkOutdent(line, input);
46922
+ };
46923
+
46924
+ this.autoOutdent = function(state, doc, row) {
46925
+ this.$outdent.autoOutdent(doc, row);
46926
+ };
46927
+
46928
+ this.createWorker = function(session) {
46929
+ var worker = new WorkerClient(["ace"], __webpack_require__("6d68"), "JavaScriptWorker");
46930
+ worker.attachToDocument(session.getDocument());
46931
+
46932
+ worker.on("annotate", function(results) {
46933
+ session.setAnnotations(results.data);
46934
+ });
46935
+
46936
+ worker.on("terminate", function() {
46937
+ session.clearAnnotations();
46938
+ });
46939
+
46940
+ return worker;
46941
+ };
46942
+
46943
+ this.$id = "ace/mode/javascript";
46944
+ }).call(Mode.prototype);
46945
+
46946
+ exports.Mode = Mode;
46947
+ });
46948
+
46949
+
45121
46950
  /***/ }),
45122
46951
 
45123
46952
  /***/ "bc13":
@@ -45412,7 +47241,7 @@ $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
45412
47241
  /***/ "ccf6":
45413
47242
  /***/ (function(module, exports) {
45414
47243
 
45415
- module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-wrapper\">\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\n <!-- 左侧内容 -->\n <section slot=\"left\" class=\"left-split-pane\">\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\"> </u-type-tree>\n </section>\n <!-- 分割线 -->\n <section class=\"trigger\" slot=\"trigger\"></section>\n <!-- 右侧内容 -->\n <section slot=\"right\" class=\"right-split-pane\">\n <section class=\"search-wrapper\">\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\n <i-form-item label=\"名称\" prop=\"name\">\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码\" prop=\"code\">\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"btns\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n </div>\n </section>\n <section class=\"actions-wrapper\">\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\n <i class=\"iconfont icon-add\"></i>\n <div>新增</div>\n </div>\n <div class=\"action-item action-text\" :class=\"selection.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span>批量删除</span>\n </div>\n </section>\n <section class=\"main-wrapper\">\n <template v-if=\"list?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\n <template slot=\"status\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i @click.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\n <template v-if=\"row.status!=='PUBLISHED'\">\n <i @click.stop=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </template>\n </div>\n </template>\n </i-table>\n <i-page\n class=\"diy-page\"\n show-total\n show-sizer\n show-elevator\n :total=\"paging.totalCount\"\n :current=\"paging.pageIndex\"\n :page-size=\"paging.pageSize\"\n @on-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n ></i-page>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
47244
+ module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-wrapper\">\r\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\r\n <!-- 左侧内容 -->\r\n <section slot=\"left\" class=\"left-split-pane\">\r\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\"> </u-type-tree>\r\n </section>\r\n <!-- 分割线 -->\r\n <section class=\"trigger\" slot=\"trigger\"></section>\r\n <!-- 右侧内容 -->\r\n <section slot=\"right\" class=\"right-split-pane\">\r\n <section class=\"search-wrapper\">\r\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\r\n <i-form-item label=\"名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码\" prop=\"code\">\r\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"btns\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\r\n </div>\r\n </section>\r\n <section class=\"actions-wrapper\">\r\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <div>新增</div>\r\n </div>\r\n <div class=\"action-item action-text\" :class=\"selection.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>批量删除</span>\r\n </div>\r\n </section>\r\n <section class=\"main-wrapper\">\r\n <template v-if=\"list?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\r\n <template slot=\"status\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\r\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i @click.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\r\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\r\n <template v-if=\"row.status!=='PUBLISHED'\">\r\n <i @click.stop=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </template>\r\n </div>\r\n </template>\r\n </i-table>\r\n <i-page\r\n class=\"diy-page\"\r\n show-total\r\n show-sizer\r\n show-elevator\r\n :total=\"paging.totalCount\"\r\n :current=\"paging.pageIndex\"\r\n :page-size=\"paging.pageSize\"\r\n @on-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n ></i-page>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </section>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"选择分组\" required>\r\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
45416
47245
 
45417
47246
  /***/ }),
45418
47247
 
@@ -45464,7 +47293,7 @@ module.exports = require("axios");
45464
47293
  /***/ "cfb3":
45465
47294
  /***/ (function(module, exports) {
45466
47295
 
45467
- module.exports = "<article class=\"project-list\">\n <header>\n <i-input\n class=\"diy-input\"\n v-model=\"condition.name\"\n search\n @on-search=\"onQuery\"\n placeholder=\"输入关键字检索\"\n ></i-input>\n </header>\n <main>\n <header class=\"tool-bar\">\n <span>项目列表</span>\n <div class=\"right-tool\">\n <div class=\"action-btn\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i class=\"api-icon icon-import\"></i>\n <div>导入项目</div>\n </i-upload>\n </div>\n <div class=\"action-btn\" @click=\"onComment\">\n <i\n class=\"api-icon icon-star\"\n @click=\"onCheckType('list')\"\n ></i>\n <div>查看项目动态</div>\n </div>\n <i\n class=\"api-icon icon-list\"\n :class=\"{'active': type === 'list'}\"\n title=\"列表展示\"\n @click=\"onCheckType('list')\"\n ></i>\n <i\n class=\"api-icon icon-card\"\n :class=\"{'active': type === 'card'}\"\n title=\"卡片展示\"\n @click=\"onCheckType('card')\"\n ></i>\n </div>\n </header>\n <main>\n <section class=\"projects\" v-if=\"type==='card'\">\n <div class=\"project-card\" @click=\"onAdd\">\n <div class=\"add-card\">\n <i-icon type=\"md-add\" />\n <p>新建项目</p>\n </div>\n </div>\n <u-card\n v-for=\"item in dataList\"\n :data=\"item\"\n :key=\"item.id\"\n @on-delete=\"onDelete\"\n @on-detail=\"onDetail\"\n @on-edit=\"onEdit\"\n @on-export=\"onExport\"\n ></u-card>\n </section>\n <section class=\"projects\" v-else>\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span @click=\"onExport(row)\" class=\"action-btn export\"\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\n ></span>\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\n ></span>\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\n ></span>\n <u-confirm\n title=\"删除项目\"\n @on-ok=\"onDelete(row)\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n >\n <span class=\"action-btn delete\"\n ><i\n class=\"api-icon icon-delete\"\n title=\"删除\"\n ></i\n ></span>\n </u-confirm>\n </template>\n </i-table>\n </section>\n </main>\n </main>\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\n <footer slot=\"footer\">\n <i-button @click=\"showAddModal = false\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\n >确定</i-button\n >\n </footer>\n </u-add-modal>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
47296
+ module.exports = "<article class=\"project-list\">\r\n <header>\r\n <i-input\r\n class=\"diy-input\"\r\n v-model=\"condition.name\"\r\n search\r\n @on-search=\"onQuery\"\r\n placeholder=\"输入关键字检索\"\r\n ></i-input>\r\n </header>\r\n <main>\r\n <header class=\"tool-bar\">\r\n <span>项目列表</span>\r\n <div class=\"right-tool\">\r\n <div class=\"action-btn\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i class=\"api-icon icon-import\"></i>\r\n <div>导入项目</div>\r\n </i-upload>\r\n </div>\r\n <div class=\"action-btn\" @click=\"onComment\">\r\n <i\r\n class=\"api-icon icon-star\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <div>查看项目动态</div>\r\n </div>\r\n <i\r\n class=\"api-icon icon-list\"\r\n :class=\"{'active': type === 'list'}\"\r\n title=\"列表展示\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <i\r\n class=\"api-icon icon-card\"\r\n :class=\"{'active': type === 'card'}\"\r\n title=\"卡片展示\"\r\n @click=\"onCheckType('card')\"\r\n ></i>\r\n </div>\r\n </header>\r\n <main>\r\n <section class=\"projects\" v-if=\"type==='card'\">\r\n <div class=\"project-card\" @click=\"onAdd\">\r\n <div class=\"add-card\">\r\n <i-icon type=\"md-add\" />\r\n <p>新建项目</p>\r\n </div>\r\n </div>\r\n <u-card\r\n v-for=\"item in dataList\"\r\n :data=\"item\"\r\n :key=\"item.id\"\r\n @on-delete=\"onDelete\"\r\n @on-detail=\"onDetail\"\r\n @on-edit=\"onEdit\"\r\n @on-export=\"onExport\"\r\n ></u-card>\r\n </section>\r\n <section class=\"projects\" v-else>\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <span @click=\"onExport(row)\" class=\"action-btn export\"\r\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\r\n ></span>\r\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\r\n ></span>\r\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\r\n ></span>\r\n <u-confirm\r\n title=\"删除项目\"\r\n @on-ok=\"onDelete(row)\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n >\r\n <span class=\"action-btn delete\"\r\n ><i\r\n class=\"api-icon icon-delete\"\r\n title=\"删除\"\r\n ></i\r\n ></span>\r\n </u-confirm>\r\n </template>\r\n </i-table>\r\n </section>\r\n </main>\r\n </main>\r\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showAddModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\r\n >确定</i-button\r\n >\r\n </footer>\r\n </u-add-modal>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n</article>\r\n"
45468
47297
 
45469
47298
  /***/ }),
45470
47299
 
@@ -45585,7 +47414,7 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
45585
47414
  /***/ "d30a":
45586
47415
  /***/ (function(module, exports) {
45587
47416
 
45588
- module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\n <template v-else>\n<!-- <i-->\n<!-- class=\"iconfont\"-->\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\n<!-- ></i>-->\n <i class=\"iconfont icon-bumenkaohe\"></i>\n </template>\n <span>{{data.title}}</span>\n</div>\n"
47417
+ module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\r\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\r\n <template v-else>\r\n<!-- <i-->\r\n<!-- class=\"iconfont\"-->\r\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\r\n<!-- ></i>-->\r\n <i class=\"iconfont icon-bumenkaohe\"></i>\r\n </template>\r\n <span>{{data.title}}</span>\r\n</div>\r\n"
45589
47418
 
45590
47419
  /***/ }),
45591
47420
 
@@ -45767,14 +47596,14 @@ module.exports = fails(function () {
45767
47596
  /***/ "d8b4":
45768
47597
  /***/ (function(module, exports) {
45769
47598
 
45770
- module.exports = "<div class=\"v-parameter-list-container\">\n <main>\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\n <i class=\"iconfont icon-add\"></i>\n <span class=\"table-btns-text\">新增</span>\n </span>\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span class=\"table-btns-text\">批量删除</span>\n </span>\n </div>\n <template v-if=\"data?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\n <div slot=\"name\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\n <span v-else>{{row.name}}</span>\n </div>\n <div slot=\"type\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n <span v-else>{{getTypeText(row.type)}}</span>\n </div>\n <div slot=\"required\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\n <i-option :value=\"0\" key=\"0\">否</i-option>\n <i-option :value=\"1\" key=\"1\">是</i-option>\n </i-select>\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\n </div>\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\n <span v-else>{{row.defaultValue}}</span>\n </div>\n <div slot=\"description\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\n <span v-else>{{row.description}}</span>\n </div>\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\n <div v-if=\"row.isEdit\" class=\"edit-status\">\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\n </div>\n <div v-else class=\"read-status\">\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\n </i-poptip>\n </div>\n </div>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data-wrap\">\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </div>\n </template>\n </main>\n</div>\n"
47599
+ module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\r\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <span class=\"table-btns-text\">新增</span>\r\n </span>\r\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span class=\"table-btns-text\">批量删除</span>\r\n </span>\r\n </div>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\r\n <div slot=\"name\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\r\n <span v-else>{{row.name}}</span>\r\n </div>\r\n <div slot=\"type\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\r\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n <span v-else>{{getTypeText(row.type)}}</span>\r\n </div>\r\n <div slot=\"required\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\r\n <i-option :value=\"0\" key=\"0\">否</i-option>\r\n <i-option :value=\"1\" key=\"1\">是</i-option>\r\n </i-select>\r\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\r\n </div>\r\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\r\n <span v-else>{{row.defaultValue}}</span>\r\n </div>\r\n <div slot=\"description\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\r\n <span v-else>{{row.description}}</span>\r\n </div>\r\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\r\n <div v-if=\"row.isEdit\" class=\"edit-status\">\r\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\r\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\r\n </div>\r\n <div v-else class=\"read-status\">\r\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\r\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\r\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data-wrap\">\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </div>\r\n </template>\r\n </main>\r\n</div>\r\n"
45771
47600
 
45772
47601
  /***/ }),
45773
47602
 
45774
47603
  /***/ "d8e7":
45775
47604
  /***/ (function(module, exports) {
45776
47605
 
45777
- module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\">\n <header class=\"header\">\n {{title}}\n </header>\n <main>\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\n <i-row>\n <section class=\"title-g\">基本信息</section>\n <i-form-item label=\"名称:\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码:\" prop=\"code\">\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item class=\"full-width\" label=\"描述:\">\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n </i-row>\n <i-row>\n <section class=\"title-g\">待合并列表</section>\n <section class=\"to-combine-list\">\n <template v-if=\"isEdit\">\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\n </template>\n <template v-if=\"model.relations?.length\">\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\n <template #type=\"{row}\">\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </i-row>\n <i-row>\n <section class=\"title-g\">参数详情</section>\n <section class=\"parameter-detail\">\n <section class=\"card-panel card-panel-no-right-border\">\n <i-tabs>\n <i-tab-pane label=\"请求参数\" name=\"request\">\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\n </i-tab-pane>\n <i-tab-pane label=\"响应参数\" name=\"response\">\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\n </i-tab-pane>\n </i-tabs>\n </section>\n <section class=\"card-panel\">\n <div class=\"card-panel-header\">\n <div>\n <span>执行脚本</span>\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\n </div>\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\n <i class=\"iconfont icon-run\"></i>\n <span>试运行</span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\n </div>\n </section>\n </section>\n </i-row>\n </i-form>\n </main>\n <footer>\n <template v-if=\"isEdit\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\n </template>\n <template v-else>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\n </template>\n </footer>\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</article>\n"
47606
+ module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-info-wrapper\">\r\n <header class=\"header\">\r\n {{title}}\r\n </header>\r\n <main>\r\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\r\n <i-row>\r\n <section class=\"title-g\">基本信息</section>\r\n <i-form-item label=\"名称:\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码:\" prop=\"code\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"full-width\" label=\"描述:\">\r\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">待合并列表</section>\r\n <section class=\"to-combine-list\">\r\n <template v-if=\"isEdit\">\r\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\r\n </template>\r\n <template v-if=\"model.relations?.length\">\r\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\r\n <template #type=\"{row}\">\r\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\r\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </section>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">参数详情</section>\r\n <section class=\"parameter-detail\">\r\n <section class=\"card-panel card-panel-no-right-border\">\r\n <i-tabs>\r\n <i-tab-pane label=\"请求参数\" name=\"request\">\r\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\r\n </i-tab-pane>\r\n <i-tab-pane label=\"响应参数\" name=\"response\">\r\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\r\n </i-tab-pane>\r\n </i-tabs>\r\n </section>\r\n <section class=\"card-panel\">\r\n <div class=\"card-panel-header\">\r\n <div>\r\n <span>执行脚本</span>\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\r\n </div>\r\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\r\n <i class=\"iconfont icon-run\"></i>\r\n <span>试运行</span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\r\n </div>\r\n </section>\r\n </section>\r\n </i-row>\r\n </i-form>\r\n </main>\r\n <footer>\r\n <template v-if=\"isEdit\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\r\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\r\n </template>\r\n <template v-else>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\r\n </template>\r\n </footer>\r\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\r\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\r\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\r\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\r\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</article>\r\n"
45778
47607
 
45779
47608
  /***/ }),
45780
47609
 
@@ -45788,7 +47617,7 @@ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\"
45788
47617
  /***/ "d953":
45789
47618
  /***/ (function(module, exports) {
45790
47619
 
45791
- module.exports = "<div class=\"interface-tree-node\">\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\n >{{data.method}}</span\n >\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\n <i-dropdown\n transfer\n stop-propagation\n class=\"diy-dropdown\"\n transfer-class-name=\"diy-transfer-dropdown\"\n @on-click=\"onClickAction\"\n >\n <i class=\"api-icon icon-more\"></i>\n <i-dropdown-menu slot=\"list\">\n <template v-if=\"isLeaf\">\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\n </template>\n <template v-else>\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\n <u-confirm\n title=\"删除接口\"\n @on-ok=\"onDelete('delete-group')\"\n message=\"分组内的接口一并删除, 是否确认执行?\"\n >\n <i-dropdown-item>删除</i-dropdown-item>\n </u-confirm>\n </template>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
47620
+ module.exports = "<div class=\"interface-tree-node\">\r\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\r\n >{{data.method}}</span\r\n >\r\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\r\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\r\n <i-dropdown\r\n transfer\r\n stop-propagation\r\n class=\"diy-dropdown\"\r\n transfer-class-name=\"diy-transfer-dropdown\"\r\n @on-click=\"onClickAction\"\r\n >\r\n <i class=\"api-icon icon-more\"></i>\r\n <i-dropdown-menu slot=\"list\">\r\n <template v-if=\"isLeaf\">\r\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\r\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\r\n </template>\r\n <template v-else>\r\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\r\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\r\n <u-confirm\r\n title=\"删除接口\"\r\n @on-ok=\"onDelete('delete-group')\"\r\n message=\"分组内的接口一并删除, 是否确认执行?\"\r\n >\r\n <i-dropdown-item>删除</i-dropdown-item>\r\n </u-confirm>\r\n </template>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
45792
47621
 
45793
47622
  /***/ }),
45794
47623
 
@@ -46771,6 +48600,14 @@ module.exports = Array.isArray || function isArray(argument) {
46771
48600
  };
46772
48601
 
46773
48602
 
48603
+ /***/ }),
48604
+
48605
+ /***/ "e8ff":
48606
+ /***/ (function(module, exports) {
48607
+
48608
+ module.exports.id = 'ace/mode/json_worker';
48609
+ module.exports.src = "\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/json/json_parse\",[\"require\",\"exports\",\"module\"],function(){\"use strict\";var at,ch,text,value,escapee={'\"':'\"',\"\\\\\":\"\\\\\",\"/\":\"/\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\t\"},error=function(m){throw{name:\"SyntaxError\",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error(\"Expected '\"+c+\"' instead of '\"+ch+\"'\"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string=\"\";for(\"-\"===ch&&(string=\"-\",next(\"-\"));ch>=\"0\"&&\"9\">=ch;)string+=ch,next();if(\".\"===ch)for(string+=\".\";next()&&ch>=\"0\"&&\"9\">=ch;)string+=ch;if(\"e\"===ch||\"E\"===ch)for(string+=ch,next(),(\"-\"===ch||\"+\"===ch)&&(string+=ch,next());ch>=\"0\"&&\"9\">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error(\"Bad number\"),void 0):number},string=function(){var hex,i,uffff,string=\"\";if('\"'===ch)for(;next();){if('\"'===ch)return next(),string;if(\"\\\\\"===ch)if(next(),\"u\"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if(\"string\"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error(\"Bad string\")},white=function(){for(;ch&&\" \">=ch;)next()},word=function(){switch(ch){case\"t\":return next(\"t\"),next(\"r\"),next(\"u\"),next(\"e\"),!0;case\"f\":return next(\"f\"),next(\"a\"),next(\"l\"),next(\"s\"),next(\"e\"),!1;case\"n\":return next(\"n\"),next(\"u\"),next(\"l\"),next(\"l\"),null}error(\"Unexpected '\"+ch+\"'\")},array=function(){var array=[];if(\"[\"===ch){if(next(\"[\"),white(),\"]\"===ch)return next(\"]\"),array;for(;ch;){if(array.push(value()),white(),\"]\"===ch)return next(\"]\"),array;next(\",\"),white()}}error(\"Bad array\")},object=function(){var key,object={};if(\"{\"===ch){if(next(\"{\"),white(),\"}\"===ch)return next(\"}\"),object;for(;ch;){if(key=string(),white(),next(\":\"),Object.hasOwnProperty.call(object,key)&&error('Duplicate key \"'+key+'\"'),object[key]=value(),white(),\"}\"===ch)return next(\"}\"),object;next(\",\"),white()}}error(\"Bad object\")};return value=function(){switch(white(),ch){case\"{\":return object();case\"[\":return array();case'\"':return string();case\"-\":return number();default:return ch>=\"0\"&&\"9\">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=\" \",result=value(),white(),ch&&error(\"Syntax error\"),\"function\"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&\"object\"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({\"\":result},\"\"):result}}),ace.define(\"ace/mode/json_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/json/json_parse\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,parse=acequire(\"./json/json_parse\"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:\"error\"})}this.sender.emit(\"annotate\",errors)}}.call(JsonWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});";
48610
+
46774
48611
  /***/ }),
46775
48612
 
46776
48613
  /***/ "e95a":
@@ -46866,7 +48703,7 @@ if ($stringify) {
46866
48703
  /***/ "ef27":
46867
48704
  /***/ (function(module, exports) {
46868
48705
 
46869
- module.exports = "<article class=\"project-card\" @click=\"onDetail\">\n <header>{{data.name}}</header>\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item :name=\"'export'\">\n <i\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\n title=\"导出此项目\"\n @click.stop=\"onExport\"\n ></i>\n 导出此项目\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n <main></main>\n <footer>\n <div @click.stop=\"onEdit\">修改</div>\n <u-confirm\n class=\"delete\"\n title=\"删除项目\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n @on-ok=\"onDelete\"\n >\n <span>删除</span>\n </u-confirm>\n </footer>\n</article>\n"
48706
+ module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header>{{data.name}}</header>\r\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item :name=\"'export'\">\r\n <i\r\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\r\n title=\"导出此项目\"\r\n @click.stop=\"onExport\"\r\n ></i>\r\n 导出此项目\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n <main></main>\r\n <footer>\r\n <div @click.stop=\"onEdit\">修改</div>\r\n <u-confirm\r\n class=\"delete\"\r\n title=\"删除项目\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n @on-ok=\"onDelete\"\r\n >\r\n <span>删除</span>\r\n </u-confirm>\r\n </footer>\r\n</article>\r\n"
46870
48707
 
46871
48708
  /***/ }),
46872
48709
 
@@ -51616,14 +53453,10 @@ function (_super) {
51616
53453
 
51617
53454
  _this.option = {
51618
53455
  showPrintMargin: false,
51619
- enableEmmet: true,
51620
- enableBasicAutocompletion: true,
51621
- enableSnippets: true,
51622
- enableLiveAutocompletion: true,
51623
- showFoldWidgets: false,
51624
- wrap: true,
51625
- fontSize: 16,
51626
- fixedWidthGutter: true
53456
+ wrap: "free",
53457
+ fontSize: 15 // enableBasicAutocompletion: true,
53458
+ // enableSnippets: true
53459
+
51627
53460
  };
51628
53461
  return _this;
51629
53462
  }
@@ -51634,63 +53467,38 @@ function (_super) {
51634
53467
 
51635
53468
 
51636
53469
  __webpack_require__("5f48"); // tslint:disable-next-line
51637
- // require("brace/mode/json");
51638
- // // tslint:disable-next-line
51639
- // require("brace/mode/xml");
51640
- // // tslint:disable-next-line
51641
- // require("brace/mode/javascript");
51642
- // // tslint:disable-next-line
51643
- // require("brace/theme/chrome");
51644
- // // tslint:disable-next-line
51645
- // require("brace/snippets/javascript");
51646
- // // tslint:disable-next-line
51647
- // require("brace/snippets/json");
53470
+
53471
+
53472
+ __webpack_require__("818b"); // tslint:disable-next-line
53473
+
53474
+
53475
+ __webpack_require__("0696"); // tslint:disable-next-line
53476
+
53477
+
53478
+ __webpack_require__("bb36"); // tslint:disable-next-line
53479
+
53480
+
53481
+ __webpack_require__("95b8"); // require("brace/theme/github");
51648
53482
  // tslint:disable-next-line
51649
53483
 
51650
53484
 
51651
- __webpack_require__("2099"); // tslint:disable-next-line
53485
+ __webpack_require__("6a21"); // tslint:disable-next-line
51652
53486
 
51653
53487
 
51654
- __webpack_require__("95b8");
53488
+ __webpack_require__("b039"); // tslint:disable-next-line
51655
53489
 
51656
- var that = this; // tslint:disable-next-line
51657
53490
 
51658
- var ace = __webpack_require__("061c");
53491
+ __webpack_require__("2099");
51659
53492
 
51660
- var langTools = ace.acequire("ace/ext/language_tools");
51661
- langTools.addCompleter({
51662
- getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
51663
- that.setCompletions(editor, session, pos, prefix, callback);
51664
- }
51665
- });
51666
53493
  this.$emit("inited", editor);
51667
53494
  };
51668
53495
 
51669
- CodeEditor.prototype.setCompletions = function (editor, session, pos, prefix, callback) {
51670
- if (prefix.length === 0) {
51671
- return callback(null, []);
51672
- } else {
51673
- return callback(null, this.diyKeywordList);
51674
- }
51675
- };
51676
-
51677
- var _a;
51678
-
51679
- code_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("model", {
51680
- default: ""
51681
- }), code_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
53496
+ code_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("value"), code_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
51682
53497
 
51683
53498
  code_editor_decorate([Object(flagwind_web_["config"])({
51684
- default: "groovy"
53499
+ default: "json"
51685
53500
  }), code_editor_metadata("design:type", String)], CodeEditor.prototype, "lang", void 0);
51686
53501
 
51687
- code_editor_decorate([Object(flagwind_web_["config"])({
51688
- type: Array,
51689
- default: function _default() {
51690
- return [];
51691
- }
51692
- }), code_editor_metadata("design:type", typeof (_a = typeof Array !== "undefined" && Array) === "function" ? _a : Object)], CodeEditor.prototype, "diyKeywordList", void 0);
51693
-
51694
53502
  CodeEditor = code_editor_decorate([Object(flagwind_web_["component"])({
51695
53503
  template: __webpack_require__("35e3"),
51696
53504
  components: {
@@ -58488,6 +60296,158 @@ function (_super) {
58488
60296
  // EXTERNAL MODULE: ./src/views/project-detail/index.scss
58489
60297
  var project_detail = __webpack_require__("fe54");
58490
60298
 
60299
+ // EXTERNAL MODULE: ./src/components/groovy-editor/index.scss
60300
+ var groovy_editor = __webpack_require__("2380");
60301
+
60302
+ // CONCATENATED MODULE: ./src/components/groovy-editor/index.ts
60303
+
60304
+
60305
+
60306
+
60307
+
60308
+
60309
+ var groovy_editor_extends = undefined && undefined.__extends || function () {
60310
+ var _extendStatics = function extendStatics(d, b) {
60311
+ _extendStatics = Object.setPrototypeOf || {
60312
+ __proto__: []
60313
+ } instanceof Array && function (d, b) {
60314
+ d.__proto__ = b;
60315
+ } || function (d, b) {
60316
+ for (var p in b) {
60317
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
60318
+ }
60319
+ };
60320
+
60321
+ return _extendStatics(d, b);
60322
+ };
60323
+
60324
+ return function (d, b) {
60325
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
60326
+
60327
+ _extendStatics(d, b);
60328
+
60329
+ function __() {
60330
+ this.constructor = d;
60331
+ }
60332
+
60333
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
60334
+ };
60335
+ }();
60336
+
60337
+ var groovy_editor_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
60338
+ var c = arguments.length,
60339
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
60340
+ d;
60341
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
60342
+ if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
60343
+ }
60344
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
60345
+ };
60346
+
60347
+ var groovy_editor_metadata = undefined && undefined.__metadata || function (k, v) {
60348
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
60349
+ };
60350
+
60351
+
60352
+
60353
+
60354
+
60355
+
60356
+ var groovy_editor_CodeEditor =
60357
+ /** @class */
60358
+ function (_super) {
60359
+ groovy_editor_extends(CodeEditor, _super);
60360
+
60361
+ function CodeEditor() {
60362
+ var _this = _super !== null && _super.apply(this, arguments) || this;
60363
+
60364
+ _this.option = {
60365
+ showPrintMargin: false,
60366
+ enableEmmet: true,
60367
+ enableBasicAutocompletion: true,
60368
+ enableSnippets: true,
60369
+ enableLiveAutocompletion: true,
60370
+ showFoldWidgets: false,
60371
+ wrap: true,
60372
+ fontSize: 16,
60373
+ fixedWidthGutter: true
60374
+ };
60375
+ return _this;
60376
+ }
60377
+
60378
+ CodeEditor.prototype.editorInit = function (editor) {
60379
+ // tslint:disable-next-line
60380
+ __webpack_require__("0f6a"); // tslint:disable-next-line
60381
+
60382
+
60383
+ __webpack_require__("5f48"); // tslint:disable-next-line
60384
+ // require("brace/mode/json");
60385
+ // // tslint:disable-next-line
60386
+ // require("brace/mode/xml");
60387
+ // // tslint:disable-next-line
60388
+ // require("brace/mode/javascript");
60389
+ // // tslint:disable-next-line
60390
+ // require("brace/theme/chrome");
60391
+ // // tslint:disable-next-line
60392
+ // require("brace/snippets/javascript");
60393
+ // // tslint:disable-next-line
60394
+ // require("brace/snippets/json");
60395
+ // tslint:disable-next-line
60396
+
60397
+
60398
+ __webpack_require__("2099"); // tslint:disable-next-line
60399
+
60400
+
60401
+ __webpack_require__("95b8");
60402
+
60403
+ var that = this; // tslint:disable-next-line
60404
+
60405
+ var ace = __webpack_require__("061c");
60406
+
60407
+ var langTools = ace.acequire("ace/ext/language_tools");
60408
+ langTools.addCompleter({
60409
+ getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
60410
+ that.setCompletions(editor, session, pos, prefix, callback);
60411
+ }
60412
+ });
60413
+ this.$emit("inited", editor);
60414
+ };
60415
+
60416
+ CodeEditor.prototype.setCompletions = function (editor, session, pos, prefix, callback) {
60417
+ if (prefix.length === 0) {
60418
+ return callback(null, []);
60419
+ } else {
60420
+ return callback(null, this.diyKeywordList);
60421
+ }
60422
+ };
60423
+
60424
+ var _a;
60425
+
60426
+ groovy_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("model", {
60427
+ default: ""
60428
+ }), groovy_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
60429
+
60430
+ groovy_editor_decorate([Object(flagwind_web_["config"])({
60431
+ default: "groovy"
60432
+ }), groovy_editor_metadata("design:type", String)], CodeEditor.prototype, "lang", void 0);
60433
+
60434
+ groovy_editor_decorate([Object(flagwind_web_["config"])({
60435
+ type: Array,
60436
+ default: function _default() {
60437
+ return [];
60438
+ }
60439
+ }), groovy_editor_metadata("design:type", typeof (_a = typeof Array !== "undefined" && Array) === "function" ? _a : Object)], CodeEditor.prototype, "diyKeywordList", void 0);
60440
+
60441
+ CodeEditor = groovy_editor_decorate([Object(flagwind_web_["component"])({
60442
+ template: __webpack_require__("9915"),
60443
+ components: {
60444
+ editor: vue2_ace_editor_default.a
60445
+ }
60446
+ })], CodeEditor);
60447
+ return CodeEditor;
60448
+ }(flagwind_web_["Component"]);
60449
+
60450
+ /* harmony default export */ var components_groovy_editor = (groovy_editor_CodeEditor);
58491
60451
  // CONCATENATED MODULE: ./src/views/project-detail/base-editor-setting.ts
58492
60452
 
58493
60453
 
@@ -58989,7 +60949,7 @@ function (_super) {
58989
60949
  PreExecutionSetting = pre_execution_setting_decorate([Object(flagwind_web_["component"])({
58990
60950
  template: __webpack_require__("8ab8"),
58991
60951
  components: {
58992
- "u-editor": components_code_editor
60952
+ "u-editor": components_groovy_editor
58993
60953
  }
58994
60954
  })], PreExecutionSetting);
58995
60955
  return PreExecutionSetting;