UNPKG

jasmine-fixture

Version:

Makes injecting HTML snippets into the DOM easy & clean!

6 lines 188 kB
/* jasmine-fixture - 2.0.0 * Makes injecting HTML snippets into the DOM easy & clean! * https://github.com/searls/jasmine-fixture */ !function(){var a=(1,eval)("this");a.hasOwnProperty("emmet")&&(a.__jasmineFixtureEmmetNoConflict=a.emmet)}(),!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.emmet=a()}}(function(){var define,module,exports;return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({"./lib/emmet.js":[function(require,module,exports){if("object"==typeof module&&"function"!=typeof define)var define=function(a){module.exports=a(require,exports,module)};define(function(require,exports,module){function getFileName(a){var b=/([\w\.\-]+)$/i,c=b.exec(a);return c?c[1]:""}function normalizeProfile(a){return"object"==typeof a&&("indent"in a&&(a.indent=!!a.indent),"self_closing_tag"in a&&"number"==typeof a.self_closing_tag&&(a.self_closing_tag=!!a.self_closing_tag)),a}var global="undefined"!=typeof self?self:this,utils=require("./utils/common"),actions=require("./action/main"),parser=require("./parser/abbreviation"),file=require("./plugin/file"),preferences=require("./assets/preferences"),resources=require("./assets/resources"),profile=require("./assets/profile"),ciu=require("./assets/caniuse"),logger=require("./assets/logger"),sliceFn=Array.prototype.slice;return{expandAbbreviation:function(a,b,c,d){return parser.expand(a,{syntax:b,profile:c,contextNode:d})},run:function(a){return actions.run.apply(actions,sliceFn.call(arguments,0))},loadExtensions:function(fileList){var payload={},userSnippets=null,that=this;fileList=fileList.filter(function(a){var b=file.getExt(a);return"json"===b||"js"===b});var reader=(file.readText||file.read).bind(file),next=function(){if(fileList.length){var f=fileList.shift();reader(f,function(err,content){if(err)return logger.log('Unable to read "'+f+'" file: '+err),next();switch(file.getExt(f)){case"js":try{eval(content)}catch(e){logger.log('Unable to eval "'+f+'" file: '+e)}break;case"json":var fileName=getFileName(f).toLowerCase().replace(/\.json$/,"");/^snippets/.test(fileName)?"snippets"===fileName?userSnippets=utils.parseJSON(content):payload.snippets=utils.deepMerge(payload.snippets||{},utils.parseJSON(content)):payload[fileName]=content}next()})}else userSnippets&&(payload.snippets=utils.deepMerge(payload.snippets||{},userSnippets)),that.loadUserData(payload)};next()},loadPreferences:function(a){preferences.load(utils.parseJSON(a))},loadSnippets:function(a){a=utils.parseJSON(a);var b=resources.getVocabulary("user")||{};resources.setVocabulary(utils.deepMerge(b,a),"user")},loadSystemSnippets:function(a){resources.setVocabulary(utils.parseJSON(a),"system")},loadCIU:function(a){ciu.load(utils.parseJSON(a))},resetSnippets:function(){resources.setVocabulary({},"user")},loadUserData:function(a){a=utils.parseJSON(a),a.snippets&&this.loadSnippets(a.snippets),a.preferences&&this.loadPreferences(a.preferences),a.profiles&&this.loadProfiles(a.profiles),a.caniuse&&this.loadCIU(a.caniuse);var b=a.syntaxProfiles||a.syntaxprofiles;b&&this.loadSyntaxProfiles(b)},resetUserData:function(){this.resetSnippets(),preferences.reset(),profile.reset()},loadSyntaxProfiles:function(a){a=utils.parseJSON(a);var b={};Object.keys(a).forEach(function(c){var d=a[c];c in b||(b[c]={}),b[c].profile=normalizeProfile(d)}),this.loadSnippets(b)},loadProfiles:function(a){a=utils.parseJSON(a),Object.keys(a).forEach(function(b){profile.create(b,normalizeProfile(a[b]))})},require:require,actions:actions,parser:parser,file:file,preferences:preferences,resources:resources,profile:profile,tabStops:require("./assets/tabStops"),htmlMatcher:require("./assets/htmlMatcher"),utils:{common:utils,action:require("./utils/action"),editor:require("./utils/editor")}}})},{"./action/main":"action/main.js","./assets/caniuse":"assets/caniuse.js","./assets/htmlMatcher":"assets/htmlMatcher.js","./assets/logger":"assets/logger.js","./assets/preferences":"assets/preferences.js","./assets/profile":"assets/profile.js","./assets/resources":"assets/resources.js","./assets/tabStops":"assets/tabStops.js","./parser/abbreviation":"parser/abbreviation.js","./plugin/file":"plugin/file.js","./utils/action":"utils/action.js","./utils/common":"utils/common.js","./utils/editor":"utils/editor.js"}],"action/balance.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){return a[a.length-1]}function e(a,b){var c=k.outputInfo(a),d=c.content,e=m(a.getSelectionRange());if(p&&!p.range.equal(e)&&(p=null),p&&e.length())if("in"==b){if("tag"==p.type&&!p.close)return!1;if(p.range.equal(p.outerRange))p.range=p.innerRange;else{var f=j.narrowToNonSpace(d,p.innerRange);p=i.find(d,f.start+1),p&&p.range.equal(e)&&p.outerRange.equal(e)&&(p.range=p.innerRange)}}else!p.innerRange.equal(p.outerRange)&&p.range.equal(p.innerRange)&&e.equal(p.range)?p.range=p.outerRange:(p=i.find(d,e.start),p&&p.range.equal(e)&&p.innerRange.equal(e)&&(p.range=p.outerRange));else p=i.find(d,e.start);return p&&(p.innerRange.equal(e)&&(p.range=p.outerRange),!p.range.equal(e))?(a.createSelection(p.range.start,p.range.end),!0):(p=null,!1)}function f(a,b){var c=[a.range(!0)];c.push(a.valueRange(!0));var e=o.nestedSectionsInRule(a),f=a.list();if(f.length||e.length){var g=Number.POSITIVE_INFINITY,h=-1;f.length&&(g=f[0].namePosition(!0),h=d(f).range(!0).end),e.length&&(e[0].start<g&&(g=e[0].start),d(e).end>h&&(h=d(e).end)),c.push(m.create2(g,h))}c=c.concat(e);var i=n.propertyFromPosition(a,b)||f[0];if(i){c.push(i.range(!0));var j=i.valueRange(!0);i.end()||(j._unterminated=!0),c.push(j)}return c}function g(a,b){var c;if("string"==typeof a){var d=o.matchEnclosingRule(a,b);d&&(c=n.parse(d.substring(a),{offset:d.start}))}else c=a;if(!c)return null;var e=f(c,b);return e=e.filter(function(a){return!!a.length}),j.unique(e,function(a){return a.valueOf()})}function h(a,b){var c=k.outputInfo(a),e=c.content,f=m(a.getSelectionRange()),h=g(c.content,f.start);if(!h&&f.length())try{var i=n.parse(f.substring(c.content),{offset:f.start});h=g(i,f.start)}catch(l){}if(!h)return!1;h=m.sort(h,!0);var o=j.find(h,function(a){return a.equal(f)});if(o||(o=j.find(h,function(a){return a._unterminated?a.include(f.start):a.inside(f.start)})),!o)return!1;var p=h.indexOf(o);if(o.equal(f)&&(p+="out"==b?1:-1),0>p||p>=h.length)if(p>=h.length&&"out"==b){pos=o.start-1;var q=g(e,pos);q&&(o=d(q.filter(function(a){return a.inside(pos)})))}else o=null;else o=h[p];return o?(a.createSelection(o.start,o.end),!0):!1}var i=a("../assets/htmlMatcher"),j=a("../utils/common"),k=a("../utils/editor"),l=a("../utils/action"),m=a("../assets/range"),n=a("../editTree/css"),o=a("../utils/cssSections"),p=null;return{balance:function(a,b){b=String((b||"out").toLowerCase());var c=k.outputInfo(a);return l.isSupportedCSS(c.syntax)?h(a,b):e(a,b)},balanceInwardAction:function(a){return this.balance(a,"in")},balanceOutwardAction:function(a){return this.balance(a,"out")},goToMatchingPairAction:function(a){var b=String(a.getContent()),c=a.getCaretPos();"<"==b.charAt(c)&&c++;var d=i.tag(b,c);return d&&d.close?(d.open.range.inside(c)?a.setCaretPos(d.close.range.start):a.setCaretPos(d.open.range.start),!0):!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/range":"assets/range.js","../editTree/css":"editTree/css.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/cssSections":"utils/cssSections.js","../utils/editor":"utils/editor.js"}],"action/base64.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c){return c=c||0,b.charAt(c)==a.charAt(0)&&b.substr(c,a.length)==a}function e(a,b,c){var d=a.getFilePath(),e="application/octet-stream";if(null===d)throw"You should save your file before using this action";var f=g.locateFile(d,b);if(null===f)throw"Can't find "+b+" file";return g.read(f,function(d,j){if(d)throw"Unable to read "+f+": "+d;var k=h.encode(String(j));if(!k)throw"Can't encode file content to base64";k="data:"+(i.mimeTypes[String(g.getExt(f))]||e)+";base64,"+k,a.replaceContent("$0"+k,c,c+b.length)}),!0}function f(a,b,c){var d=String(a.prompt("Enter path to file (absolute or relative)"));if(!d)return!1;var e=g.createPath(a.getFilePath(),d);if(!e)throw"Can't save file";return g.save(e,h.decode(b.replace(/^data\:.+?;.+?,/,""))),a.replaceContent("$0"+d,c,c+b.length),!0}var g=a("../plugin/file"),h=a("../utils/base64"),i=a("../utils/action"),j=a("../utils/editor");return{encodeDecodeDataUrlAction:function(a){var b=String(a.getSelection()),c=a.getCaretPos(),g=j.outputInfo(a);if(!b)for(var h,i=g.content;c-->=0;){if(d("src=",i,c)){(h=i.substr(c).match(/^(src=(["'])?)([^'"<>\s]+)\1?/))&&(b=h[3],c+=h[1].length);break}if(d("url(",i,c)){(h=i.substr(c).match(/^(url\((['"])?)([^'"\)\s]+)\1?/))&&(b=h[3],c+=h[1].length);break}}return b?d("data:",b)?f(a,b,c):e(a,b,c):!1}}})},{"../plugin/file":"plugin/file.js","../utils/action":"utils/action.js","../utils/base64":"utils/base64.js","../utils/editor":"utils/editor.js"}],"action/editPoints.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c){function d(a){for(var b=a;b>=0;){var c=f.charAt(b);if("\n"==c||"\r"==c)break;b--}return f.substring(b,a)}b=b||1,c=c||0;for(var e=a.getCaretPos()+c,f=String(a.getContent()),g=f.length,h=-1,i=/^\s+$/;g>=e&&e>=0;){e+=b;var j=f.charAt(e),k=f.charAt(e+1),l=f.charAt(e-1);switch(j){case'"':case"'":k==j&&"="==l&&(h=e+1);break;case">":"<"==k&&(h=e+1);break;case"\n":case"\r":i.test(d(e-1))&&(h=e)}if(-1!=h)break}return h}return{previousEditPointAction:function(a,b,c){var e=a.getCaretPos(),f=d(a,-1);return f==e&&(f=d(a,-1,-2)),-1!=f?(a.setCaretPos(f),!0):!1},nextEditPointAction:function(a,b,c){var e=d(a,1);return-1!=e?(a.setCaretPos(e),!0):!1}}})},{}],"action/evaluateMath.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){var d=a("../utils/action"),e=a("../utils/common"),f=a("../utils/math"),g=a("../assets/range");return{evaluateMathAction:function(a){var b=a.getContent(),c=".+-*/\\",h=g(a.getSelectionRange());if(h.length()||(h=d.findExpressionBounds(a,function(a){return e.isNumeric(a)||-1!=c.indexOf(a)})),h&&h.length()){var i=h.substring(b);i=i.replace(/([\d\.\-]+)\\([\d\.\-]+)/g,"round($1/$2)");try{var j=e.prettifyNumber(f.evaluate(i));return a.replaceContent(j,h.start,h.end),a.setCaretPos(h.start+j.length),!0}catch(k){}}return!1}}})},{"../assets/range":"assets/range.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/math":"utils/math.js"}],"action/expandAbbreviation.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){var b=f(a.getSelectionRange()),c=String(a.getContent());if(b.length())return b.substring(c);var d=a.getCurrentLineRange();return j.extractAbbreviation(c.substring(d.start,b.start))}var e=a("../assets/handlerList"),f=a("../assets/range"),g=a("../assets/preferences"),h=a("../utils/common"),i=a("../utils/editor"),j=a("../utils/action"),k=a("../resolver/cssGradient"),l=a("../parser/abbreviation"),m=e.create();return m.add(function(a,b,c){var e=a.getSelectionRange().end,f=d(a);if(f){var h=l.expand(f,{syntax:b,profile:c,contextNode:j.captureContext(a)});if(h){var i=e-f.length,k=e,m=g.getArray("css.syntaxes");if(m&&~m.indexOf(b)){var n=a.getContent();";"==n.charAt(e)&&";"==h.charAt(h.length-1)&&k++}return a.replaceContent(h,i,k),!0}}return!1},{order:-1}),m.add(k.expandAbbreviationHandler.bind(k)),{expandAbbreviationAction:function(a,b,c){var d=h.toArray(arguments),e=i.outputInfo(a,b,c);return d[1]=e.syntax,d[2]=e.profile,m.exec(!1,d)},expandAbbreviationWithTabAction:function(a,b,c){var d=a.getSelection(),e=" ";if(d){var g=f(a.getSelectionRange()),i=h.padString(d,e);a.replaceContent(e+"${0}",a.getCaretPos());var j=f(a.getCaretPos(),g.length());return a.replaceContent(i,j.start,j.end,!0),a.createSelection(j.start,j.start+i.length),!0}return this.expandAbbreviationAction(a,b,c)||a.replaceContent(e,a.getCaretPos()),!0},_defaultHandler:function(a,b,c){var d=a.getSelectionRange().end,e=this.findAbbreviation(a);if(e){var f=j.captureContext(a),g=l.expand(e,b,c,f);if(g)return a.replaceContent(g,d-e.length,d),!0}return!1},addHandler:function(a,b){m.add(a,b)},removeHandler:function(a){m.remove(a)},findAbbreviation:d}})},{"../assets/handlerList":"assets/handlerList.js","../assets/preferences":"assets/preferences.js","../assets/range":"assets/range.js","../parser/abbreviation":"parser/abbreviation.js","../resolver/cssGradient":"resolver/cssGradient.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/incrementDecrement.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){return a=a.replace(/^\-/,""),~a.indexOf(".")?a.split(".")[0].length:a.length}var e=a("../utils/common"),f=a("../utils/action");return{increment01Action:function(a){return this.incrementNumber(a,.1)},increment1Action:function(a){return this.incrementNumber(a,1)},increment10Action:function(a){return this.incrementNumber(a,10)},decrement01Action:function(a){return this.incrementNumber(a,-.1)},decrement1Action:function(a){return this.incrementNumber(a,-1)},decrement10Action:function(a){return this.incrementNumber(a,-10)},incrementNumber:function(a,b){var c=!1,g=!1,h=f.findExpressionBounds(a,function(a,b,d){return e.isNumeric(a)?!0:"."==a?e.isNumeric(d.charAt(b+1))?g?!1:g=!0:!1:"-"==a?c?!1:c=!0:!1});if(h&&h.length()){var i=h.substring(String(a.getContent())),j=parseFloat(i);if(!isNaN(j)){if(j=e.prettifyNumber(j+b),/^(\-?)0+[1-9]/.test(i)){var k="";RegExp.$1&&(k="-",j=j.substring(1));var l=j.split(".");l[0]=e.zeroPadString(l[0],d(i)),j=k+l.join(".")}return a.replaceContent(j,h.start,h.end),a.createSelection(h.start,h.start+j.length),!0}}return!1}}})},{"../utils/action":"utils/action.js","../utils/common":"utils/common.js"}],"action/lineBreaks.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){var d=a("../assets/preferences"),e=a("../utils/common"),f=(a("../assets/resources"),a("../assets/htmlMatcher")),g=a("../utils/editor"),h=["html","xml","xsl"];return d.define("css.closeBraceIndentation","\n","Indentation before closing brace of CSS rule. Some users prefere indented closing brace of CSS rule for better readability. This preference’s value will be automatically inserted before closing brace when user adds newline in newly created CSS rule (e.g. when “Insert formatted linebreak” action will be performed in CSS file). If you’re such user, you may want to write put a value like <code>\\n\\t</code> in this preference."),{insertLineBreakAction:function(a){if(!this.insertLineBreakOnlyAction(a)){for(var b,c=g.getCurrentLinePadding(a),d=String(a.getContent()),e=a.getCaretPos(),f=d.length,h="\n",i=a.getCurrentLineRange(),j="",k=i.end+1;f>k&&(b=d.charAt(k)," "==b||" "==b);k++)j+=b;j.length>c.length?a.replaceContent(h+j,e,e,!0):a.replaceContent(h,e)}return!0},insertLineBreakOnlyAction:function(a){var b=g.outputInfo(a),c=a.getCaretPos(),i="\n",j=" ";if(~h.indexOf(b.syntax)){var k=f.tag(b.content,c);if(k&&!k.innerRange.length())return a.replaceContent(i+j+e.getCaretPlaceholder()+i,c),!0}else if("css"==b.syntax){var l=b.content;if(c&&"{"==l.charAt(c-1)){var m=d.get("css.closeBraceIndentation"),n="}"==l.charAt(c);if(!n)for(var o,p=c,q=l.length;q>p&&(o=l.charAt(p),"{"!=o);p++)if("}"==o){m="",n=!0;break}n||(m+="}");var r=i+j+e.getCaretPlaceholder()+m;return a.replaceContent(r,c),!0}}return!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/preferences":"assets/preferences.js","../assets/resources":"assets/resources.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/main.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c){a=a.toLowerCase(),c=c||{},"string"==typeof c&&(c={label:c}),c.label||(c.label=e(a)),g[a]={name:a,fn:b,options:c}}function e(a){return f.trim(a.charAt(0).toUpperCase()+a.substring(1).replace(/_[a-z]/g,function(a){return" "+a.charAt(1).toUpperCase()}))}var f=a("../utils/common"),g={},h={base64:a("./base64"),editPoints:a("./editPoints"),evaluateMath:a("./evaluateMath"),expandAbbreviation:a("./expandAbbreviation"),incrementDecrement:a("./incrementDecrement"),lineBreaks:a("./lineBreaks"),balance:a("./balance"),mergeLines:a("./mergeLines"),reflectCSSValue:a("./reflectCSSValue"),removeTag:a("./removeTag"),selectItem:a("./selectItem"),selectLine:a("./selectLine"),splitJoinTag:a("./splitJoinTag"),toggleComment:a("./toggleComment"),updateImageSize:a("./updateImageSize"),wrapWithAbbreviation:a("./wrapWithAbbreviation"),updateTag:a("./updateTag")},i=function(a,b){var c=h[a];return c[b].bind(c)};return d("encode_decode_data_url",i("base64","encodeDecodeDataUrlAction"),"Encode\\Decode data:URL image"),d("prev_edit_point",i("editPoints","previousEditPointAction"),"Previous Edit Point"),d("next_edit_point",i("editPoints","nextEditPointAction"),"Next Edit Point"),d("evaluate_math_expression",i("evaluateMath","evaluateMathAction"),"Numbers/Evaluate Math Expression"),d("expand_abbreviation_with_tab",i("expandAbbreviation","expandAbbreviationWithTabAction"),{hidden:!0}),d("expand_abbreviation",i("expandAbbreviation","expandAbbreviationAction"),"Expand Abbreviation"),d("insert_formatted_line_break_only",i("lineBreaks","insertLineBreakOnlyAction"),{hidden:!0}),d("insert_formatted_line_break",i("lineBreaks","insertLineBreakAction"),{hidden:!0}),d("balance_inward",i("balance","balanceInwardAction"),"Balance (inward)"),d("balance_outward",i("balance","balanceOutwardAction"),"Balance (outward)"),d("matching_pair",i("balance","goToMatchingPairAction"),"HTML/Go To Matching Tag Pair"),d("merge_lines",i("mergeLines","mergeLinesAction"),"Merge Lines"),d("reflect_css_value",i("reflectCSSValue","reflectCSSValueAction"),"CSS/Reflect Value"),d("remove_tag",i("removeTag","removeTagAction"),"HTML/Remove Tag"),d("select_next_item",i("selectItem","selectNextItemAction"),"Select Next Item"),d("select_previous_item",i("selectItem","selectPreviousItemAction"),"Select Previous Item"),d("split_join_tag",i("splitJoinTag","splitJoinTagAction"),"HTML/Split\\Join Tag Declaration"),d("toggle_comment",i("toggleComment","toggleCommentAction"),"Toggle Comment"),d("update_image_size",i("updateImageSize","updateImageSizeAction"),"Update Image Size"),d("wrap_with_abbreviation",i("wrapWithAbbreviation","wrapWithAbbreviationAction"),"Wrap With Abbreviation"),d("update_tag",i("updateTag","updateTagAction"),"HTML/Update Tag"),[1,-1,10,-10,.1,-.1].forEach(function(a){var b=a>0?"increment":"decrement",c=String(Math.abs(a)).replace(".","").substring(0,2),e=b+"_number_by_"+c,f=b+c+"Action",g="Numbers/"+b.charAt(0).toUpperCase()+b.substring(1)+" number by "+Math.abs(a);d(e,i("incrementDecrement",f),g)}),{add:d,get:function(a){return g[a.toLowerCase()]},run:function(a,b){Array.isArray(b)||(b=f.toArray(arguments,1));var c=this.get(a);if(!c)throw new Error('Action "'+a+'" is not defined');return c.fn.apply(c,b)},getAll:function(){return g},getList:function(){var a=this.getAll();return Object.keys(a).map(function(b){return a[b]})},getMenu:function(a){var b=[];return a=a||[],this.getList().forEach(function(c){if(!c.options.hidden&&!~a.indexOf(c.name)){var d=e(c.name),g=b;if(c.options.label){var h=c.options.label.split("/");d=h.pop();for(var i,j;i=h.shift();)j=f.find(g,function(a){return"submenu"==a.type&&a.name==i}),j||(j={name:i,type:"submenu",items:[]},g.push(j)),g=j.items}g.push({type:"action",name:c.name,label:d})}}),b},getActionNameForMenuTitle:function(a,b){return f.find(b||this.getMenu(),function(b){return"action"!=b.type?this.getActionNameForMenuTitle(a,b.items):b.label==a||b.name==a?b.name:void 0},this)}}})},{"../utils/common":"utils/common.js","./balance":"action/balance.js","./base64":"action/base64.js","./editPoints":"action/editPoints.js","./evaluateMath":"action/evaluateMath.js","./expandAbbreviation":"action/expandAbbreviation.js","./incrementDecrement":"action/incrementDecrement.js","./lineBreaks":"action/lineBreaks.js","./mergeLines":"action/mergeLines.js","./reflectCSSValue":"action/reflectCSSValue.js","./removeTag":"action/removeTag.js","./selectItem":"action/selectItem.js","./selectLine":"action/selectLine.js","./splitJoinTag":"action/splitJoinTag.js","./toggleComment":"action/toggleComment.js","./updateImageSize":"action/updateImageSize.js","./updateTag":"action/updateTag.js","./wrapWithAbbreviation":"action/wrapWithAbbreviation.js"}],"action/mergeLines.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){var d=a("../assets/htmlMatcher"),e=a("../utils/common"),f=a("../utils/editor"),g=a("../assets/range");return{mergeLinesAction:function(a){var b=f.outputInfo(a),c=g(a.getSelectionRange());if(!c.length()){var h=d.find(b.content,a.getCaretPos());h&&(c=h.outerRange)}if(c.length()){for(var i=c.substring(b.content),j=e.splitByLines(i),k=1;k<j.length;k++)j[k]=j[k].replace(/^\s+/,"");i=j.join("").replace(/\s{2,}/," ");var l=i.length;return i=e.escapeText(i),a.replaceContent(i,c.start,c.end),a.createSelection(c.start,c.start+l),!0}return!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/range":"assets/range.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/reflectCSSValue.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){var b=o.outputInfo(a),c=a.getCaretPos(),d=l.parseFromPosition(b.content,c);if(d){var e=d.itemFromPosition(c,!0);if(e){var f=d.source,g=d.options.offset,h=c-g-e.range().start;return q.exec(!1,[e]),f!==d.source?{data:d.source,start:g,end:g+f.length,caret:g+e.range().start+h}:void 0}}}function e(a){a=l.baseName(a);var b,c="^(?:\\-\\w+\\-)?";return"opacity"!=a&&"filter"!=a||!j.get("css.reflect.oldIEOpacity")?(b=a.match(/^border-radius-(top|bottom)(left|right)/))?new RegExp(c+"(?:"+a+"|border-"+b[1]+"-"+b[2]+"-radius)$"):(b=a.match(/^border-(top|bottom)-(left|right)-radius/))?new RegExp(c+"(?:"+a+"|border-radius-"+b[1]+b[2]+")$"):new RegExp(c+a+"$"):new RegExp(c+"(?:opacity|filter)$")}function f(a,b){var c=/^\-(\w+)\-/,d=c.test(a)?RegExp.$1.toLowerCase():"",e=l.findParts(b);return e.reverse(),e.forEach(function(a){var e=a.substring(b).replace(c,""),f=k.vendorPrefixes(e);f&&(d&&~f.indexOf(d)&&(e="-"+d+"-"+e),b=m.replaceSubstring(b,e,a))}),b}function g(a,b){var c=h(a.name(),a.value(),b.name(),b.value());c=f(b.name(),c),b.value(c)}function h(a,b,c,d){if(a=l.baseName(a),c=l.baseName(c),"opacity"==a&&"filter"==c)return d.replace(/opacity=[^)]*/i,"opacity="+Math.floor(100*parseFloat(b)));if("filter"==a&&"opacity"==c){var e=b.match(/opacity=([^)]*)/i);return e?m.prettifyNumber(parseInt(e[1],10)/100):d}return b}var i=a("../assets/handlerList"),j=a("../assets/preferences"),k=a("../resolver/css"),l=a("../editTree/css"),m=a("../utils/common"),n=a("../utils/action"),o=a("../utils/editor"),p=a("../resolver/cssGradient");j.define("css.reflect.oldIEOpacity",!1,"Support IE6/7/8 opacity notation, e.g. <code>filter:alpha(opacity=...)</code>. Note that CSS3 and SVG also provides <code>filter</code> property so this option is disabled by default.");var q=i.create();return c=c||{},c.exports={reflectCSSValueAction:function(a){return"css"!=a.getSyntax()?!1:n.compoundUpdate(a,d(a))},_defaultHandler:function(a){var b=e(a.name());a.parent.list().forEach(function(c){b.test(c.name())&&g(a,c)})},addHandler:function(a,b){q.add(a,b)},removeHandler:function(a){q.remove(a)}},q.add(c.exports._defaultHandler.bind(c.exports),{order:-1}),q.add(p.reflectValueHandler.bind(p)),c.exports})},{"../assets/handlerList":"assets/handlerList.js","../assets/preferences":"assets/preferences.js","../editTree/css":"editTree/css.js","../resolver/css":"resolver/css.js","../resolver/cssGradient":"resolver/cssGradient.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/removeTag.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){var d=a("../utils/common"),e=a("../utils/editor"),f=a("../assets/htmlMatcher");return{removeTagAction:function(a){var b=e.outputInfo(a),c=f.tag(b.content,a.getCaretPos());if(c){if(c.close){var g=d.narrowToNonSpace(b.content,c.innerRange),h=d.findNewlineBounds(b.content,g.start),i=d.getLinePadding(h.substring(b.content)),j=g.substring(b.content);j=d.unindentString(j,i),a.replaceContent(d.getCaretPlaceholder()+d.escapeText(j),c.outerRange.start,c.outerRange.end)}else a.replaceContent(d.getCaretPlaceholder(),c.range.start,c.range.end);return!0}return!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/selectItem.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c,d){for(var e,f,g=v.outputInfo(a).content,h=g.length,i=t(-1,0),j=t(a.getSelectionRange()),k=j.start,l=1e5;k>=0&&h>k&&--l>0;){if(e=c(g,k,b)){if(i.equal(e))break;if(i=e.clone(),f=d(e.substring(g),e.start,j.clone()))return a.createSelection(f.start,f.end),!0;k=b?e.start:e.end-1}k+=b?-1:1}return!1}function e(a){var b=!0;return d(a,!1,function(a,c){return b?(b=!1,j(a,c)):k(a,c)},function(a,b,c){return i(a,b,c,!1)})}function f(a){return d(a,!0,k,function(a,b,c){return i(a,b,c,!0)})}function g(a,b,c){c=c||0;var d,e,f=[],g=-1,i="",j="";return b.forEach(function(b){switch(b.type){case"tag":e=a.substring(b.start,b.end),/^<[\w\:\-]/.test(e)&&f.push(t({start:b.start+1,end:b.end}));break;case"attribute":g=b.start,i=a.substring(b.start,b.end);break;case"string":f.push(t(g,b.end-g)),d=t(b),j=d.substring(a),l(j.charAt(0))&&d.start++,l(j.charAt(j.length-1))&&d.end--,f.push(d),"class"==i&&(f=f.concat(h(d.substring(a),d.start)))}}),f=f.filter(function(a){return a.length()?(a.shift(c),!0):void 0}),u.unique(f,function(a){return a.toString()})}function h(a,b){b=b||0;var c=[],d=x.create(a);d.eatSpace(),d.start=d.pos;for(var e;e=d.next();)/[\s\u00a0]/.test(e)&&(c.push(t(d.start+b,d.pos-d.start-1)),d.eatSpace(),d.start=d.pos);return c.push(t(d.start+b,d.pos-d.start)),c}function i(a,b,c,d){var e=g(a,y.parse(a),b);d&&e.reverse();var f=u.find(e,function(a){return a.equal(c)});if(f){var h=e.indexOf(f);return h<e.length-1?e[h+1]:null}if(d)return u.find(e,function(a){return a.start<c.start});if(!f){var i=e.filter(function(a){return a.inside(c.end)});if(i.length>1)return i[1]}return u.find(e,function(a){return a.end>c.end})}function j(a,b){for(var c;b>=0;){if(c=k(a,b))return c;b--}return null}function k(a,b){var c;return"<"==a.charAt(b)&&(c=a.substring(b,a.length).match(B))?t(b,c[0]):void 0}function l(a){return'"'==a||"'"==a}function m(a){var b=[a.nameRange(!0)],c=A.nestedSectionsInRule(a);return c.forEach(function(a){b.push(t.create2(a.start,a._selectorEnd))}),a.list().forEach(function(a){b=b.concat(n(a))}),b=t.sort(b),b=b.filter(function(a){return!!a.length()}),u.unique(b,function(a){return a.toString()})}function n(a){var b=a.valueRange(!0),c=[a.range(!0),b],d=a.value();return a.valueParts().forEach(function(a){var e=a.clone();c.push(e.shift(b.start));var f=x.create(a.substring(d));if(f.match(/^[\w\-]+\(/,!0)){f.start=f.pos,f.backUp(1),f.skipToPair("(",")"),f.backUp(1);var g=f.current();c.push(t(e.start+f.start,g)),z.findParts(g).forEach(function(a){c.push(t(e.start+f.start+a.start,a.substring(g)))})}}),c}function o(a,b,c){var d=m(a);c&&d.reverse();var e=u.find(d,function(a){return a.equal(b)});if(e)return d[d.indexOf(e)+1];var f=d.filter(function(a){return a.inside(b.end)});if(f.length)return f.sort(function(a,b){return a.length()-b.length()})[0];e=u.find(d,c?function(a){return a.end<b.start}:function(a){return a.end>b.start});return e||(e=d[0]),e}function p(a){return d(a,!1,A.locateRule.bind(A),r)}function q(a){return d(a,!0,A.locateRule.bind(A),s)}function r(a,b,c){var d=z.parse(a,{offset:b});return o(d,c,!1)}function s(a,b,c){var d=z.parse(a,{offset:b});return o(d,c,!0)}var t=a("../assets/range"),u=a("../utils/common"),v=a("../utils/editor"),w=a("../utils/action"),x=a("../assets/stringStream"),y=a("../parser/xml"),z=a("../editTree/css"),A=a("../utils/cssSections"),B=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;return{selectNextItemAction:function(a){return w.isSupportedCSS(a.getSyntax())?p(a):e(a)},selectPreviousItemAction:function(a){return w.isSupportedCSS(a.getSyntax())?q(a):f(a)}}})},{"../assets/range":"assets/range.js","../assets/stringStream":"assets/stringStream.js","../editTree/css":"editTree/css.js","../parser/xml":"parser/xml.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/cssSections":"utils/cssSections.js","../utils/editor":"utils/editor.js"}],"action/selectLine.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){return{selectLineAction:function(a){var b=a.getCurrentLineRange();return a.createSelection(b.start,b.end),!0}}})},{}],"action/splitJoinTag.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c){var d=b.selfClosing()||" /",e=c.open.range.substring(c.source).replace(/\s*>$/,d+">"),g=a.getCaretPos();return e.length+c.outerRange.start<g&&(g=e.length+c.outerRange.start),e=f.escapeText(e),a.replaceContent(e,c.outerRange.start,c.outerRange.end),a.setCaretPos(g),!0}function e(a,b,c){var d=a.getCaretPos(),e=b.tag_nl===!0?"\n \n":"",g=c.outerContent().replace(/\s*\/>$/,">");return d=c.outerRange.start+g.length,g+=e+"</"+c.open.name+">",g=f.escapeText(g),a.replaceContent(g,c.outerRange.start,c.outerRange.end),a.setCaretPos(d),!0}var f=a("../utils/common"),g=(a("../assets/resources"),a("../assets/htmlMatcher")),h=a("../utils/editor"),i=a("../assets/profile");return{splitJoinTagAction:function(a,b){var c=h.outputInfo(a,null,b),f=i.get(c.profile),j=g.tag(c.content,a.getCaretPos());return j?j.close?d(a,f,j):e(a,f,j):!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/profile":"assets/profile.js","../assets/resources":"assets/resources.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/toggleComment.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){var b=j(a.getSelectionRange()),c=m.outputInfo(a);if(!b.length()){var d=n.tag(c.content,a.getCaretPos());d&&(b=d.outerRange)}return h(a,"<!--","-->",b)}function e(a){var b=j(a.getSelectionRange()),c=m.outputInfo(a);if(!b.length()){var d=o.parseFromPosition(c.content,a.getCaretPos());if(d){var e=f(d,a.getCaretPos());b=e?e.range(!0):j(d.nameRange(!0).start,d.source)}}return b.length()||(b=j(a.getCurrentLineRange()),k.narrowToNonSpace(c.content,b)),h(a,"/*","*/",b)}function f(a,b){var c=b-(a.options.offset||0),d=/^[\s\n\r]/;return k.find(a.list(),function(b){return b.range().end===c?d.test(a.source.charAt(c)):b.range().inside(c)})}function g(a,b,c,d){for(var e=-1,f=-1,g=function(b,c){return a.substr(c,b.length)==b};b--;)if(g(c,b)){e=b;break}if(-1!=e){b=e;for(var h=a.length;h>=b++;)if(g(d,b)){ f=b+d.length;break}}return-1!=e&&-1!=f?j(e,f-e):null}function h(a,b,c,d){function e(a){return a.replace(new RegExp("^"+k.escapeForRegexp(b)+"\\s*"),function(a){return h-=a.length,""}).replace(new RegExp("\\s*"+k.escapeForRegexp(c)+"$"),"")}var f=m.outputInfo(a).content,h=a.getCaretPos(),i=null,j=g(f,h,b,c);return j&&j.overlap(d)?(d=j,i=e(d.substring(f))):(i=b+" "+d.substring(f).replace(new RegExp(k.escapeForRegexp(b)+"\\s*|\\s*"+k.escapeForRegexp(c),"g"),"")+" "+c,h+=b.length+1),null!==i?(i=k.escapeText(i),a.setCaretPos(d.start),a.replaceContent(m.unindent(a,i),d.start,d.end),a.setCaretPos(h),!0):!1}var i=a("../assets/preferences"),j=a("../assets/range"),k=a("../utils/common"),l=a("../utils/action"),m=a("../utils/editor"),n=a("../assets/htmlMatcher"),o=a("../editTree/css");return{toggleCommentAction:function(a){var b=m.outputInfo(a);if(l.isSupportedCSS(b.syntax)){var c=a.getCaretPos(),f=n.tag(b.content,c);f&&f.open.range.inside(c)&&(b.syntax="html")}var g=i.getArray("css.syntaxes");return~g.indexOf(b.syntax)?e(a):d(a)}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/preferences":"assets/preferences.js","../assets/range":"assets/range.js","../editTree/css":"editTree/css.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/updateImageSize.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){var b=a.getCaretPos(),c=h.outputInfo(a),d=j.parseFromPosition(c.content,b,!0);d&&"img"==(d.name()||"").toLowerCase()&&f(a,d.value("src"),function(c){if(c){var e=d.range(!0);d.value("width",c.width),d.value("height",c.height,d.indexOf("width")+1),i.compoundUpdate(a,g.extend(e,{data:d.toString(),caret:b}))}})}function e(a){var b=a.getCaretPos(),c=h.outputInfo(a),d=k.parseFromPosition(c.content,b,!0);if(d){var e,j=d.itemFromPosition(b,!0);j&&(e=/url\((["']?)(.+?)\1\)/i.exec(j.value()||""))&&f(a,e[2],function(c){if(c){var e=d.range(!0);d.value("width",c.width+"px"),d.value("height",c.height+"px",d.indexOf("width")+1),i.compoundUpdate(a,g.extend(e,{data:d.toString(),caret:b}))}})}}function f(a,b,c){var d;if(b){if(/^data:/.test(b))return d=l.decode(b.replace(/^data\:.+?;.+?,/,"")),c(i.getImageSize(d));var e=m.locateFile(a.getFilePath(),b);if(null===e)throw"Can't find "+b+" file";m.read(e,function(a,b){if(a)throw"Unable to read "+e+": "+a;b=String(b),c(i.getImageSize(b))})}}var g=a("../utils/common"),h=a("../utils/editor"),i=a("../utils/action"),j=a("../editTree/xml"),k=a("../editTree/css"),l=a("../utils/base64"),m=a("../plugin/file");return{updateImageSizeAction:function(a){return i.isSupportedCSS(a.getSyntax())?e(a):d(a),!0}}})},{"../editTree/css":"editTree/css.js","../editTree/xml":"editTree/xml.js","../plugin/file":"plugin/file.js","../utils/action":"utils/action.js","../utils/base64":"utils/base64.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/updateTag.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b,c){var d=(b.attribute("class")||"").split(/\s+/g);c&&d.push("+"+b.name());var e=function(a){return g.replaceCounter(a,b.counter)};d.forEach(function(b){if(b){b=e(b);var c=b.charAt(0);"+"==c?a.addClass(b.substr(1)):"-"==c?a.removeClass(b.substr(1)):a.value("class",b)}}),b.attributeList().forEach(function(b){if("class"!=b.name.toLowerCase()){var c=b.name.charAt(0);if("+"==c){var d=b.name.substr(1),f=a.get(d);f?f.value(f.value()+e(b.value)):a.value(d,e(b.value))}else"-"==c?a.remove(b.name.substr(1)):a.value(b.name,e(b.value))}})}var e=a("../editTree/xml"),f=(a("../utils/editor"),a("../utils/action")),g=a("../utils/common"),h=a("../parser/abbreviation");return{updateTagAction:function(a,b){if(b=b||a.prompt("Enter abbreviation"),!b)return!1;var c=a.getContent(),d=f.captureContext(a),e=this.getUpdatedTag(b,d,c);return e?(e.name()!=d.name&&d.match.close&&a.replaceContent("</"+e.name()+">",d.match.close.range.start,d.match.close.range.end,!0),a.replaceContent(e.source,d.match.open.range.start,d.match.open.range.end,!0),!0):!1},getUpdatedTag:function(a,b,c,f){if(!b)return null;var g=h.parse(a,f||{}),i=e.parse(b.match.open.range.substring(c),{offset:b.match.outerRange.start});g.children.forEach(function(a,b){d(i,a,b)});var j=g.children[0];return j.data("nameResolved")||i.name(j.name()),i}}})},{"../editTree/xml":"editTree/xml.js","../parser/abbreviation":"parser/abbreviation.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"action/wrapWithAbbreviation.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){var d=a("../assets/range"),e=a("../assets/htmlMatcher"),f=a("../utils/common"),g=a("../utils/editor"),h=a("../utils/action"),i=a("../parser/abbreviation");return{wrapWithAbbreviationAction:function(a,b,c,j){var k=g.outputInfo(a,c,j);if(b=b||a.prompt("Enter abbreviation"),!b)return null;b=String(b);var l=d(a.getSelectionRange());if(!l.length()){var m=e.tag(k.content,l.start);if(!m)return!1;l=f.narrowToNonSpace(k.content,m.range)}var n=f.escapeText(l.substring(k.content)),o=i.expand(b,{pastedContent:g.unindent(a,n),syntax:k.syntax,profile:k.profile,contextNode:h.captureContext(a)});return o?(a.replaceContent(o,l.start,l.end),!0):!1}}})},{"../assets/htmlMatcher":"assets/htmlMatcher.js","../assets/range":"assets/range.js","../parser/abbreviation":"parser/abbreviation.js","../utils/action":"utils/action.js","../utils/common":"utils/common.js","../utils/editor":"utils/editor.js"}],"assets/caniuse.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function e(a,b){var c=[],d=a,e=b;return d.length>e.length&&(d=b,e=a),e.forEach(function(a){~d.indexOf(a)&&c.push(a)}),c}function f(a,b){"string"==typeof a&&(a=JSON.parse(a)),b||(a=g(a)),q=a.vendors,p=a.css,r=a.era}function g(a){return"string"==typeof a&&(a=JSON.parse(a)),{vendors:h(a),css:i(a),era:j(a)}}function h(a){var b={};return Object.keys(a.agents).forEach(function(c){var d=a.agents[c];b[c]={prefix:d.prefix,versions:d.versions}}),b}function i(a){var b={};a.cats.CSS;return Object.keys(a.data).forEach(function(c){var d=a.data[c];c in o&&o[c].forEach(function(a){b[a]=d.stats})}),b}function j(a){return Object.keys(a.eras).sort(function(a,b){return parseInt(a.substr(1))-parseInt(b.substr(1))})}function k(){var a=Object.keys(q),b=m.getArray("caniuse.vendors");return b&&"all"!=b[0]?e(a,b):a}function l(){var a=m.get("caniuse.era"),b=r.indexOf(a);return~b||(b=r.indexOf("e-2")),b}var m=a("./preferences"),n=a("../utils/common");m.define("caniuse.enabled",!0,"Enable support of Can I Use database. When enabled, CSS abbreviation resolver will look at Can I Use database first before detecting CSS properties that should be resolved"),m.define("caniuse.vendors","all","A comma-separated list vendor identifiers (as described in Can I Use database) that should be supported when resolving vendor-prefixed properties. Set value to <code>all</code> to support all available properties"),m.define("caniuse.era","e-2","Browser era, as defined in Can I Use database. Examples: <code>e0</code> (current version), <code>e1</code> (near future) <code>e-2</code> (2 versions back) and so on.");var o={"border-image":["border-image"],"css-boxshadow":["box-shadow"],"css3-boxsizing":["box-sizing"],multicolumn:["column-width","column-count","columns","column-gap","column-rule-color","column-rule-style","column-rule-width","column-rule","column-span","column-fill"],"border-radius":["border-radius","border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],transforms2d:["transform"],"css-hyphens":["hyphens"],"css-transitions":["transition","transition-property","transition-duration","transition-timing-function","transition-delay"],"font-feature":["font-feature-settings"],"css-animation":["animation","animation-name","animation-duration","animation-timing-function","animation-iteration-count","animation-direction","animation-play-state","animation-delay","animation-fill-mode","@keyframes"],"css-gradients":["linear-gradient"],"css-masks":["mask-image","mask-source-type","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask","mask-type","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat","mask-box-image","clip-path","clip-rule"],"css-featurequeries":["@supports"],flexbox:["flex","inline-flex","flex-direction","flex-wrap","flex-flow","order","flex"],calc:["calc"],"object-fit":["object-fit","object-position"],"css-grid":["grid","inline-grid","grid-template-rows","grid-template-columns","grid-template-areas","grid-template","grid-auto-rows","grid-auto-columns"," grid-auto-flow","grid-auto-position","grid"," grid-row-start","grid-column-start","grid-row-end","grid-column-end","grid-column","grid-row","grid-area","justify-self","justify-items","align-self","align-items"],"css-repeating-gradients":["repeating-linear-gradient"],"css-filters":["filter"],"user-select-none":["user-select"],"intrinsic-width":["min-content","max-content","fit-content","fill-available"],"css3-tabsize":["tab-size"]},p=null,q=null,r=null,s=null;return function(a){if("undefined"==typeof d||!d.amd)try{var b=a("fs"),c=a("path");s=b.readFileSync(c.join(__dirname,"../caniuse.json"),{encoding:"utf8"})}catch(e){}}(a),s&&f(s),{load:f,optimize:g,resolvePrefixes:function(a){if(!(m.get("caniuse.enabled")&&p&&a in p))return null;var b=[],c=p[a],d=l();return k().forEach(function(a){for(var e,f=q[a].versions.slice(d),g=0;g<f.length;g++)if(e=f[g],e&&~c[a][e].indexOf("x")){b.push(q[a].prefix);break}}),n.unique(b).sort(function(a,b){return b.length-a.length})}}})},{"../utils/common":"utils/common.js","./preferences":"assets/preferences.js"}],"assets/elements.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){return{data:a}}var e={},f=/([@\!]?)([\w\-:]+)\s*=\s*(['"])(.*?)\3/g;return c=c||{},c.exports={add:function(a,b){var c=this;e[a]=function(){var d=b.apply(c,arguments);return d&&(d.type=a),d}},get:function(a){return e[a]},create:function(a){var b=[].slice.call(arguments,1),c=this.get(a);return c?c.apply(this,b):null},is:function(a,b){return this.type(a)===b},type:function(a){return a&&a.type}},c.exports.add("element",function(a,b,c){var d={name:a,is_empty:!!c};if(b)if(d.attributes=[],Array.isArray(b))d.attributes=b;else if("string"==typeof b)for(var e;e=f.exec(b);)d.attributes.push({name:e[2],value:e[4],isDefault:"@"==e[1],isImplied:"!"==e[1]});else d.attributes=Object.keys(b).map(function(a){return{name:a,value:b[a]}});return d}),c.exports.add("snippet",d),c.exports.add("reference",d),c.exports.add("empty",function(){return{}}),c.exports})},{}],"assets/handlerList.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(){this._list=[]}var e=a("../utils/common");return d.prototype={add:function(a,b){var c=this._list.length;b&&"order"in b&&(c=1e4*b.order),this._list.push(e.extend({},b,{order:c,fn:a}))},remove:function(a){var b=e.find(this._list,function(b){return b.fn===a});b&&this._list.splice(this._list.indexOf(b),1)},list:function(){return this._list.sort(function(a,b){return b.order-a.order})},listFn:function(){return this.list().map(function(a){return a.fn})},exec:function(a,b){b=b||[];var c=null;return e.find(this.list(),function(d){return c=d.fn.apply(d,b),c!==a?!0:void 0}),c}},{create:function(){return new d}}})},{"../utils/common":"utils/common.js"}],"assets/htmlMatcher.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a,b){return{name:b[1],selfClose:!!b[3],range:j(a,b[0]),type:"open"}}function e(a,b){return{name:b[1],range:j(a,b[0]),type:"close"}}function f(a,b){return{range:j(a,"number"==typeof b?b-a:b[0]),type:"comment"}}function g(a){var b,c={};return{open:function(a){var b=this.matches(a);return b&&"open"==b.type?b:null},close:function(a){var b=this.matches(a);return b&&"close"==b.type?b:null},matches:function(f){var g="p"+f;if(!(g in c)&&(c[g]=!1,"<"==a.charAt(f))){var h=a.slice(f);(b=h.match(k))?c[g]=d(f,b):(b=h.match(l))&&(c[g]=e(f,b))}return c[g]},text:function(){return a},clean:function(){c=a=b=null}}}function h(a,b,c){return a.substring(b,b+c.length)==c}function i(a,b){for(var c=[],d=null,e=b.text(),f=a.range.end,g=e.length;g>f;f++){if(h(e,f,"<!--"))for(var i=f;g>i;i++)if(h(e,i,"-->")){f=i+3;break}if(d=b.matches(f)){if("open"!=d.type||d.selfClose){if("close"==d.type){if(!c.length)return d.name==a.name?d:null;if(c[c.length-1]==d.name)c.pop();else{for(var j=!1;c.length&&!j;){var k=c.pop();k==d.name&&(j=!0)}if(!c.length&&!j)return d.name==a.name?d:null}}}else c.push(d.name);f=d.range.end-1}}}var j=a("./range"),k=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,l=/^<\/([\w\:\-]+)[^>]*>/;return{find:function(a,b){for(var c,d,e=g(a),k=null,l=null,m=b;m>=0;m--)if(k=e.open(m)){if(k.selfClose){if(k.range.cmp(b,"lt","gt"))break;continue}if(l=i(k,e)){var n=j.create2(k.range.start,l.range.end);if(n.contains(b))break}else if(k.range.contains(b))break;k=null}else if(h(a,m,"-->")){for(c=m-1;c>=0&&!h(a,c,"-->");c--)if(h(a,c,"<!--")){m=c;break}}else if(h(a,m,"<!--")){for(c=m+4,d=a.length;d>c;c++)if(h(a,c,"-->")){c+=3;break}k=f(m,c);break}if(e.clean(),k){var o=null,p=null;if(l?(o=j.create2(k.range.start,l.range.end),p=j.create2(k.range.end,l.range.start)):o=p=j.create2(k.range.start,k.range.end),"comment"==k.type){var q=o.substring(a);p.start+=q.length-q.replace(/^<\!--\s*/,"").length,p.end-=q.length-q.replace(/\s*-->$/,"").length}return{open:k,close:l,type:"comment"==k.type?"comment":"tag",innerRange:p,innerContent:function(){return this.innerRange.substring(a)},outerRange:o,outerContent:function(){return this.outerRange.substring(a)},range:p.length()&&p.cmp(b,"lte","gte")?p:o,content:function(){return this.range.substring(a)},source:a}}},tag:function(a,b){var c=this.find(a,b);return c&&"tag"==c.type?c:void 0}}})},{"./range":"assets/range.js"}],"assets/logger.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){return{log:function(){"undefined"!=typeof console&&console.log&&console.log.apply(console,arguments)}}})},{}],"assets/preferences.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){return"string"==typeof a?(a=a.toLowerCase(),"yes"==a||"true"==a||"1"==a):!!a}function e(a){return"object"==typeof a&&!Array.isArray(a)&&"value"in a&&Object.keys(a).length<3}var f=a("../utils/common"),g={},h={},i=null,j=null;return{define:function(a,b,c){var d=a;"string"==typeof a&&(d={},d[a]={value:b,description:c}),Object.keys(d).forEach(function(a){var b=d[a];h[a]=e(b)?b:{value:b}})},set:function(a,b){var c=a;"string"==typeof a&&(c={},c[a]=b),Object.keys(c).forEach(function(a){var b=c[a];if(!(a in h))throw new Error('Property "'+a+'" is not defined. You should define it first with `define` method of current module');if(b!==h[a].value){switch(typeof h[a].value){case"boolean":b=d(b);break;case"number":b=parseInt(b+"",10)||0;break;default:null!==b&&(b+="")}g[a]=b}else a in g&&delete g[a]})},get:function(a){return a in g?g[a]:a in h?h[a].value:void 0},getArray:function(a){var b=this.get(a);return"undefined"==typeof b||null===b||""===b?null:(b=b.split(",").map(f.trim),b.length?b:null)},getDict:function(a){var b={};return this.getArray(a).forEach(function(a){var c=a.split(":");b[c[0]]=c[1]}),b},description:function(a){return a in h?h[a].description:void 0},remove:function(a){Array.isArray(a)||(a=[a]),a.forEach(function(a){a in g&&delete g[a],a in h&&delete h[a]})},list:function(){return Object.keys(h).sort().map(function(a){return{name:a,value:this.get(a),type:typeof h[a].value,description:h[a].description}},this)},load:function(a){Object.keys(a).forEach(function(b){this.set(b,a[b])},this)},exportModified:function(){return f.extend({},g)},reset:function(){g={}},_startTest:function(){i=h,j=g,h={},g={}},_stopTest:function(){h=i,g=j}}})},{"../utils/common":"utils/common.js"}],"assets/profile.js":[function(a,b,c){if("object"==typeof b&&"function"!=typeof d)var d=function(d){b.exports=d(a,c,b)};d(function(a,b,c){function d(a){h.extend(this,l,a)}function e(a,b){switch(String(b||"").toLowerCase()){case"lower":return a.toLowerCase();case"upper":return a.toUpperCase()}return a}function f(a,b){return k[a.toLowerCase()]=new d(b)}function g(){f("xhtml"),f("html",{self_closing_tag:!1,compact_bool:!0}),f("xml",{self_closing_tag:!0,tag_nl:!0}),f("plain",{tag_nl:!1,indent:!1,place_cursor:!1}),f("line",{tag_nl:!1,indent:!1,extraFilters:"s"}),f("css",{tag_nl:!0}),f("css_line",{tag_nl:!1})}var h=a("../utils/common"),i=a("./resources"),j=a("./preferences");j.define("profile.allowCompactBoolean",!0,'This option can be used to globally disable compact form of boolean attribues (attributes where name and value are equal). With compactform enabled, HTML tags can be outputted as <code>&lt;div contenteditable&gt;</code> instead of <code>&lt;div contenteditable="contenteditable"&gt;</code>'),j.define("profile.booleanAttributes","^contenteditable|seamless$","A regular expression for attributes that should be boolean by default.If attribute name matches this expression, you don’t have to write dot after attribute name in Emmet abbreviation to mark it as boolean.");var k={},l={tag_case:"asis",attr_case:"asis",attr_quotes:"double",tag_nl:"decide",tag_nl_le