dataReceived = ((sender, e) =>
- {
- if (e.Data != null) // sometimes a random event is received with null data, not sure why - I prefer to leave it out
- {
- result[0] += e.Data;
- result[0] += "\r\n";
- }
- });
-
- process.OutputDataReceived += new DataReceivedEventHandler(dataReceived);
- process.ErrorDataReceived += new DataReceivedEventHandler(dataReceived);
-
- // start the process and start reading the standard and error outputs
- process.Start();
- process.BeginErrorReadLine();
- process.BeginOutputReadLine();
-
- // wait for the process to exit
- process.WaitForExit();
-
- // an exit code other than 0 generally means an error
- if (process.ExitCode != 0)
- {
- result[0] = result[0] + "\r\n - Exited with exitcode " + process.ExitCode;
- }
- }
-
- return result[0];
- }
- }
-}
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index d2d94bc694..86c36a8d76 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -190,6 +190,7 @@
+
@@ -385,7 +386,6 @@
-
@@ -437,8 +437,6 @@
-
-
diff --git a/src/Umbraco.Web.UI.Client/.eslintrc b/src/Umbraco.Web.UI.Client/.eslintrc
index 205d8dcf50..1b39098cfc 100644
--- a/src/Umbraco.Web.UI.Client/.eslintrc
+++ b/src/Umbraco.Web.UI.Client/.eslintrc
@@ -3,37 +3,8 @@
"browser": true
},
- "plugins": [
- "angular"
- ],
-
"rules": {
- "eqeqeq": 2,
- "curly": 2,
-
- "no-unused-vars": 1,
- "no-eval": 1,
- "no-delete-var": 1,
- "quotes": 1,
- "dot-notation": 1,
-
- "no-use-before-define": 0,
- "angular/ng_controller_as": 1,
- "angular/ng_controller_as_vm": 1,
-
-
- "strict": 0,
- "no-irregular-whitespace": 0,
- "no-mixed-spaces-and-tabs": 0,
- "no-multi-spaces": 0,
- "key-spacing": 0,
- "semi-spacing": 0,
- "space-infix-ops": 0,
- "comma-spacing": 0,
- "no-trailing-spaces": 0,
- "eol-last": 0,
- "no-underscore-dangle": 0,
- "camelcase": 0
+ "comma-dangle": ["error", "never"]
},
"globals": {
diff --git a/src/Umbraco.Web.UI.Client/gulpfile.js b/src/Umbraco.Web.UI.Client/gulpfile.js
index afaaadf050..5c24a22150 100644
--- a/src/Umbraco.Web.UI.Client/gulpfile.js
+++ b/src/Umbraco.Web.UI.Client/gulpfile.js
@@ -12,6 +12,9 @@ const imagemin = require('gulp-imagemin');
var _ = require('lodash');
var MergeStream = require('merge-stream');
+// js
+const eslint = require('gulp-eslint');
+
//Less + css
var postcss = require('gulp-postcss');
var less = require('gulp-less');
@@ -30,6 +33,11 @@ Helper functions
function processJs(files, out) {
return gulp.src(files)
+ // check for js errors
+ .pipe(eslint())
+ // outputs the lint results to the console
+ .pipe(eslint.format())
+ // sort files in stream by path or any custom sort comparator
.pipe(sort())
.pipe(concat(out))
.pipe(wrap('(function(){\n%= body %\n})();'))
@@ -351,7 +359,7 @@ gulp.task('docs', [], function (cb) {
title: "Umbraco Backoffice UI API Documentation",
dest: 'docs/api',
styles: ['docs/umb-docs.css'],
- image: "https://our.umbraco.org/assets/images/logo.svg"
+ image: "https://our.umbraco.com/assets/images/logo.svg"
}
return gulpDocs.sections({
diff --git a/src/Umbraco.Web.UI.Client/lib/tinymce/skins/umbraco/skin.min.css b/src/Umbraco.Web.UI.Client/lib/tinymce/skins/umbraco/skin.min.css
index c17e10b917..6fa010bce0 100755
--- a/src/Umbraco.Web.UI.Client/lib/tinymce/skins/umbraco/skin.min.css
+++ b/src/Umbraco.Web.UI.Client/lib/tinymce/skins/umbraco/skin.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#000;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-container ::-webkit-scrollbar{width:8px;height:8px;-webkit-border-radius:4px}.mce-container ::-webkit-scrollbar-track,.mce-container ::-webkit-scrollbar-track-piece{background-color:transparent}.mce-container ::-webkit-scrollbar-thumb{background-color:rgba(53,57,71,0.3);width:6px;height:6px;-webkit-border-radius:4px}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:visible!important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#FFF;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;border-radius:2px}.mce-wordcount{float:right;padding:8px}.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #c5c5c5;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:center;padding:2px}.mce-charmap td:hover{background:#d9d9d9}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover{border-color:#c5c5c5}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#e8e8e8;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#c4daff;background:#deeafa}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:#ccc 5px 5px 5px;-moz-box-shadow:#ccc 5px 5px 5px;box-shadow:#ccc 5px 5px 5px}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{position:absolute;top:0;left:0;background:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#FFF;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #EEE;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#CCC;text-shadow:0 1px 0 white;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#AAA}.mce-window-head .mce-title{display:inline-block;*display:inline;*zoom:1;line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:whiteSmoke;border-top:1px solid #DDD;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000;-moz-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #c5c5c5;position:relative;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffd9d9d9',GradientType=0);zoom:1;border-color:#d9d9d9 #d9d9d9 #b3b3b3;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.mce-btn:hover,.mce-btn:focus{text-decoration:none;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#e3e3e3;background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#ccc));background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(to bottom,#f2f2f2,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffcccccc',GradientType=0);zoom:1;border-color:#ccc #ccc #a6a6a6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn.mce-disabled,.mce-btn.mce-disabled:hover{cursor:default;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.65;filter:alpha(opacity=65);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(#bfbfbf));background-image:-webkit-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-o-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:linear-gradient(to bottom,#e6e6e6,#bfbfbf);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6',endColorstr='#ffbfbfbf',GradientType=0);zoom:1;border-color:#bfbfbf #bfbfbf #999;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{color:#fff;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);zoom:1;border-color:#04c #04c #002b80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-primary:hover,.mce-primary:focus{color:#fff;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#005fb3;background-image:-moz-linear-gradient(top,#0077b3,#003cb3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0077b3),to(#003cb3));background-image:-webkit-linear-gradient(top,#0077b3,#003cb3);background-image:-o-linear-gradient(top,#0077b3,#003cb3);background-image:linear-gradient(to bottom,#0077b3,#003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3',endColorstr='#ff003cb3',GradientType=0);zoom:1;border-color:#003cb3 #003cb3 #026;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-primary button{color:#333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:3px 5px;font-size:12px;line-height:15px}.mce-btn-small i{margin-top:0}.mce-btn .mce-caret{margin-top:8px;*margin-top:6px;margin-left:0}.mce-btn-small .mce-caret{margin-top:6px;*margin-top:4px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #444;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#999}.mce-caret.mce-up{border-bottom:4px solid #444;border-top:0}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-btn:hover,.mce-btn-group .mce-btn:focus{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#e3e3e3;background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#ccc));background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(to bottom,#f2f2f2,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffcccccc',GradientType=0);zoom:1;border-color:#ccc #ccc #a6a6a6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn-group .mce-btn.mce-disabled,.mce-btn-group .mce-btn.mce-disabled:hover{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffd9d9d9',GradientType=0);zoom:1;border-color:#d9d9d9 #d9d9d9 #b3b3b3;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn-group .mce-btn.mce-active,.mce-btn-group .mce-btn.mce-active:hover,.mce-btn-group .mce-btn:active{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(#bfbfbf));background-image:-webkit-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-o-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:linear-gradient(to bottom,#e6e6e6,#bfbfbf);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6',endColorstr='#ffbfbfbf',GradientType=0);zoom:1;border-color:#bfbfbf #bfbfbf #999;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-btn-group .mce-btn.mce-disabled button{opacity:.65;filter:alpha(opacity=65);zoom:1}.mce-btn-group .mce-first{border-left:1px solid #c5c5c5;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #c5c5c5;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0}.mce-checked i.mce-i-checkbox{color:#000;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox{border:1px solid #59a5e1;border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-colorbutton .mce-ico{position:relative}.mce-colorpicker{background:#FFF}.mce-colorbutton-grid{margin:4px}.mce-grid td div{border:1px solid #808080;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:hover{border-color:black}.mce-grid td div:focus{border-color:#59a5e1;outline:1px solid rgba(82,168,236,0.8);border-color:rgba(82,168,236,0.8)}.mce-colorbutton{position:relative}.mce-colorbutton .mce-preview{display:block;position:absolute;left:50%;top:50%;margin-left:-8px;margin-top:7px;background:gray;width:16px;height:2px;overflow:hidden}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:100px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.mce-combobox input{border-color:1px solid #c5c5c5;border-right-color:rgba(0,0,0,0.15);height:28px}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox *:focus{border-color:#59a5e1;border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#000}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:gray;color:white}.mce-path .mce-divider{display:inline}.mce-fieldset{border:0 solid #9e9e9e;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-iframe{border:0 solid #c5c5c5;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);border:0 solid #c5c5c5;overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label-disabled .mce-text{color:#999}.mce-label.mce-multiline{white-space:pre-wrap}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #ddd}.mce-menubar .mce-menubtn button{color:#000}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubtn:focus{border-color:transparent;background:#ddd;filter:none}.mce-menubtn.mce-disabled span{color:#999}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-listbox span{width:100%;display:block;overflow:hidden}.mce-menu-item{display:block;padding:6px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal}.mce-menu-item.mce-disabled .mce-text{color:#999}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0);zoom:1}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-shortcut{display:inline-block;color:#999}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 20px 0 20px}.mce-menu-item .mce-caret{margin-top:6px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #666}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret{border-left-color:#FFF}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item-sep,.mce-menu-item-sep:hover{padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#e5e5e5;border-bottom:1px solid white;cursor:default;filter:none}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item.mce-active{background-color:#c8def4;outline:1px solid #c5c5c5}.mce-menu-item-checkbox.mce-active{background-color:#FFF;outline:0}.mce-menu{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#FFF;border:1px solid #CCC;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline;*zoom:1}.mce-menu-sub{margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}i.mce-radio{padding:1px;margin:0 3px 0 0;background-color:#fafafa;border:1px solid #cacece;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1}i.mce-radio:after{font-family:Arial;font-size:12px;color:#000;content:'\25cf'}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#000}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#c5c5c5;border-right-color:#c5c5c5}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #ccc}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #ccc;border-width:1px 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-textbox{background:#FFF;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);display:inline-block;-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:normal;color:#000}.mce-textbox:focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-inserttime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e026"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#000;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-container ::-webkit-scrollbar{width:8px;height:8px;-webkit-border-radius:4px}.mce-container ::-webkit-scrollbar-track,.mce-container ::-webkit-scrollbar-track-piece{background-color:transparent}.mce-container ::-webkit-scrollbar-thumb{background-color:rgba(53,57,71,0.3);width:6px;height:6px;-webkit-border-radius:4px}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:visible!important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#FFF;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;border-radius:2px}.mce-wordcount{float:right;padding:8px}.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #c5c5c5;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:center;padding:2px}.mce-charmap td:hover{background:#d9d9d9}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover{border-color:#c5c5c5}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#e8e8e8;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#c4daff;background:#deeafa}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:#ccc 5px 5px 5px;-moz-box-shadow:#ccc 5px 5px 5px;box-shadow:#ccc 5px 5px 5px}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{position:absolute;top:0;left:0;background:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#FFF;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #EEE;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#CCC;text-shadow:0 1px 0 white;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#AAA}.mce-window-head .mce-title{display:inline-block;*display:inline;*zoom:1;line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:whiteSmoke;border-top:1px solid #DDD;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000;-moz-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #c5c5c5;position:relative;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffd9d9d9',GradientType=0);zoom:1;border-color:#d9d9d9 #d9d9d9 #b3b3b3;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.mce-btn:hover,.mce-btn:focus{text-decoration:none;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#e3e3e3;background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#ccc));background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(to bottom,#f2f2f2,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffcccccc',GradientType=0);zoom:1;border-color:#ccc #ccc #a6a6a6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn.mce-disabled,.mce-btn.mce-disabled:hover{cursor:default;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.65;filter:alpha(opacity=65);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(#bfbfbf));background-image:-webkit-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-o-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:linear-gradient(to bottom,#e6e6e6,#bfbfbf);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6',endColorstr='#ffbfbfbf',GradientType=0);zoom:1;border-color:#bfbfbf #bfbfbf #999;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{color:#fff;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);zoom:1;border-color:#04c #04c #002b80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-primary:hover,.mce-primary:focus{color:#fff;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#005fb3;background-image:-moz-linear-gradient(top,#0077b3,#003cb3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0077b3),to(#003cb3));background-image:-webkit-linear-gradient(top,#0077b3,#003cb3);background-image:-o-linear-gradient(top,#0077b3,#003cb3);background-image:linear-gradient(to bottom,#0077b3,#003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3',endColorstr='#ff003cb3',GradientType=0);zoom:1;border-color:#003cb3 #003cb3 #026;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-primary button{color:#333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:3px 5px;font-size:12px;line-height:15px}.mce-btn-small i{margin-top:0}.mce-btn .mce-caret{margin-top:8px;*margin-top:6px;margin-left:0}.mce-btn-small .mce-caret{margin-top:6px;*margin-top:4px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #444;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#999}.mce-caret.mce-up{border-bottom:4px solid #444;border-top:0}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-btn:hover,.mce-btn-group .mce-btn:focus{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#e3e3e3;background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#ccc));background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(to bottom,#f2f2f2,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffcccccc',GradientType=0);zoom:1;border-color:#ccc #ccc #a6a6a6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn-group .mce-btn.mce-disabled,.mce-btn-group .mce-btn.mce-disabled:hover{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffd9d9d9',GradientType=0);zoom:1;border-color:#d9d9d9 #d9d9d9 #b3b3b3;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.mce-btn-group .mce-btn.mce-active,.mce-btn-group .mce-btn.mce-active:hover,.mce-btn-group .mce-btn:active{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(#bfbfbf));background-image:-webkit-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:-o-linear-gradient(top,#e6e6e6,#bfbfbf);background-image:linear-gradient(to bottom,#e6e6e6,#bfbfbf);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6',endColorstr='#ffbfbfbf',GradientType=0);zoom:1;border-color:#bfbfbf #bfbfbf #999;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-btn-group .mce-btn.mce-disabled button{opacity:.65;filter:alpha(opacity=65);zoom:1}.mce-btn-group .mce-first{border-left:1px solid #c5c5c5;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #c5c5c5;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0}.mce-checked i.mce-i-checkbox{color:#000;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox{border:1px solid #59a5e1;border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-colorbutton .mce-ico{position:relative}.mce-colorpicker{background:#FFF}.mce-colorbutton-grid{margin:4px}.mce-grid td div{border:1px solid #808080;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:hover{border-color:black}.mce-grid td div:focus{border-color:#59a5e1;outline:1px solid rgba(82,168,236,0.8);border-color:rgba(82,168,236,0.8)}.mce-colorbutton{position:relative}.mce-colorbutton .mce-preview{display:block;position:absolute;left:50%;top:50%;margin-left:-8px;margin-top:7px;background:gray;width:16px;height:2px;overflow:hidden}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:100px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.mce-combobox input{border-color:1px solid #c5c5c5;border-right-color:rgba(0,0,0,0.15);height:28px}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox *:focus{border-color:#59a5e1;border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#000}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:gray;color:white}.mce-path .mce-divider{display:inline}.mce-fieldset{border:0 solid #9e9e9e;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-iframe{border:0 solid #c5c5c5;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);border:0 solid #c5c5c5;overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label-disabled .mce-text{color:#999}.mce-label.mce-multiline{white-space:pre-wrap}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #ddd}.mce-menubar .mce-menubtn button{color:#000}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubtn:focus{border-color:transparent;background:#ddd;filter:none}.mce-menubtn.mce-disabled span{color:#999}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-listbox span{width:100%;display:block;overflow:hidden}.mce-menu-item{display:block;padding:6px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal}.mce-menu-item.mce-disabled .mce-text{color:#999}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0);zoom:1}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-shortcut{display:inline-block;color:#999}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 20px 0 20px}.mce-menu-item .mce-caret{margin-top:6px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #666}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret{border-left-color:#FFF}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item-sep,.mce-menu-item-sep:hover{padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#e5e5e5;border-bottom:1px solid white;cursor:default;filter:none}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item.mce-active{background-color:#c8def4;outline:1px solid #c5c5c5}.mce-menu-item-checkbox.mce-active{background-color:#FFF;outline:0}.mce-menu{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#FFF;border:1px solid #CCC;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline;*zoom:1}.mce-menu-sub{margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}i.mce-radio{padding:1px;margin:0 3px 0 0;background-color:#fafafa;border:1px solid #cacece;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd',endColorstr='#ffdddddd',GradientType=0);zoom:1}i.mce-radio:after{font-family:Arial;font-size:12px;color:#000;content:'\25cf'}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#000}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#c5c5c5;border-right-color:#c5c5c5}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #ccc}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #ccc;border-width:1px 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-textbox{background:#FFF;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);display:inline-block;-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:normal;color:#000}.mce-textbox:focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-inserttime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e026"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-colorbtn-trans div{text-align: center;vertical-align: middle;font-weight: bold;font-size: 20px;line-height: 16px;color: #707070;}.mce-grid td.mce-grid-cell div{border: 1px solid #d6d6d6;width: 15px;height: 15px;margin: 0;cursor: pointer;}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json
new file mode 100644
index 0000000000..b11de54152
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/package-lock.json
@@ -0,0 +1,10487 @@
+{
+ "name": "umbraco",
+ "version": "7.1.2",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "abbrev": {
+ "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"
+ }
+ },
+ "accord": {
+ "version": "https://registry.npmjs.org/accord/-/accord-0.28.0.tgz",
+ "integrity": "sha1-vsUWovci59UPX59C+Bt387lUSLo=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "indx": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
+ "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "lodash.defaults": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "lodash.flatten": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "lodash.merge": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
+ "lodash.partialright": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
+ "lodash.pick": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "lodash.uniq": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "when": "https://registry.npmjs.org/when/-/when-3.7.8.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=",
+ "dev": true
+ }
+ }
+ },
+ "acorn": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
+ "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz",
+ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.7.1"
+ }
+ },
+ "after": {
+ "version": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "dev": true
+ },
+ "ajv": {
+ "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "alphanum-sort": {
+ "version": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "angular": {
+ "version": "https://registry.npmjs.org/angular/-/angular-1.3.20.tgz",
+ "integrity": "sha1-sjo9fF5/mffZW5tNSbmsNVJpuu4=",
+ "dev": true
+ },
+ "angular-animate": {
+ "version": "https://registry.npmjs.org/angular-animate/-/angular-animate-1.3.20.tgz",
+ "integrity": "sha1-0XB8cn+K0N8hxKLewgzX/ElFtSo=",
+ "dev": true
+ },
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-cyan": {
+ "version": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-escapes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
+ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
+ "dev": true
+ },
+ "ansi-gray": {
+ "version": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-red": {
+ "version": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
+ }
+ },
+ "ansi-regex": {
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "ansi-wrap": {
+ "version": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
+ "dev": true,
+ "requires": {
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
+ }
+ },
+ "array-unique": {
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
+ }
+ },
+ "expand-brackets": {
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
+ }
+ },
+ "extglob": {
+ "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ },
+ "micromatch": {
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
+ }
+ }
+ }
+ },
+ "archive-type": {
+ "version": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+ "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
+ "dev": true,
+ "requires": {
+ "file-type": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+ "dev": true
+ }
+ }
+ },
+ "archy": {
+ "version": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "dev": true
+ },
+ "argparse": {
+ "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
+ }
+ },
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-each": {
+ "version": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-slice": {
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
+ }
+ },
+ "array-uniq": {
+ "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "arraybuffer.slice": {
+ "version": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "async": {
+ "version": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
+ "dev": true,
+ "requires": {
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz"
+ }
+ },
+ "async-each": {
+ "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-each-series": {
+ "version": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
+ "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
+ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000836.tgz",
+ "normalize-range": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "num2fraction": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "aws-sign2": {
+ "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+ "integrity": "sha1-1NDpudv8p3vwjusKikcVUP454ok=",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "backo2": {
+ "version": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+ "dev": true,
+ "requires": {
+ "cache-base": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "class-utils": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "mixin-deep": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "pascalcase": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-descriptor": {
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ }
+ }
+ },
+ "base64-arraybuffer": {
+ "version": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+ "dev": true
+ },
+ "base64-url": {
+ "version": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
+ "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=",
+ "dev": true
+ },
+ "base64id": {
+ "version": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+ "dev": true
+ },
+ "basic-auth": {
+ "version": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=",
+ "dev": true
+ },
+ "basic-auth-connect": {
+ "version": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=",
+ "dev": true
+ },
+ "batch": {
+ "version": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ }
+ },
+ "beeper": {
+ "version": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+ "dev": true
+ },
+ "better-assert": {
+ "version": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "dev": true,
+ "requires": {
+ "callsite": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"
+ }
+ },
+ "bin-build": {
+ "version": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+ "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "archive-type": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+ "decompress": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+ "download": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+ "exec-series": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "tempfile": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
+ "url-regex": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz"
+ },
+ "dependencies": {
+ "tempfile": {
+ "version": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
+ "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "uuid": "2.0.3"
+ }
+ },
+ "uuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "bin-check": {
+ "version": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
+ "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "executable": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz"
+ }
+ },
+ "bin-version": {
+ "version": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
+ "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "find-versions": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz"
+ }
+ },
+ "bin-version-check": {
+ "version": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
+ "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-version": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
+ "minimist": "1.2.0",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "semver-truncate": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "bin-wrapper": {
+ "version": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+ "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-check": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
+ "bin-version-check": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
+ "download": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+ "each-async": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+ "lazy-req": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
+ "os-filter-obj": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz"
+ }
+ },
+ "binary-extensions": {
+ "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
+ "dev": true
+ },
+ "bl": {
+ "version": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
+ "integrity": "sha1-oWCRFxcQPAdBDO9j71Gzl8Alr5w=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "blob": {
+ "version": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "boolbase": {
+ "version": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "boom": {
+ "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "bower": {
+ "version": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz",
+ "integrity": "sha1-54dqB23rgTf30GUl3F6MZtuC8oo=",
+ "dev": true
+ },
+ "bower-installer": {
+ "version": "https://registry.npmjs.org/bower-installer/-/bower-installer-1.3.6.tgz",
+ "integrity": "sha1-z3g5tlQh0rJwqyLHT8hYpV46E3A=",
+ "dev": true,
+ "requires": {
+ "async": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "bower": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "node-fs": "https://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz",
+ "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"
+ }
+ },
+ "brace-expansion": {
+ "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ }
+ },
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "snapdragon-node": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "to-regex": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "browserslist": {
+ "version": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000836.tgz",
+ "electron-to-chromium": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz"
+ }
+ },
+ "buffer-alloc": {
+ "version": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+ "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=",
+ "dev": true,
+ "requires": {
+ "buffer-alloc-unsafe": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+ "buffer-fill": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz"
+ }
+ },
+ "buffer-alloc-unsafe": {
+ "version": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+ "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=",
+ "dev": true
+ },
+ "buffer-fill": {
+ "version": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz",
+ "integrity": "sha1-FfS5vO8BIETfMRQsFDM8r24CYNA=",
+ "dev": true,
+ "optional": true
+ },
+ "buffer-to-vinyl": {
+ "version": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
+ "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
+ "dev": true,
+ "requires": {
+ "file-type": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+ },
+ "dependencies": {
+ "file-type": {
+ "version": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "uuid": {
+ "version": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "bufferstreams": {
+ "version": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz",
+ "integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+ }
+ },
+ "builtin-modules": {
+ "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+ "dev": true,
+ "requires": {
+ "collection-visit": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-value": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "set-value": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "union-value": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "unset-value": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
+ }
+ },
+ "caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "0.2.0"
+ }
+ },
+ "callsite": {
+ "version": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+ "dev": true
+ },
+ "callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
+ "caniuse-api": {
+ "version": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000836.tgz",
+ "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "lodash.uniq": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
+ }
+ },
+ "caniuse-db": {
+ "version": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000836.tgz",
+ "integrity": "sha1-eItsj28CmRdDsYzbvVT5bQW0uVo=",
+ "dev": true
+ },
+ "canonical-path": {
+ "version": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz",
+ "integrity": "sha1-4x65N6jJPuKgHfGDl5RyGQKHRXQ=",
+ "dev": true
+ },
+ "capture-stack-trace": {
+ "version": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
+ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "caw": {
+ "version": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
+ "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
+ "dev": true,
+ "requires": {
+ "get-proxy": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
+ "is-obj": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "dev": true
+ }
+ }
+ },
+ "center-align": {
+ "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
+ }
+ },
+ "chalk": {
+ "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ }
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "circular-json": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "dev": true
+ },
+ "clap": {
+ "version": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+ "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
+ }
+ },
+ "class-utils": {
+ "version": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+ "dev": true,
+ "requires": {
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "static-extend": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ }
+ }
+ }
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "requires": {
+ "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+ }
+ },
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
+ "clone-buffer": {
+ "version": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+ "dev": true
+ },
+ "cloneable-readable": {
+ "version": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+ "integrity": "sha1-1ZHe5Kj4vBXaQ86X3O66E9Q+KmU=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "co": {
+ "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "coa": {
+ "version": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "dev": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
+ }
+ },
+ "collection-visit": {
+ "version": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
+ }
+ },
+ "color": {
+ "version": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "color-string": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz"
+ }
+ },
+ "color-convert": {
+ "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=",
+ "dev": true,
+ "requires": {
+ "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ }
+ },
+ "color-name": {
+ "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "color-string": {
+ "version": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ }
+ },
+ "color-support": {
+ "version": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=",
+ "dev": true
+ },
+ "colormin": {
+ "version": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "css-color-names": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz"
+ }
+ },
+ "colors": {
+ "version": "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz",
+ "integrity": "sha1-4MtB0+SyCAazv8J/RVnwG5S8L3w=",
+ "dev": true
+ },
+ "combine-lists": {
+ "version": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+ "dev": true,
+ "requires": {
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz"
+ }
+ },
+ "combined-stream": {
+ "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+ }
+ },
+ "commander": {
+ "version": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ }
+ },
+ "component-bind": {
+ "version": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "component-inherit": {
+ "version": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+ "dev": true
+ },
+ "compressible": {
+ "version": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
+ "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
+ "dev": true,
+ "requires": {
+ "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz"
+ }
+ },
+ "compression": {
+ "version": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "compressible": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "vary": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "concat-map": {
+ "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "concat-with-sourcemaps": {
+ "version": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+ "integrity": "sha1-1OqT8FriV5CVG5nns7CeOQikCC4=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true
+ }
+ }
+ },
+ "connect": {
+ "version": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
+ "dev": true,
+ "requires": {
+ "basic-auth-connect": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "compression": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "connect-timeout": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-parser": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "csurf": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "errorhandler": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "express-session": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "method-override": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
+ "morgan": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "multiparty": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "pause": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "response-time": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "serve-favicon": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "serve-index": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
+ "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "vhost": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "connect-livereload": {
+ "version": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w=",
+ "dev": true
+ },
+ "connect-timeout": {
+ "version": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "console-stream": {
+ "version": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
+ "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
+ "dev": true,
+ "optional": true
+ },
+ "consolidate": {
+ "version": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
+ "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
+ "dev": true,
+ "requires": {
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz"
+ }
+ },
+ "content-type": {
+ "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "dev": true
+ },
+ "cookie": {
+ "version": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=",
+ "dev": true
+ },
+ "cookie-parser": {
+ "version": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
+ "dev": true,
+ "requires": {
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
+ }
+ },
+ "cookie-signature": {
+ "version": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "dev": true
+ },
+ "copy-descriptor": {
+ "version": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz",
+ "integrity": "sha1-D+bUW/PKw6w2Sp1y3nV29OsiG50=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+ "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
+ "dev": true,
+ "requires": {
+ "is-directory": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "require-from-string": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "crc": {
+ "version": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=",
+ "dev": true
+ },
+ "create-error-class": {
+ "version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz"
+ }
+ },
+ "cross-spawn": {
+ "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
+ }
+ }
+ }
+ },
+ "cryptiles": {
+ "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+ }
+ },
+ "csrf": {
+ "version": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
+ "dev": true,
+ "requires": {
+ "rndm": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "tsscmp": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz"
+ }
+ },
+ "css-color-names": {
+ "version": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-select": {
+ "version": "https://registry.npmjs.org/css-select/-/css-select-1.3.0-rc0.tgz",
+ "integrity": "sha1-b5MZaqrnN2ZuoQNqjLFKj8t6kjE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "css-what": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "nth-check": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz"
+ }
+ },
+ "css-select-base-adapter": {
+ "version": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz",
+ "integrity": "sha1-AQKz0UYw34bD65+p9UVicBBs+ZA=",
+ "dev": true,
+ "optional": true
+ },
+ "css-tree": {
+ "version": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha25.tgz",
+ "integrity": "sha1-G7+r+/bu708B2RCP8u3Qvi/jVZc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "mdn-data": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ }
+ },
+ "css-url-regex": {
+ "version": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
+ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=",
+ "dev": true,
+ "optional": true
+ },
+ "css-what": {
+ "version": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
+ "dev": true,
+ "optional": true
+ },
+ "cssnano": {
+ "version": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-calc": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "postcss-colormin": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "postcss-convert-values": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "postcss-discard-comments": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "postcss-discard-duplicates": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "postcss-discard-empty": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "postcss-discard-overridden": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "postcss-discard-unused": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "postcss-filter-plugins": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+ "postcss-merge-idents": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "postcss-merge-longhand": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "postcss-merge-rules": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "postcss-minify-font-values": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "postcss-minify-gradients": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "postcss-minify-params": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "postcss-minify-selectors": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "postcss-normalize-charset": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "postcss-normalize-url": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "postcss-ordered-values": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "postcss-reduce-idents": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "postcss-reduce-initial": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "postcss-reduce-transforms": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "postcss-svgo": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "postcss-unique-selectors": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "postcss-zindex": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz"
+ }
+ },
+ "csso": {
+ "version": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ }
+ },
+ "csurf": {
+ "version": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
+ "dev": true,
+ "requires": {
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "csrf": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz"
+ }
+ },
+ "currently-unhandled": {
+ "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
+ }
+ },
+ "custom-event": {
+ "version": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "dateformat": {
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ }
+ },
+ "decamelize": {
+ "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "decompress": {
+ "version": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+ "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
+ "dev": true,
+ "requires": {
+ "buffer-to-vinyl": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "decompress-tar": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
+ "decompress-tarbz2": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
+ "decompress-targz": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
+ "decompress-unzip": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
+ "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "vinyl-assign": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
+ }
+ },
+ "array-unique": {
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
+ }
+ },
+ "expand-brackets": {
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
+ }
+ },
+ "extglob": {
+ "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "glob-stream": {
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+ "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+ "dev": true,
+ "requires": {
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+ "through2": "0.6.5",
+ "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ },
+ "micromatch": {
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+ "dev": true,
+ "requires": {
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "readable-stream": "2.3.6"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "strip-bom-stream": {
+ "version": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ }
+ },
+ "unique-stream": {
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ },
+ "vinyl-fs": {
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+ "dev": true,
+ "requires": {
+ "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "gulp-sourcemaps": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+ "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+ "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "lodash.isequal": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "readable-stream": "2.3.6",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "strip-bom-stream": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "vali-date": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+ "vinyl": "1.2.0"
+ }
+ }
+ }
+ },
+ "decompress-tar": {
+ "version": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
+ "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
+ "dev": true,
+ "requires": {
+ "is-tar": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "decompress-tarbz2": {
+ "version": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
+ "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
+ "dev": true,
+ "requires": {
+ "is-bzip2": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
+ "object-assign": "2.1.1",
+ "seek-bzip": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+ "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
+ "through2": "0.6.5",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "decompress-targz": {
+ "version": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
+ "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
+ "dev": true,
+ "requires": {
+ "is-gzip": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
+ "object-assign": "2.1.1",
+ "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
+ "through2": "0.6.5",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "decompress-unzip": {
+ "version": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
+ "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
+ "dev": true,
+ "requires": {
+ "is-zip": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
+ "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "stat-mode": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+ "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "1.2.0",
+ "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz"
+ },
+ "dependencies": {
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "deep-extend": {
+ "version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "defaults": {
+ "version": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
+ }
+ },
+ "define-properties": {
+ "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz"
+ }
+ },
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-descriptor": {
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ }
+ }
+ },
+ "defined": {
+ "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.1",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "arrify": "1.0.1",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=",
+ "dev": true
+ },
+ "deprecated": {
+ "version": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
+ "dev": true
+ },
+ "destroy": {
+ "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "detect-file": {
+ "version": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+ "dev": true
+ },
+ "di": {
+ "version": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+ "dev": true
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
+ }
+ },
+ "dom-serialize": {
+ "version": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dev": true,
+ "requires": {
+ "custom-event": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "ent": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "void-elements": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
+ }
+ },
+ "dom-serializer": {
+ "version": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "entities": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+ "dev": true,
+ "optional": true
+ },
+ "domutils": {
+ "version": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "dom-serializer": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
+ }
+ },
+ "download": {
+ "version": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+ "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
+ "dev": true,
+ "requires": {
+ "caw": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "each-async": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+ "filenamify": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
+ "got": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
+ "gulp-decompress": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+ "gulp-rename": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "is-url": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "readable-stream": "2.3.6",
+ "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "vinyl": "1.2.0",
+ "vinyl-fs": "2.4.4",
+ "ware": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
+ }
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "glob-stream": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+ "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+ "dev": true,
+ "requires": {
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "glob": "5.0.15",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "micromatch": "2.3.11",
+ "ordered-read-streams": "0.3.0",
+ "through2": "0.6.5",
+ "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+ "unique-stream": "2.2.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+ "dev": true,
+ "requires": {
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "readable-stream": "2.3.6"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "strip-bom-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "unique-stream": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ },
+ "vinyl-fs": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+ "dev": true,
+ "requires": {
+ "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "glob-stream": "5.3.5",
+ "graceful-fs": "4.1.11",
+ "gulp-sourcemaps": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+ "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+ "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "lodash.isequal": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "readable-stream": "2.3.6",
+ "strip-bom": "2.0.0",
+ "strip-bom-stream": "1.0.0",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "vali-date": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+ "vinyl": "1.2.0"
+ }
+ }
+ }
+ },
+ "duplexer": {
+ "version": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+ }
+ },
+ "duplexify": {
+ "version": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "integrity": "sha1-WSkD9dgLONA3IgVBJk1poZj7NBA=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "2.3.6",
+ "stream-shift": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "each-async": {
+ "version": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+ "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
+ "dev": true,
+ "requires": {
+ "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
+ },
+ "ee-first": {
+ "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz",
+ "integrity": "sha1-RYrBscXHYM6IEaFtK/vZfsMLr7g=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+ },
+ "dependencies": {
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "engine.io": {
+ "version": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
+ "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "base64id": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "ws": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
+ }
+ },
+ "cookie": {
+ "version": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
+ "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "component-inherit": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "parsejson": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
+ "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "ws": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
+ "xmlhttprequest-ssl": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
+ "yeast": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+ "dev": true,
+ "requires": {
+ "after": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "arraybuffer.slice": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+ "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "blob": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "wtf-8": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz"
+ }
+ },
+ "ent": {
+ "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+ "dev": true
+ },
+ "entities": {
+ "version": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true,
+ "optional": true
+ },
+ "errno": {
+ "version": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "prr": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
+ }
+ },
+ "error-ex": {
+ "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+ }
+ },
+ "errorhandler": {
+ "version": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "dev": true,
+ "requires": {
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
+ }
+ },
+ "negotiator": {
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ }
+ }
+ },
+ "es-abstract": {
+ "version": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
+ "integrity": "sha1-nbvdJ8aFbwABQhyhh4LXhr+KYWU=",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "is-callable": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "is-regex": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz"
+ }
+ },
+ "es-to-primitive": {
+ "version": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+ "dev": true,
+ "requires": {
+ "is-callable": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "is-date-object": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "is-symbol": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz"
+ }
+ },
+ "es6-promise": {
+ "version": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
+ "integrity": "sha1-264X75bI5L7bE1b0UE+kzC98t+I=",
+ "dev": true,
+ "requires": {
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "eslint": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz",
+ "integrity": "sha512-N/tCqlMKkyNvAvLu+zI9AqDasnSLt00K+Hu8kdsERliC9jYEc8ck12XtjvOXrBKu8fK6RrBcN9bat6Xk++9jAg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.5.2",
+ "babel-code-frame": "6.26.0",
+ "chalk": "2.4.1",
+ "cross-spawn": "6.0.5",
+ "debug": "3.1.0",
+ "doctrine": "2.1.0",
+ "eslint-scope": "4.0.0",
+ "eslint-utils": "1.3.1",
+ "eslint-visitor-keys": "1.0.0",
+ "espree": "4.0.0",
+ "esquery": "1.0.1",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "file-entry-cache": "2.0.0",
+ "functional-red-black-tree": "1.0.1",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "globals": "11.7.0",
+ "ignore": "4.0.3",
+ "imurmurhash": "0.1.4",
+ "inquirer": "5.2.0",
+ "is-resolvable": "1.1.0",
+ "js-yaml": "3.12.0",
+ "json-stable-stringify-without-jsonify": "1.0.1",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "natural-compare": "1.4.0",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "path-is-inside": "1.0.2",
+ "pluralize": "7.0.0",
+ "progress": "2.0.0",
+ "regexpp": "2.0.0",
+ "require-uncached": "1.0.3",
+ "semver": "5.5.0",
+ "string.prototype.matchall": "2.0.0",
+ "strip-ansi": "4.0.0",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "table": "4.0.3",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
+ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "2.0.1",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.4.1",
+ "uri-js": "4.2.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "5.4.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.4",
+ "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "semver": "5.5.0",
+ "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "dev": true,
+ "requires": {
+ "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "esprima": "4.0.1"
+ }
+ },
+ "progress": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
+ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "4.2.1",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
+ }
+ },
+ "eslint-utils": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
+ "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
+ "dev": true
+ },
+ "eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz",
+ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.7.1",
+ "acorn-jsx": "4.1.1"
+ }
+ },
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "dev": true,
+ "requires": {
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
+ }
+ },
+ "estemplate": {
+ "version": "https://registry.npmjs.org/estemplate/-/estemplate-0.5.1.tgz",
+ "integrity": "sha1-FxSp1GGQc4rJWLyv1J4CnNpWo54=",
+ "dev": true,
+ "requires": {
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
+ }
+ },
+ "estraverse": {
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=",
+ "dev": true
+ },
+ "event-stream": {
+ "version": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
+ "dev": true,
+ "requires": {
+ "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "from": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "map-stream": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "pause-stream": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "split": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "stream-combiner": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ }
+ },
+ "eventemitter3": {
+ "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+ "integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=",
+ "dev": true
+ },
+ "exec-buffer": {
+ "version": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
+ "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "execa": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "pify": "3.0.0",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "tempfile": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "exec-series": {
+ "version": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
+ "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "async-each-series": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ }
+ },
+ "execa": {
+ "version": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "npm-run-path": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "strip-eof": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"
+ }
+ },
+ "executable": {
+ "version": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz",
+ "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ },
+ "expand-braces": {
+ "version": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+ "dev": true,
+ "requires": {
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz"
+ },
+ "dependencies": {
+ "array-slice": {
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+ "dev": true,
+ "requires": {
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz"
+ }
+ },
+ "expand-range": {
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz"
+ }
+ },
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+ "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
+ "dev": true
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "posix-character-classes": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "regex-not": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "to-regex": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ }
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "expand-range": {
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz"
+ },
+ "dependencies": {
+ "fill-range": {
+ "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ }
+ },
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ }
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ }
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "expand-tilde": {
+ "version": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz"
+ }
+ },
+ "express-session": {
+ "version": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
+ "dev": true,
+ "requires": {
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "crc": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "uid-safe": {
+ "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
+ "dev": true,
+ "requires": {
+ "base64-url": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
+ }
+ }
+ }
+ },
+ "external-editor": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "dev": true,
+ "requires": {
+ "chardet": "0.4.2",
+ "iconv-lite": "0.4.23",
+ "tmp": "0.0.33"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "dev": true,
+ "requires": {
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "regex-not": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "to-regex": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
+ }
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-descriptor": {
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ }
+ }
+ },
+ "extract-zip": {
+ "version": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz",
+ "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fancy-log": {
+ "version": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
+ "dev": true,
+ "requires": {
+ "ansi-gray": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "color-support": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "faye-websocket": {
+ "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz"
+ }
+ },
+ "fd-slicer": {
+ "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "dev": true,
+ "requires": {
+ "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
+ }
+ },
+ "figures": {
+ "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ }
+ },
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "1.3.0",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ }
+ },
+ "file-type": {
+ "version": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
+ "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
+ "dev": true
+ },
+ "filename-regex": {
+ "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "filename-reserved-regex": {
+ "version": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+ "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
+ "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+ "strip-outer": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+ "trim-repeated": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz"
+ }
+ },
+ "fill-range": {
+ "version": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "to-regex-range": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "finalhandler": {
+ "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "escape-html": {
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=",
+ "dev": true
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "find-index": {
+ "version": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+ "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
+ "dev": true
+ },
+ "find-up": {
+ "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "find-versions": {
+ "version": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz",
+ "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "semver-regex": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz"
+ }
+ },
+ "findup-sync": {
+ "version": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+ "dev": true,
+ "requires": {
+ "detect-file": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
+ }
+ },
+ "fined": {
+ "version": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "object.defaults": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz"
+ }
+ },
+ "first-chunk-stream": {
+ "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+ "dev": true
+ },
+ "flagged-respawn": {
+ "version": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
+ "dev": true
+ },
+ "flat-cache": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+ "dev": true,
+ "requires": {
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "flatten": {
+ "version": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
+ "integrity": "sha1-2BIPRRgZD1Wqxlu2/HuF/NZm1qo=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
+ "requires": {
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
+ }
+ },
+ "foreach": {
+ "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "requires": {
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz"
+ }
+ },
+ "fragment-cache": {
+ "version": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
+ }
+ },
+ "fresh": {
+ "version": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=",
+ "dev": true
+ },
+ "from": {
+ "version": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
+ "dev": true
+ },
+ "fs-constants": {
+ "version": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "jsonfile": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "klaw": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "fs-readfile-promise": {
+ "version": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz",
+ "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "fs.realpath": {
+ "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "function-bind": {
+ "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gaze": {
+ "version": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+ "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
+ "dev": true,
+ "requires": {
+ "globule": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz"
+ }
+ },
+ "get-proxy": {
+ "version": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
+ "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
+ "dev": true,
+ "requires": {
+ "rc": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
+ }
+ },
+ "get-stdin": {
+ "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true,
+ "optional": true
+ },
+ "get-value": {
+ "version": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "gifsicle": {
+ "version": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
+ "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+ "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+ "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+ }
+ },
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "glob-base": {
+ "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ }
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
+ }
+ },
+ "glob-stream": {
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+ "dev": true,
+ "requires": {
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ }
+ }
+ },
+ "glob-watcher": {
+ "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
+ "dev": true,
+ "requires": {
+ "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
+ }
+ },
+ "glob2base": {
+ "version": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
+ "dev": true,
+ "requires": {
+ "find-index": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz"
+ }
+ },
+ "global-modules": {
+ "version": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=",
+ "dev": true,
+ "requires": {
+ "global-prefix": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
+ }
+ },
+ "global-prefix": {
+ "version": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
+ }
+ },
+ "globals": {
+ "version": "11.7.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
+ "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==",
+ "dev": true
+ },
+ "globby": {
+ "version": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "globule": {
+ "version": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+ "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+ "dev": true
+ },
+ "inherits": {
+ "version": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
+ }
+ }
+ }
+ },
+ "glogg": {
+ "version": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+ "integrity": "sha1-3PdY5EeJzD89MsHzVio2duajSBA=",
+ "dev": true,
+ "requires": {
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+ }
+ },
+ "got": {
+ "version": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
+ "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+ "duplexer2": "0.1.4",
+ "is-redirect": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "is-retry-allowed": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "lowercase-keys": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "node-status-codes": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "readable-stream": "2.3.6",
+ "timed-out": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
+ "unzip-response": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "url-parse-lax": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz"
+ },
+ "dependencies": {
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz"
+ }
+ },
+ "graceful-readlink": {
+ "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "gulp": {
+ "version": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
+ "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
+ "dev": true,
+ "requires": {
+ "archy": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "deprecated": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "orchestrator": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "pretty-hrtime": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "tildify": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "v8flags": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-concat": {
+ "version": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+ "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "dev": true,
+ "requires": {
+ "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "clone-buffer": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "cloneable-readable": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "gulp-connect": {
+ "version": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
+ "integrity": "sha1-8v3zBq6RFGg2jCKF8teC8T7dr04=",
+ "dev": true,
+ "requires": {
+ "connect": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "connect-livereload": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "tiny-lr": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz"
+ }
+ },
+ "gulp-decompress": {
+ "version": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+ "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
+ "dev": true,
+ "requires": {
+ "archive-type": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+ "decompress": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "gulp-eslint": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-5.0.0.tgz",
+ "integrity": "sha512-9GUqCqh85C7rP9120cpxXuZz2ayq3BZc85pCTuPJS03VQYxne0aWPIXWx6LSvsGPa3uRqtSO537vaugOh+5cXg==",
+ "dev": true,
+ "requires": {
+ "eslint": "5.3.0",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "plugin-error": "1.0.1"
+ },
+ "dependencies": {
+ "plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "1.1.0",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"
+ }
+ }
+ }
+ },
+ "gulp-imagemin": {
+ "version": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-4.1.0.tgz",
+ "integrity": "sha1-XONH8dFwb+08yPF3fKkJSlg7ULc=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "imagemin": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz",
+ "imagemin-gifsicle": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz",
+ "imagemin-jpegtran": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz",
+ "imagemin-optipng": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz",
+ "imagemin-svgo": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-6.0.0.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "plur": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
+ "pretty-bytes": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
+ "through2-concurrent": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-1.1.1.tgz"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
+ }
+ },
+ "chalk": {
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz"
+ }
+ },
+ "has-flag": {
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+ "dev": true,
+ "requires": {
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
+ }
+ }
+ }
+ },
+ "gulp-less": {
+ "version": "https://registry.npmjs.org/gulp-less/-/gulp-less-3.5.0.tgz",
+ "integrity": "sha1-gBT0ad38ZUTX3aUAmN7wNxu7T3g=",
+ "dev": true,
+ "requires": {
+ "accord": "https://registry.npmjs.org/accord/-/accord-0.28.0.tgz",
+ "less": "https://registry.npmjs.org/less/-/less-2.7.3.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+ },
+ "dependencies": {
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-ngdocs": {
+ "version": "https://registry.npmjs.org/gulp-ngdocs/-/gulp-ngdocs-0.3.0.tgz",
+ "integrity": "sha1-J7Z6Ql6zh1ImNFq4lgTXN/Y1fCE=",
+ "dev": true,
+ "requires": {
+ "angular": "https://registry.npmjs.org/angular/-/angular-1.3.20.tgz",
+ "angular-animate": "https://registry.npmjs.org/angular-animate/-/angular-animate-1.3.20.tgz",
+ "canonical-path": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-1.3.0.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz",
+ "marked": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz",
+ "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-0.1.5.tgz",
+ "path": "https://registry.npmjs.org/path/-/path-0.4.9.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.1.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.7.tgz"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
+ }
+ },
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "dateformat": {
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ },
+ "extend": {
+ "version": "https://registry.npmjs.org/extend/-/extend-1.3.0.tgz",
+ "integrity": "sha1-0VFvsP9WJNLr+RI+odrFoZlABPg=",
+ "dev": true
+ },
+ "gulp-util": {
+ "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.0.tgz",
+ "integrity": "sha1-b+7cR9aXKCO6zplH/F9GvYo0Zuc=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+ "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz"
+ },
+ "dependencies": {
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz"
+ }
+ }
+ }
+ },
+ "has-ansi": {
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz",
+ "integrity": "sha1-W3cjA03aTSYuWkb7LFjXzCL3FCA=",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
+ "dev": true
+ },
+ "lodash.defaults": {
+ "version": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+ "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
+ }
+ },
+ "lodash.escape": {
+ "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+ "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
+ "dev": true,
+ "requires": {
+ "lodash._escapehtmlchar": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+ "lodash._reunescapedhtml": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
+ }
+ },
+ "lodash.keys": {
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+ }
+ },
+ "lodash.template": {
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+ "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
+ "dev": true,
+ "requires": {
+ "lodash._escapestringchar": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.defaults": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+ "lodash.values": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+ "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz"
+ }
+ },
+ "merge-stream": {
+ "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-0.1.5.tgz",
+ "integrity": "sha1-5oIPet267gA/SMpKWMfFolPV4Fw=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz"
+ },
+ "dependencies": {
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz"
+ }
+ }
+ }
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+ "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "strip-ansi": {
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
+ }
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.1.tgz",
+ "integrity": "sha1-90KzKJPovSYUbnieT9LMssB6cX4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
+ "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
+ "dev": true,
+ "requires": {
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ },
+ "vinyl-fs": {
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.7.tgz",
+ "integrity": "sha1-LiXP5t9cgIGPl/9Be/XCGkHkpJs=",
+ "dev": true,
+ "requires": {
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.1.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-open": {
+ "version": "https://registry.npmjs.org/gulp-open/-/gulp-open-2.1.0.tgz",
+ "integrity": "sha1-rAHu6JjXenrAgS+tTz1T0IaH1Bw=",
+ "dev": true,
+ "requires": {
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz",
+ "open": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "plugin-log": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "gulp-postcss": {
+ "version": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-6.4.0.tgz",
+ "integrity": "sha1-eKMuPIeqbNzsWuHJBeGW1HjoxdU=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-load-config": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+ }
+ },
+ "gulp-rename": {
+ "version": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
+ "dev": true
+ },
+ "gulp-sort": {
+ "version": "https://registry.npmjs.org/gulp-sort/-/gulp-sort-2.0.0.tgz",
+ "integrity": "sha1-xnYqLx8N4KP8WVohWZ0/rI26Gso=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "gulp-sourcemaps": {
+ "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+ "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "graceful-fs": "4.1.11",
+ "strip-bom": "2.0.0",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "1.2.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulp-util": {
+ "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "dev": true,
+ "requires": {
+ "array-differ": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "beeper": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ }
+ }
+ },
+ "gulp-watch": {
+ "version": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-4.3.11.tgz",
+ "integrity": "sha1-Fi/FY96fx3DpH5p845VVE6mhGMA=",
+ "dev": true,
+ "requires": {
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "vinyl-file": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "gulp-wrap": {
+ "version": "https://registry.npmjs.org/gulp-wrap/-/gulp-wrap-0.13.0.tgz",
+ "integrity": "sha1-kPsLSieiZkM4Mv98YSLbXB7olMY=",
+ "dev": true,
+ "requires": {
+ "consolidate": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
+ "es6-promise": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "fs-readfile-promise": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "node.extend": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
+ "vinyl-bufferstream": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz"
+ }
+ },
+ "gulp-wrap-js": {
+ "version": "https://registry.npmjs.org/gulp-wrap-js/-/gulp-wrap-js-0.4.1.tgz",
+ "integrity": "sha1-3uYqpISqupVHqT0f9c0MPQvtwDE=",
+ "dev": true,
+ "requires": {
+ "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "estemplate": "https://registry.npmjs.org/estemplate/-/estemplate-0.5.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz",
+ "integrity": "sha1-xfy9Q+LyOEI8LcmL3db3m3K8NFs=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"
+ }
+ }
+ }
+ },
+ "gulplog": {
+ "version": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "dev": true,
+ "requires": {
+ "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz"
+ }
+ },
+ "har-schema": {
+ "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "requires": {
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
+ }
+ },
+ "has": {
+ "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
+ }
+ },
+ "has-ansi": {
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "has-binary": {
+ "version": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
+ "dev": true,
+ "requires": {
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+ }
+ },
+ "has-cors": {
+ "version": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-gulplog": {
+ "version": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "dev": true,
+ "requires": {
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-values": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ }
+ },
+ "has-values": {
+ "version": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "hasha": {
+ "version": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
+ "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
+ "dev": true,
+ "requires": {
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "hawk": {
+ "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+ }
+ },
+ "hoek": {
+ "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "homedir-polyfill": {
+ "version": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
+ }
+ },
+ "hosted-git-info": {
+ "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
+ "dev": true,
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ }
+ },
+ "http-parser-js": {
+ "version": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz",
+ "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08=",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "integrity": "sha1-etOElGWPhGBeL220Q230EPTlvpo=",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+ "follow-redirects": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
+ "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
+ }
+ },
+ "http-signature": {
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz"
+ }
+ },
+ "iconv-lite": {
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz",
+ "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==",
+ "dev": true
+ },
+ "image-size": {
+ "version": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "imagemin": {
+ "version": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz",
+ "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=",
+ "dev": true,
+ "requires": {
+ "file-type": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
+ "globby": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "make-dir": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "p-pipe": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
+ },
+ "dependencies": {
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ }
+ }
+ },
+ "imagemin-gifsicle": {
+ "version": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz",
+ "integrity": "sha1-N4FSTEV2Eu8EkWrzQkGitCv8tAo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "exec-buffer": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
+ "gifsicle": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
+ "is-gif": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz"
+ }
+ },
+ "imagemin-jpegtran": {
+ "version": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz",
+ "integrity": "sha1-5ogiY7j3kW/duABkDPddLpcNKtY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "exec-buffer": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
+ "is-jpg": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz",
+ "jpegtran-bin": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz"
+ }
+ },
+ "imagemin-optipng": {
+ "version": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz",
+ "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "exec-buffer": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
+ "is-png": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
+ "optipng-bin": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz"
+ }
+ },
+ "imagemin-svgo": {
+ "version": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-6.0.0.tgz",
+ "integrity": "sha1-LdjIKUa+Qqjiy8rjxb8Ae8K4ueg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "buffer-from": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz",
+ "is-svg": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "svgo": "https://registry.npmjs.org/svgo/-/svgo-1.0.5.tgz"
+ },
+ "dependencies": {
+ "coa": {
+ "version": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz",
+ "integrity": "sha1-8/iwsVBz411wJj+xBCyywCPbOK8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "q": "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
+ }
+ },
+ "colors": {
+ "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true,
+ "optional": true
+ },
+ "csso": {
+ "version": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "integrity": "sha1-e564vmFiiXPBsmHhadLwJACOdYs=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "css-tree": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha1-P6nU7zFCy9HDAedmTB81K9gvWjk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "mdn-data": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ }
+ }
+ }
+ },
+ "esprima": {
+ "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
+ "dev": true,
+ "optional": true
+ },
+ "js-yaml": {
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
+ }
+ },
+ "svgo": {
+ "version": "https://registry.npmjs.org/svgo/-/svgo-1.0.5.tgz",
+ "integrity": "sha1-cEA2TAYqBTirrP9EAc6momp6OJo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "coa": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "css-select": "https://registry.npmjs.org/css-select/-/css-select-1.3.0-rc0.tgz",
+ "css-select-base-adapter": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz",
+ "css-tree": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha25.tgz",
+ "css-url-regex": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
+ "csso": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "object.values": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
+ "sax": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "stable": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "unquote": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "util.promisify": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+ }
+ },
+ "indexes-of": {
+ "version": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "indx": {
+ "version": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
+ "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "inherits": {
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz",
+ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.1.0",
+ "chalk": "2.4.1",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.2.0",
+ "figures": "2.0.0",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rxjs": "5.5.11",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "5.4.0"
+ }
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "interpret": {
+ "version": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+ "dev": true
+ },
+ "ip-regex": {
+ "version": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
+ "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
+ "dev": true,
+ "optional": true
+ },
+ "irregular-plurals": {
+ "version": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
+ "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
+ "dev": true
+ },
+ "is": {
+ "version": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
+ "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=",
+ "dev": true
+ },
+ "is-absolute": {
+ "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=",
+ "dev": true,
+ "requires": {
+ "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"
+ }
+ },
+ "is-absolute-url": {
+ "version": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz"
+ }
+ },
+ "is-buffer": {
+ "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
+ }
+ },
+ "is-bzip2": {
+ "version": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
+ "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
+ "dev": true
+ }
+ }
+ },
+ "is-directory": {
+ "version": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
+ }
+ },
+ "is-extendable": {
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "is-gif": {
+ "version": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
+ "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=",
+ "dev": true,
+ "optional": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ }
+ },
+ "is-gzip": {
+ "version": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
+ "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
+ "dev": true
+ },
+ "is-jpg": {
+ "version": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz",
+ "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=",
+ "dev": true,
+ "optional": true
+ },
+ "is-natural-number": {
+ "version": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
+ "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "is-obj": {
+ "version": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-odd": {
+ "version": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
+ "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=",
+ "dev": true
+ }
+ }
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.1"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
+ },
+ "is-plain-obj": {
+ "version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+ "dev": true,
+ "requires": {
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ }
+ },
+ "is-png": {
+ "version": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
+ "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=",
+ "dev": true,
+ "optional": true
+ },
+ "is-posix-bracket": {
+ "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz"
+ }
+ },
+ "is-relative": {
+ "version": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz"
+ }
+ },
+ "is-symbol": {
+ "version": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
+ "dev": true
+ },
+ "is-tar": {
+ "version": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
+ "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-unc-path": {
+ "version": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
+ }
+ },
+ "is-url": {
+ "version": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+ "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+ "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
+ "dev": true
+ },
+ "is-zip": {
+ "version": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
+ "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "isbinaryfile": {
+ "version": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "jasmine-core": {
+ "version": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.5.2.tgz",
+ "integrity": "sha1-b2G9eQYeJ/Q+b5NV5Es8bKtv8pc=",
+ "dev": true
+ },
+ "jpegtran-bin": {
+ "version": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz",
+ "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+ "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+ "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+ }
+ },
+ "js-base64": {
+ "version": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
+ "integrity": "sha1-LlRewrDylX9BNWUQIFIU6Y+tZYI=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"
+ }
+ },
+ "jsbn": {
+ "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+ }
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json3": {
+ "version": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "jsonify": {
+ "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "karma": {
+ "version": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
+ "integrity": "sha1-hcwI6eCiLXzpzKN8ShvoJPaisa4=",
+ "dev": true,
+ "requires": {
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz",
+ "combine-lists": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "connect": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz",
+ "di": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "dom-serialize": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "expand-braces": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "isbinaryfile": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "log4js": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "qjobs": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "socket.io": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
+ "useragent": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz"
+ },
+ "dependencies": {
+ "body-parser": {
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz"
+ }
+ },
+ "bytes": {
+ "version": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "dev": true
+ },
+ "connect": {
+ "version": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
+ "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
+ }
+ },
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "finalhandler": {
+ "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ },
+ "dependencies": {
+ "statuses": {
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
+ "requires": {
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ }
+ },
+ "iconv-lite": {
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
+ "dev": true
+ },
+ "range-parser": {
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true,
+ "requires": {
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ }
+ },
+ "setprototypeof": {
+ "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
+ }
+ },
+ "utils-merge": {
+ "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "dev": true
+ }
+ }
+ },
+ "karma-jasmine": {
+ "version": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
+ "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
+ "dev": true
+ },
+ "karma-phantomjs-launcher": {
+ "version": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
+ "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
+ "dev": true,
+ "requires": {
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "phantomjs-prebuilt": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz"
+ }
+ },
+ "kew": {
+ "version": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+ "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
+ "dev": true
+ },
+ "klaw": {
+ "version": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "lazy-cache": {
+ "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lazy-req": {
+ "version": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
+ "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=",
+ "dev": true,
+ "optional": true
+ },
+ "lazystream": {
+ "version": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "less": {
+ "version": "https://registry.npmjs.org/less/-/less-2.7.3.tgz",
+ "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=",
+ "dev": true,
+ "requires": {
+ "errno": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "image-size": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "levn": {
+ "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
+ }
+ },
+ "liftoff": {
+ "version": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+ "dev": true,
+ "requires": {
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "findup-sync": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "fined": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "flagged-respawn": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "object.map": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz"
+ }
+ },
+ "livereload-js": {
+ "version": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "integrity": "sha1-w6si6Kr1vzUF2A0JjLrWdyZUjJo=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ }
+ }
+ },
+ "lodash": {
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=",
+ "dev": true
+ },
+ "lodash._basecopy": {
+ "version": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+ "dev": true
+ },
+ "lodash._basetostring": {
+ "version": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+ "dev": true
+ },
+ "lodash._basevalues": {
+ "version": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+ "dev": true
+ },
+ "lodash._escapehtmlchar": {
+ "version": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+ "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
+ "dev": true,
+ "requires": {
+ "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz"
+ }
+ },
+ "lodash._escapestringchar": {
+ "version": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+ "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._htmlescapes": {
+ "version": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+ "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._isnative": {
+ "version": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
+ "dev": true
+ },
+ "lodash._objecttypes": {
+ "version": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
+ "dev": true
+ },
+ "lodash._reescape": {
+ "version": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+ "dev": true
+ },
+ "lodash._reevaluate": {
+ "version": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "lodash._reunescapedhtml": {
+ "version": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+ "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
+ "dev": true,
+ "requires": {
+ "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
+ },
+ "dependencies": {
+ "lodash.keys": {
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+ }
+ }
+ }
+ },
+ "lodash._root": {
+ "version": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+ "dev": true
+ },
+ "lodash._shimkeys": {
+ "version": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+ }
+ },
+ "lodash.clone": {
+ "version": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
+ "dev": true
+ },
+ "lodash.defaults": {
+ "version": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
+ "dev": true
+ },
+ "lodash.escape": {
+ "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "dev": true,
+ "requires": {
+ "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
+ }
+ },
+ "lodash.flatten": {
+ "version": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
+ "dev": true
+ },
+ "lodash.isarguments": {
+ "version": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isequal": {
+ "version": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
+ },
+ "lodash.isobject": {
+ "version": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+ "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+ }
+ },
+ "lodash.keys": {
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "lodash.isarguments": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
+ }
+ },
+ "lodash.memoize": {
+ "version": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.merge": {
+ "version": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
+ "integrity": "sha1-rcJdnLmbk5HFliTzefu6YNcRHVQ=",
+ "dev": true
+ },
+ "lodash.partialright": {
+ "version": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
+ "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
+ "dev": true
+ },
+ "lodash.restparam": {
+ "version": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
+ }
+ },
+ "lodash.uniq": {
+ "version": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "lodash.values": {
+ "version": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
+ "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
+ "dev": true,
+ "requires": {
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
+ },
+ "dependencies": {
+ "lodash.keys": {
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+ }
+ }
+ }
+ },
+ "log4js": {
+ "version": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ }
+ }
+ },
+ "logalot": {
+ "version": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
+ "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "squeak": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz"
+ }
+ },
+ "longest": {
+ "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loud-rejection": {
+ "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
+ }
+ },
+ "lowercase-keys": {
+ "version": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
+ "dev": true
+ },
+ "lpad-align": {
+ "version": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz",
+ "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ },
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
+ },
+ "macaddress": {
+ "version": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
+ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+ "dev": true,
+ "requires": {
+ "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "make-iterator": {
+ "version": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha1-KbM/MSqo9UfEpeSQ9Wr87JkTOtY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "map-cache": {
+ "version": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "map-stream": {
+ "version": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
+ }
+ },
+ "marked": {
+ "version": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz",
+ "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk=",
+ "dev": true
+ },
+ "math-expression-evaluator": {
+ "version": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "math-random": {
+ "version": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+ "dev": true
+ },
+ "mdn-data": {
+ "version": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "integrity": "sha1-ULXU/8RXUnZXPE7tuHgIEqhBnwE=",
+ "dev": true
+ },
+ "media-typer": {
+ "version": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "meow": {
+ "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "merge-stream": {
+ "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "method-override": {
+ "version": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
+ "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "methods": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "vary": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
+ },
+ "dependencies": {
+ "vary": {
+ "version": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "dev": true
+ }
+ }
+ },
+ "methods": {
+ "version": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "nanomatch": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "regex-not": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "to-regex": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ }
+ },
+ "mime": {
+ "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha1-o0kgUKXLm2NFBUHjnZeI0icng9s=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=",
+ "dev": true,
+ "requires": {
+ "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
+ }
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=",
+ "dev": true,
+ "requires": {
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ }
+ },
+ "morgan": {
+ "version": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
+ "dev": true,
+ "requires": {
+ "basic-auth": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "multiparty": {
+ "version": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "stream-counter": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"
+ }
+ },
+ "multipipe": {
+ "version": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz"
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
+ "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "is-odd": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
+ "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "regex-not": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "to-regex": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
+ }
+ },
+ "natives": {
+ "version": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz",
+ "integrity": "sha1-RKV5vmRQfqLW7RygSpQVkVz3VVg=",
+ "dev": true
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
+ "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
+ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
+ "dev": true
+ },
+ "node-fs": {
+ "version": "https://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz",
+ "integrity": "sha1-MjI8zLRsn78PwRgS1FAhzDHTJbs=",
+ "dev": true
+ },
+ "node-status-codes": {
+ "version": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
+ "dev": true
+ },
+ "node.extend": {
+ "version": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz",
+ "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=",
+ "dev": true,
+ "requires": {
+ "is": "https://registry.npmjs.org/is/-/is-3.2.1.tgz"
+ }
+ },
+ "nopt": {
+ "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
+ }
+ },
+ "normalize-package-data": {
+ "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "validate-npm-package-license": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz"
+ }
+ },
+ "normalize-path": {
+ "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
+ }
+ },
+ "normalize-range": {
+ "version": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "prepend-http": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "query-string": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "sort-keys": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz"
+ }
+ },
+ "npm-run-path": {
+ "version": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
+ }
+ },
+ "nth-check": {
+ "version": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
+ }
+ },
+ "num2fraction": {
+ "version": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-component": {
+ "version": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ }
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "object-keys": {
+ "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha1-CcU4VTd1dTEMymL1W7M0q/97PtI=",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ }
+ },
+ "object.defaults": {
+ "version": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+ "dev": true,
+ "requires": {
+ "array-each": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "es-abstract": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz"
+ }
+ },
+ "object.map": {
+ "version": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+ "dev": true,
+ "requires": {
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "make-iterator": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz"
+ }
+ },
+ "object.omit": {
+ "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ },
+ "dependencies": {
+ "for-own": {
+ "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
+ }
+ }
+ }
+ },
+ "object.pick": {
+ "version": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ }
+ },
+ "object.values": {
+ "version": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
+ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "es-abstract": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz"
+ }
+ },
+ "on-finished": {
+ "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
+ }
+ },
+ "on-headers": {
+ "version": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
+ "dev": true
+ },
+ "once": {
+ "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "onetime": {
+ "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "open": {
+ "version": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+ }
+ },
+ "optionator": {
+ "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "options": {
+ "version": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
+ "dev": true
+ },
+ "optipng-bin": {
+ "version": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz",
+ "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+ "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+ "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+ }
+ },
+ "orchestrator": {
+ "version": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "sequencify": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "stream-consume": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
+ "dev": true
+ },
+ "os-filter-obj": {
+ "version": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz",
+ "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=",
+ "dev": true,
+ "optional": true
+ },
+ "os-homedir": {
+ "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-pipe": {
+ "version": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz",
+ "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
+ "dev": true
+ },
+ "parse-filepath": {
+ "version": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "path-root": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
+ }
+ },
+ "parse-glob": {
+ "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "parse-json": {
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
+ }
+ },
+ "parse-passwd": {
+ "version": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "parsejson": {
+ "version": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
+ "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseqs": {
+ "version": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseuri": {
+ "version": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "dev": true,
+ "requires": {
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
+ }
+ },
+ "parseurl": {
+ "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path": {
+ "version": "https://registry.npmjs.org/path/-/path-0.4.9.tgz",
+ "integrity": "sha1-OAxo0BJz5D+TaNetUP7l4+jUd/A=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "path-is-absolute": {
+ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-root": {
+ "version": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+ "dev": true,
+ "requires": {
+ "path-root-regex": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
+ }
+ },
+ "path-root-regex": {
+ "version": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "pause": {
+ "version": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=",
+ "dev": true
+ },
+ "pause-stream": {
+ "version": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
+ "dev": true,
+ "requires": {
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ }
+ },
+ "pend": {
+ "version": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true
+ },
+ "phantomjs-prebuilt": {
+ "version": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
+ "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
+ "extract-zip": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz",
+ "fs-extra": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "hasha": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
+ "kew": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+ "progress": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "request-progress": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
+ "integrity": "sha1-3EIhwrFlGHYL2MOaUtjzVvwA7Sk=",
+ "dev": true
+ }
+ }
+ },
+ "pify": {
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+ }
+ },
+ "plugin-error": {
+ "version": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "dev": true,
+ "requires": {
+ "ansi-cyan": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "ansi-red": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz"
+ }
+ },
+ "arr-union": {
+ "version": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
+ "dev": true
+ },
+ "array-slice": {
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz"
+ }
+ },
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
+ "dev": true
+ }
+ }
+ },
+ "plugin-log": {
+ "version": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz",
+ "integrity": "sha1-hgSc9qsQgzOYqTHzaJy67nteEzM=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz"
+ },
+ "dependencies": {
+ "dateformat": {
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ }
+ }
+ },
+ "plur": {
+ "version": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
+ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
+ "dev": true,
+ "requires": {
+ "irregular-plurals": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz"
+ }
+ },
+ "pluralize": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "js-base64": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"
+ }
+ },
+ "postcss-calc": {
+ "version": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-message-helpers": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "reduce-css-calc": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz"
+ }
+ },
+ "postcss-colormin": {
+ "version": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "uniqs": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "uniqid": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz"
+ }
+ },
+ "postcss-load-config": {
+ "version": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
+ "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "postcss-load-options": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
+ "postcss-load-plugins": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz"
+ }
+ },
+ "postcss-load-options": {
+ "version": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
+ "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ }
+ },
+ "postcss-load-plugins": {
+ "version": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
+ "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "caniuse-api": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-selector-parser": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "vendors": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz"
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-font-values": {
+ "version": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "uniqs": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-selector-parser": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "normalize-url": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "indexes-of": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "uniq": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz"
+ }
+ },
+ "postcss-svgo": {
+ "version": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "svgo": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz"
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "uniqs": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "uniqs": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"
+ }
+ },
+ "prelude-ls": {
+ "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-bytes": {
+ "version": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
+ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
+ "dev": true
+ },
+ "pretty-hrtime": {
+ "version": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=",
+ "dev": true
+ },
+ "progress": {
+ "version": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "dev": true
+ },
+ "promise": {
+ "version": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asap": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
+ }
+ },
+ "prr": {
+ "version": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true,
+ "optional": true
+ },
+ "pseudomap": {
+ "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true
+ },
+ "qjobs": {
+ "version": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=",
+ "dev": true
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "strict-uri-encode": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"
+ }
+ },
+ "random-bytes": {
+ "version": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
+ "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
+ "integrity": "sha1-01SQAw6091eN4pLObfsEqRoSiSM=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "math-random": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=",
+ "dev": true
+ }
+ }
+ },
+ "range-parser": {
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
+ "dev": true
+ }
+ }
+ },
+ "rc": {
+ "version": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "minimist": "1.2.0",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "read-all-stream": {
+ "version": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
+ }
+ },
+ "read-pkg-up": {
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
+ }
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "readdirp": {
+ "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "rechoir": {
+ "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz"
+ }
+ },
+ "redent": {
+ "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
+ }
+ },
+ "reduce-css-calc": {
+ "version": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "math-expression-evaluator": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "reduce-function-call": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "reduce-function-call": {
+ "version": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "regex-cache": {
+ "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"
+ }
+ },
+ "regex-not": {
+ "version": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "safe-regex": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
+ }
+ },
+ "regexp.prototype.flags": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
+ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz"
+ }
+ },
+ "regexpp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz",
+ "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==",
+ "dev": true
+ },
+ "remove-trailing-separator": {
+ "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
+ }
+ },
+ "replace-ext": {
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+ "dev": true
+ },
+ "request": {
+ "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ }
+ }
+ },
+ "request-progress": {
+ "version": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
+ "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
+ "dev": true,
+ "requires": {
+ "throttleit": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz"
+ }
+ },
+ "require-from-string": {
+ "version": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+ "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ }
+ },
+ "requires-port": {
+ "version": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
+ "integrity": "sha1-qt1lY3T9KYruiVvAJrgpdBhnf9M=",
+ "dev": true,
+ "requires": {
+ "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz"
+ }
+ },
+ "resolve-dir": {
+ "version": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "global-modules": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz"
+ }
+ },
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "response-time": {
+ "version": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
+ "dev": true,
+ "requires": {
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ }
+ }
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
+ },
+ "dependencies": {
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
+ }
+ }
+ },
+ "ret": {
+ "version": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
+ }
+ },
+ "rimraf": {
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
+ "dev": true,
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"
+ }
+ },
+ "rndm": {
+ "version": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
+ "dev": true
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
+ "requires": {
+ "is-promise": "2.1.0"
+ }
+ },
+ "run-sequence": {
+ "version": "https://registry.npmjs.org/run-sequence/-/run-sequence-2.2.1.tgz",
+ "integrity": "sha1-HOZD2jb9jH6n4akynaM/wriJhJU=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz"
+ }
+ },
+ "rxjs": {
+ "version": "5.5.11",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz",
+ "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "1.0.1"
+ }
+ },
+ "safe-buffer": {
+ "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sax": {
+ "version": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
+ "dev": true
+ },
+ "seek-bzip": {
+ "version": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+ "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+ "dev": true,
+ "requires": {
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz"
+ }
+ },
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "dev": true
+ },
+ "semver-regex": {
+ "version": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz",
+ "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=",
+ "dev": true,
+ "optional": true
+ },
+ "semver-truncate": {
+ "version": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
+ "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "send": {
+ "version": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
+ "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "destroy": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
+ "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=",
+ "dev": true
+ }
+ }
+ },
+ "sequencify": {
+ "version": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
+ "dev": true
+ },
+ "serve-favicon": {
+ "version": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
+ "dev": true,
+ "requires": {
+ "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "serve-index": {
+ "version": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
+ "dev": true,
+ "requires": {
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "batch": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "serve-static": {
+ "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
+ "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
+ "dev": true,
+ "requires": {
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "send": "https://registry.npmjs.org/send/-/send-0.13.2.tgz"
+ }
+ },
+ "set-immediate-shim": {
+ "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "setprototypeof": {
+ "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"
+ }
+ },
+ "shebang-regex": {
+ "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "sigmund": {
+ "version": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slash": {
+ "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0"
+ }
+ },
+ "snapdragon": {
+ "version": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
+ "dev": true,
+ "requires": {
+ "base": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "use": "https://registry.npmjs.org/use/-/use-3.1.0.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ }
+ },
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "dev": true,
+ "requires": {
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "snapdragon-util": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "is-descriptor": {
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "sntp": {
+ "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "socket.io": {
+ "version": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+ "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "socket.io-adapter": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
+ "socket.io-client": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-adapter": {
+ "version": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
+ "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
+ "dev": true,
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-client": {
+ "version": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
+ "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
+ "dev": true,
+ "requires": {
+ "backo2": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "component-bind": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "engine.io-client": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
+ "has-binary": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "object-component": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "socket.io-parser": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
+ "to-array": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
+ "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "json3": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+ "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz"
+ }
+ },
+ "source-map": {
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=",
+ "dev": true,
+ "requires": {
+ "atob": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
+ "decode-uri-component": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+ }
+ },
+ "source-map-url": {
+ "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sparkles": {
+ "version": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+ "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=",
+ "dev": true
+ },
+ "split": {
+ "version": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
+ "dev": true,
+ "requires": {
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ }
+ },
+ "split-string": {
+ "version": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"
+ }
+ },
+ "sprintf-js": {
+ "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "squeak": {
+ "version": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz",
+ "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "console-stream": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
+ "lpad-align": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz"
+ }
+ },
+ "sshpk": {
+ "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
+ "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
+ "dev": true,
+ "requires": {
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "stable": {
+ "version": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=",
+ "dev": true,
+ "optional": true
+ },
+ "stat-mode": {
+ "version": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+ "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "object-copy": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "dev": true
+ },
+ "stream-combiner": {
+ "version": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
+ "dev": true,
+ "requires": {
+ "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz"
+ }
+ },
+ "stream-combiner2": {
+ "version": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "duplexer2": {
+ "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "stream-consume": {
+ "version": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
+ "integrity": "sha1-0721mMK9CugrjKx6xQsRB6eZbEg=",
+ "dev": true
+ },
+ "stream-counter": {
+ "version": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
+ "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+ }
+ },
+ "stream-shift": {
+ "version": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "strict-uri-encode": {
+ "version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "string.prototype.matchall": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz",
+ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==",
+ "dev": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "es-abstract": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "has-symbols": "1.0.0",
+ "regexp.prototype.flags": "1.2.0"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "stringstream": {
+ "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "strip-bom-stream": {
+ "version": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
+ "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ },
+ "dependencies": {
+ "first-chunk-stream": {
+ "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
+ "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
+ }
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ }
+ }
+ },
+ "strip-dirs": {
+ "version": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+ "is-natural-number": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "sum-up": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz"
+ },
+ "dependencies": {
+ "is-absolute": {
+ "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+ "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
+ "dev": true,
+ "requires": {
+ "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz"
+ }
+ },
+ "is-relative": {
+ "version": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
+ "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
+ "dev": true
+ },
+ "minimist": {
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "strip-eof": {
+ "version": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true,
+ "optional": true
+ },
+ "strip-indent": {
+ "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
+ }
+ },
+ "strip-json-comments": {
+ "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "strip-outer": {
+ "version": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+ "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ }
+ },
+ "sum-up": {
+ "version": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
+ "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
+ "dev": true,
+ "requires": {
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
+ }
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
+ }
+ },
+ "svgo": {
+ "version": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "csso": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "sax": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "whet.extend": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ }
+ }
+ },
+ "symbol-observable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
+ "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
+ "dev": true
+ },
+ "table": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz",
+ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.5.2",
+ "ajv-keywords": "3.2.0",
+ "chalk": "2.4.1",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
+ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "2.0.1",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.4.1",
+ "uri-js": "4.2.2"
+ }
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "5.4.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
+ }
+ },
+ "tar-stream": {
+ "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
+ "integrity": "sha1-+E7xaWJp1iI8pI9uHu7eP36B85U=",
+ "dev": true,
+ "requires": {
+ "bl": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
+ "buffer-alloc": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "fs-constants": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "readable-stream": "2.3.6",
+ "to-buffer": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=",
+ "dev": true,
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "temp-dir": {
+ "version": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "dev": true,
+ "optional": true
+ },
+ "tempfile": {
+ "version": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
+ "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "temp-dir": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "throttleit": {
+ "version": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
+ "dev": true
+ },
+ "through": {
+ "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "through2-concurrent": {
+ "version": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-1.1.1.tgz",
+ "integrity": "sha1-EctOpMnjG8puTB5tukjRxyjDUks=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ }
+ },
+ "through2-filter": {
+ "version": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "tildify": {
+ "version": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ }
+ },
+ "time-stamp": {
+ "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
+ "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
+ "dev": true
+ },
+ "tiny-lr": {
+ "version": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
+ "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
+ "dev": true,
+ "requires": {
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "livereload-js": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz"
+ },
+ "dependencies": {
+ "body-parser": {
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
+ "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
+ "dev": true,
+ "requires": {
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
+ "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
+ "dev": true
+ }
+ }
+ },
+ "bytes": {
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
+ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
+ "dev": true
+ },
+ "debug": {
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
+ },
+ "depd": {
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
+ "dev": true
+ },
+ "ms": {
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "qs": {
+ "version": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
+ "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=",
+ "dev": true
+ }
+ }
+ },
+ "tmp": {
+ "version": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
+ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ }
+ },
+ "to-absolute-glob": {
+ "version": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+ "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ }
+ }
+ },
+ "to-array": {
+ "version": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
+ "dev": true
+ },
+ "to-buffer": {
+ "version": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
+ "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
+ "dev": true,
+ "requires": {
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "regex-not": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "safe-regex": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
+ }
+ },
+ "to-regex-range": {
+ "version": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+ }
+ },
+ "tough-cookie": {
+ "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=",
+ "dev": true,
+ "requires": {
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
+ }
+ },
+ "trim-newlines": {
+ "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-repeated": {
+ "version": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+ "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ }
+ },
+ "tryit": {
+ "version": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
+ "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
+ "dev": true
+ },
+ "tsscmp": {
+ "version": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ },
+ "tweetnacl": {
+ "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-check": {
+ "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
+ }
+ },
+ "type-is": {
+ "version": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=",
+ "dev": true,
+ "requires": {
+ "media-typer": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz"
+ }
+ },
+ "typedarray": {
+ "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true,
+ "optional": true
+ },
+ "uid-safe": {
+ "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
+ "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
+ "dev": true,
+ "requires": {
+ "random-bytes": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz"
+ }
+ },
+ "ultron": {
+ "version": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
+ "dev": true
+ },
+ "unc-path-regex": {
+ "version": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true
+ },
+ "union-value": {
+ "version": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "set-value": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ }
+ },
+ "set-value": {
+ "version": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
+ }
+ }
+ }
+ },
+ "uniq": {
+ "version": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqid": {
+ "version": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+ "dev": true,
+ "requires": {
+ "macaddress": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz"
+ }
+ },
+ "uniqs": {
+ "version": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unique-stream": {
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
+ "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "unquote": {
+ "version": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "dev": true,
+ "optional": true
+ },
+ "unset-value": {
+ "version": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-values": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
+ }
+ },
+ "unzip-response": {
+ "version": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "2.1.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ }
+ }
+ },
+ "urix": {
+ "version": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
+ }
+ },
+ "url-regex": {
+ "version": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
+ "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ip-regex": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz"
+ }
+ },
+ "use": {
+ "version": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
+ "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=",
+ "dev": true,
+ "requires": {
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ }
+ },
+ "user-home": {
+ "version": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+ "dev": true
+ },
+ "useragent": {
+ "version": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+ "integrity": "sha1-IX+UOtVAyyEoZYqyP8lg9qiMmXI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
+ }
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "util.promisify": {
+ "version": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "object.getownpropertydescriptors": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"
+ }
+ },
+ "utils-merge": {
+ "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha1-EsUou51Y0LkmXZovbw/ovhf/HxQ=",
+ "dev": true
+ },
+ "v8flags": {
+ "version": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
+ "dev": true,
+ "requires": {
+ "user-home": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
+ }
+ },
+ "vali-date": {
+ "version": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+ "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+ "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz"
+ }
+ },
+ "vary": {
+ "version": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
+ "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=",
+ "dev": true
+ },
+ "vendors": {
+ "version": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
+ "integrity": "sha1-f8te759WI7FWvOqJ7DfWNnbyGAE=",
+ "dev": true
+ },
+ "verror": {
+ "version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "vhost": {
+ "version": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
+ "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ },
+ "vinyl-assign": {
+ "version": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+ "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
+ "dev": true,
+ "requires": {
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ }
+ }
+ }
+ },
+ "vinyl-bufferstream": {
+ "version": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
+ "integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=",
+ "dev": true,
+ "requires": {
+ "bufferstreams": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz"
+ }
+ },
+ "vinyl-file": {
+ "version": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz",
+ "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "strip-bom-stream": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "vinyl-fs": {
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
+ "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
+ "dev": true,
+ "requires": {
+ "defaults": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+ }
+ },
+ "vinyl": {
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+ }
+ }
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
+ "dev": true,
+ "requires": {
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ }
+ },
+ "void-elements": {
+ "version": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "dev": true
+ },
+ "ware": {
+ "version": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
+ "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
+ "dev": true,
+ "requires": {
+ "wrap-fn": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz"
+ }
+ },
+ "websocket-driver": {
+ "version": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
+ "requires": {
+ "http-parser-js": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz",
+ "websocket-extensions": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz"
+ }
+ },
+ "websocket-extensions": {
+ "version": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=",
+ "dev": true
+ },
+ "when": {
+ "version": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
+ "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
+ "dev": true
+ },
+ "whet.extend": {
+ "version": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which": {
+ "version": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
+ "dev": true,
+ "requires": {
+ "isexe": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+ }
+ },
+ "window-size": {
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true
+ },
+ "wrap-fn": {
+ "version": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
+ "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
+ "dev": true,
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-3.1.0.tgz"
+ },
+ "dependencies": {
+ "co": {
+ "version": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
+ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
+ "dev": true
+ }
+ }
+ },
+ "wrappy": {
+ "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
+ }
+ },
+ "ws": {
+ "version": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
+ "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "dev": true,
+ "requires": {
+ "options": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+ "ultron": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"
+ }
+ },
+ "wtf-8": {
+ "version": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
+ "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
+ "dev": true
+ },
+ "xmlhttprequest-ssl": {
+ "version": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
+ "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
+ }
+ },
+ "yauzl": {
+ "version": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "dev": true,
+ "requires": {
+ "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz"
+ }
+ },
+ "yeast": {
+ "version": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
+ "dev": true
+ }
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json
index 6e390b8b24..017eb5dce2 100644
--- a/src/Umbraco.Web.UI.Client/package.json
+++ b/src/Umbraco.Web.UI.Client/package.json
@@ -27,6 +27,7 @@
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-connect": "5.0.0",
+ "gulp-eslint": "^5.0.0",
"gulp-imagemin": "^4.1.0",
"gulp-less": "^3.5.0",
"gulp-ngdocs": "^0.3.0",
diff --git a/src/Umbraco.Web.UI.Client/src/assets/fonts/web.config b/src/Umbraco.Web.UI.Client/src/assets/fonts/web.config
new file mode 100644
index 0000000000..42051b6de2
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/assets/fonts/web.config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/config/canvasdesigner.config.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/config/canvasdesigner.config.js
index 54a27cc415..f49e6520db 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/config/canvasdesigner.config.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/config/canvasdesigner.config.js
@@ -12,7 +12,7 @@ var canvasdesignerConfig = {
{
type: "background",
category: "Color",
- name: "Background",
+ name: "Background"
},
{
type: "color",
@@ -45,12 +45,12 @@ var canvasdesignerConfig = {
{
type: "background",
category: "Color",
- name: "Background",
+ name: "Background"
},
{
type: "border",
category: "Color",
- name: "Border",
+ name: "Border"
},
{
type: "color",
@@ -83,7 +83,7 @@ var canvasdesignerConfig = {
{
type: "googlefontpicker",
category: "Font",
- name: "Font familly",
+ name: "Font familly"
}
]
},
@@ -105,7 +105,7 @@ var canvasdesignerConfig = {
name: "Margin",
enable: ["top", "bottom"],
schema: "#header"
- },
+ }
]
},
{
@@ -124,7 +124,7 @@ var canvasdesignerConfig = {
type: "color",
category: "Font",
name: "Font color",
- css: "color",
+ css: "color"
}
]
},
@@ -137,7 +137,7 @@ var canvasdesignerConfig = {
type: "color",
category: "Font",
name: "Font color",
- css: "color",
+ css: "color"
}
]
},
@@ -150,7 +150,7 @@ var canvasdesignerConfig = {
type: "color",
category: "Font",
name: "Font color",
- css: "color",
+ css: "color"
},
{
type: "slider",
@@ -163,7 +163,7 @@ var canvasdesignerConfig = {
{
type: "margin",
category: "Position",
- name: "Margin",
+ name: "Margin"
}
]
@@ -177,7 +177,7 @@ var canvasdesignerConfig = {
type: "color",
category: "Font",
name: "Font color",
- css: "color",
+ css: "color"
},
{
type: "slider",
@@ -190,7 +190,7 @@ var canvasdesignerConfig = {
{
type: "margin",
category: "Position",
- name: "Margin",
+ name: "Margin"
}
]
@@ -216,7 +216,7 @@ var canvasdesignerConfig = {
{
type: "background",
category: "Color",
- name: "Background",
+ name: "Background"
},
{
type: "padding",
@@ -305,7 +305,7 @@ var canvasdesignerConfig = {
name: "Background Hover",
css: "background",
schema: ".button-alt:hover"
- },
+ }
]
}
]
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/border.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/border.js
index bf64ad3fa0..37a284df92 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/border.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/border.js
@@ -73,7 +73,7 @@ angular.module("Umbraco.canvasdesigner")
topbordertype: 'solid',
bottombordersize: '',
bottombordercolor: '',
- bottombordertype: 'solid',
+ bottombordertype: 'solid'
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/googlefontpicker.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/googlefontpicker.js
index ce6bf2c9f7..e89fc4db2c 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/googlefontpicker.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/googlefontpicker.js
@@ -12,7 +12,7 @@ angular.module("Umbraco.canvasdesigner")
fontFamily: '',
fontType: '',
fontWeight: '',
- fontStyle: '',
+ fontStyle: ''
}
}
@@ -74,7 +74,7 @@ angular.module("Umbraco.canvasdesigner")
fontType: "safe",
fontFamily: value,
fontWeight: "normal",
- fontStyle: "normal",
+ fontStyle: "normal"
});
});
@@ -121,7 +121,7 @@ angular.module("Umbraco.canvasdesigner")
fontFamily: $scope.selectedFont.fontFamily,
fontType: $scope.selectedFont.fontType,
fontWeight: $scope.selectedFont.fontWeight,
- fontStyle: $scope.selectedFont.fontStyle,
+ fontStyle: $scope.selectedFont.fontStyle
});
}
});
@@ -161,7 +161,7 @@ angular.module("Umbraco.canvasdesigner")
fontFamily: $scope.selectedFont.fontFamily,
fontType: $scope.selectedFont.fontType,
fontWeight: $scope.selectedFont.fontWeight,
- fontStyle: $scope.selectedFont.fontStyle,
+ fontStyle: $scope.selectedFont.fontStyle
});
}
@@ -178,7 +178,7 @@ angular.module("Umbraco.canvasdesigner")
fontFamily: $scope.selectedFont.fontFamily,
fontType: $scope.selectedFont.fontType,
fontWeight: $scope.selectedFont.fontWeight,
- fontStyle: $scope.selectedFont.fontStyle,
+ fontStyle: $scope.selectedFont.fontStyle
});
};
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/margin.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/margin.js
index 617421f702..f1d2032e16 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/margin.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/margin.js
@@ -12,7 +12,7 @@ angular.module("Umbraco.canvasdesigner")
$scope.selectedmargin = {
name: "",
- value: 0,
+ value: 0
};
$scope.setSelectedmargin = function (margintype) {
@@ -50,7 +50,7 @@ angular.module("Umbraco.canvasdesigner")
leftmarginvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 1 ? $scope.item.defaultValue[1] : '',
rightmarginvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 2 ? $scope.item.defaultValue[2] : '',
topmarginvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 3 ? $scope.item.defaultValue[3] : '',
- bottommarginvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : '',
+ bottommarginvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : ''
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/padding.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/padding.js
index 81690cd7e4..b0f311872e 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/padding.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/padding.js
@@ -12,7 +12,7 @@ angular.module("Umbraco.canvasdesigner")
$scope.selectedpadding = {
name: "",
- value: 0,
+ value: 0
};
$scope.setSelectedpadding = function (paddingtype) {
@@ -50,7 +50,7 @@ angular.module("Umbraco.canvasdesigner")
leftpaddingvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 1 ? $scope.item.defaultValue[1] : '',
rightpaddingvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 2 ? $scope.item.defaultValue[2] : '',
toppaddingvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 3 ? $scope.item.defaultValue[3] : '',
- bottompaddingvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : '',
+ bottompaddingvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : ''
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/radius.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/radius.js
index 7305591a83..85edb849bc 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/radius.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/radius.js
@@ -12,7 +12,7 @@ angular.module("Umbraco.canvasdesigner")
$scope.selectedradius = {
name: "",
- value: 0,
+ value: 0
};
$scope.setSelectedradius = function (radiustype) {
@@ -50,7 +50,7 @@ angular.module("Umbraco.canvasdesigner")
topleftradiusvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 1 ? $scope.item.defaultValue[1] : '',
toprightradiusvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 2 ? $scope.item.defaultValue[2] : '',
bottomleftradiusvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 3 ? $scope.item.defaultValue[3] : '',
- bottomrightradiusvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : '',
+ bottomrightradiusvalue: $scope.item.defaultValue && $scope.item.defaultValue.length > 4 ? $scope.item.defaultValue[4] : ''
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/canvasdesigner/lib/spectrum.directive.js b/src/Umbraco.Web.UI.Client/src/canvasdesigner/lib/spectrum.directive.js
index 214190a9b9..eb23549bd0 100644
--- a/src/Umbraco.Web.UI.Client/src/canvasdesigner/lib/spectrum.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/canvasdesigner/lib/spectrum.directive.js
@@ -48,7 +48,7 @@ angular.module('spectrumcolorpicker', [])
scope.colorselected = initColor;
scope.$apply();
});
- },
+ }
});
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js
index ced59653dd..39e4f10666 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js
@@ -103,7 +103,7 @@
backdropOpacity: "=?",
highlightElement: "=?",
highlightPreventClick: "=?",
- disableEventsOnClick: "=?",
+ disableEventsOnClick: "=?"
}
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js
index 55641b6ec7..7333d033b1 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js
@@ -8,7 +8,7 @@
Added in Umbraco 7.8 . The tour component is a global component and is already added to the umbraco markup.
In the Umbraco UI the tours live in the "Help drawer" which opens when you click the Help-icon in the bottom left corner of Umbraco.
You can easily add you own tours to the Help-drawer or show and start tours from
-anywhere in the Umbraco backoffice. To see a real world example of a custom tour implementation, install The Starter Kit in Umbraco 7.8
+anywhere in the Umbraco backoffice. To see a real world example of a custom tour implementation, install The Starter Kit in Umbraco 7.8
Extending the help drawer with custom tours
The easiet way to add new tours to Umbraco is through the Help-drawer. All it requires is a my-tour.json file.
@@ -304,6 +304,12 @@ In the following example you see how to run some custom logic before a step goes
scope.elementNotFound = false;
$timeout(function () {
+ // clear element when step as marked as intro, so it always displays in the center
+ if (scope.model.currentStep && scope.model.currentStep.type === "intro") {
+ scope.model.currentStep.element = null;
+ scope.model.currentStep.eventElement = null;
+ scope.model.currentStep.event = null;
+ }
// if an element isn't set - show the popover in the center
if(scope.model.currentStep && !scope.model.currentStep.element) {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js
index a7bdd4b741..e3c4cbf40c 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js
@@ -64,7 +64,7 @@
(function () {
'use strict';
- function ToggleDirective(localizationService) {
+ function ToggleDirective(localizationService, eventsService) {
function link(scope, el, attr, ctrl) {
@@ -73,6 +73,7 @@
function onInit() {
setLabelText();
+ eventsService.emit("toggleValue", { value: scope.checked });
}
function setLabelText() {
@@ -98,7 +99,8 @@
}
scope.click = function() {
- if(scope.onClick) {
+ if (scope.onClick) {
+ eventsService.emit("toggleValue", { value: !scope.checked });
scope.onClick();
}
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
index e76ac36b20..5bcab56f48 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
@@ -77,6 +77,8 @@
resetLastListPageNumber($scope.content);
+ eventsService.emit("content.loaded", { content: $scope.content });
+
$scope.page.loading = false;
});
@@ -130,6 +132,8 @@
$scope.page.buttonGroupState = "busy";
+ eventsService.emit("content.saving", { content: $scope.content, action: args.action });
+
contentEditingHelper.contentEditorPerformSave({
statusMessage: args.statusMessage,
saveMethod: args.saveMethod,
@@ -144,6 +148,9 @@
$scope.page.buttonGroupState = "success";
deferred.resolve(data);
+
+ eventsService.emit("content.saved", { content: $scope.content, action: args.action });
+
}, function (err) {
//error
if (err) {
@@ -183,7 +190,9 @@
$scope.page.loading = false;
- });
+ eventsService.emit("content.newReady", { content: $scope.content });
+
+ });
}
else {
@@ -192,35 +201,52 @@
}
- $scope.unPublish = function () {
+ $scope.unPublish = function () {
+ // raising the event triggers the confirmation dialog
+ if (!notificationsService.hasView()) {
+ notificationsService.add({ view: "confirmunpublish" });
+ }
+
+ $scope.page.buttonGroupState = "busy";
- if (formHelper.submitForm({ scope: $scope, statusMessage: "Unpublishing...", skipValidation: true })) {
+ // actioning the dialog raises the confirmUnpublish event, act on it here
+ var actioned = $rootScope.$on("content.confirmUnpublish", function(event, confirmed) {
+ if (confirmed && formHelper.submitForm({ scope: $scope, statusMessage: "Unpublishing...", skipValidation: true })) {
+
+ eventsService.emit("content.unpublishing", { content: $scope.content });
- $scope.page.buttonGroupState = "busy";
+ contentResource.unPublish($scope.content.id)
+ .then(function (data) {
- contentResource.unPublish($scope.content.id)
- .then(function (data) {
+ formHelper.resetForm({ scope: $scope, notifications: data.notifications });
- formHelper.resetForm({ scope: $scope, notifications: data.notifications });
+ contentEditingHelper.handleSuccessfulSave({
+ scope: $scope,
+ savedContent: data,
+ rebindCallback: contentEditingHelper.reBindChangedProperties($scope.content, data)
+ });
- contentEditingHelper.handleSuccessfulSave({
- scope: $scope,
- savedContent: data,
- rebindCallback: contentEditingHelper.reBindChangedProperties($scope.content, data)
- });
+ init($scope.content);
- init($scope.content);
+ syncTreeNode($scope.content, data.path);
- syncTreeNode($scope.content, data.path);
-
- $scope.page.buttonGroupState = "success";
-
- }, function(err) {
- formHelper.showNotifications(err.data);
- $scope.page.buttonGroupState = 'error';
- });
- }
+ $scope.page.buttonGroupState = "success";
+ eventsService.emit("content.unpublished", { content: $scope.content });
+ }, function(err) {
+ formHelper.showNotifications(err.data);
+ $scope.page.buttonGroupState = 'error';
+ });
+
+ } else {
+ $scope.page.buttonGroupState = "init";
+ }
+
+ // unsubscribe to avoid queueing notifications
+ // listener is re-bound when the unpublish button is clicked so it is created just-in-time
+ actioned();
+
+ });
};
$scope.sendToPublish = function () {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js
index b2bbd9006a..7f9d05aebc 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js
@@ -10,10 +10,12 @@
scope.publishStatus = {};
scope.disableTemplates = Umbraco.Sys.ServerVariables.features.disabledFeatures.disableTemplates;
-
- function onInit() {
- scope.allowOpen = true;
+ function onInit() {
+ // If logged in user has access to the settings section
+ // show the open anchors - if the user doesn't have
+ // access, documentType is null, see ContentModelMapper
+ scope.allowOpen = scope.node.documentType !== null;
scope.datePickerConfig = {
pickDate: true,
@@ -41,8 +43,13 @@
// make sure dates are formatted to the user's locale
formatDatesToLocal();
+ // Make sure to set the node status
setNodePublishStatus(scope.node);
-
+
+ // Declare a fallback URL for the directive
+ if (scope.documentType !== null) {
+ scope.previewOpenUrl = '#/settings/documenttypes/edit/' + scope.documentType.id;
+ }
}
scope.auditTrailPageChange = function (pageNumber) {
@@ -50,11 +57,16 @@
loadAuditTrail();
};
- scope.openDocumentType = function (documentType) {
+ scope.openDocumentType = function (documentType) {
var url = "/settings/documenttypes/edit/" + documentType.id;
$location.url(url);
};
+ scope.openTemplate = function () {
+ var url = "/settings/templates/edit/" + scope.node.templateId;
+ $location.url(url);
+ }
+
scope.updateTemplate = function (templateAlias) {
// update template value
@@ -91,7 +103,7 @@
item.timestampFormatted = dateHelper.getLocalDate(item.timestamp, currentUser.locale, 'LLL');
});
});
-
+
scope.auditTrail = data.items;
scope.auditTrailOptions.pageNumber = data.pageNumber;
scope.auditTrailOptions.pageSize = data.pageSize;
@@ -99,7 +111,7 @@
scope.auditTrailOptions.totalPages = data.totalPages;
setAuditTrailLogTypeColor(scope.auditTrail);
-
+
scope.loadingAuditTrail = false;
});
@@ -107,6 +119,7 @@
function setAuditTrailLogTypeColor(auditTrail) {
angular.forEach(auditTrail, function (item) {
+
switch (item.logType) {
case "Publish":
item.logTypeColor = "success";
@@ -122,7 +135,6 @@
}
function setNodePublishStatus(node) {
-
// deleted node
if(node.trashed === true) {
scope.publishStatus.label = localizationService.localize("general_deleted");
@@ -216,7 +228,7 @@
eventsService.emit("editors.content.changeUnpublishDate", args);
}
-
+
function ucfirst(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
@@ -225,13 +237,13 @@
// get current backoffice user and format dates
userService.getCurrentUser().then(function (currentUser) {
scope.node.createDateFormatted = dateHelper.getLocalDate(scope.node.createDate, currentUser.locale, 'LLL');
-
+
scope.node.releaseDateYear = scope.node.releaseDate ? ucfirst(dateHelper.getLocalDate(scope.node.releaseDate, currentUser.locale, 'YYYY')) : null;
scope.node.releaseDateMonth = scope.node.releaseDate ? ucfirst(dateHelper.getLocalDate(scope.node.releaseDate, currentUser.locale, 'MMMM')) : null;
scope.node.releaseDateDayNumber = scope.node.releaseDate ? ucfirst(dateHelper.getLocalDate(scope.node.releaseDate, currentUser.locale, 'DD')) : null;
scope.node.releaseDateDay = scope.node.releaseDate ? ucfirst(dateHelper.getLocalDate(scope.node.releaseDate, currentUser.locale, 'dddd')) : null;
scope.node.releaseDateTime = scope.node.releaseDate ? ucfirst(dateHelper.getLocalDate(scope.node.releaseDate, currentUser.locale, 'HH:mm')) : null;
-
+
scope.node.removeDateYear = scope.node.removeDate ? ucfirst(dateHelper.getLocalDate(scope.node.removeDate, currentUser.locale, 'YYYY')) : null;
scope.node.removeDateMonth = scope.node.removeDate ? ucfirst(dateHelper.getLocalDate(scope.node.removeDate, currentUser.locale, 'MMMM')) : null;
scope.node.removeDateDayNumber = scope.node.removeDate ? ucfirst(dateHelper.getLocalDate(scope.node.removeDate, currentUser.locale, 'DD')) : null;
@@ -256,8 +268,8 @@
scope.$watch('node.updateDate', function(newValue, oldValue){
if(!newValue) { return; }
- if(newValue === oldValue) { return; }
-
+ if(newValue === oldValue) { return; }
+
if(isInfoTab) {
loadAuditTrail();
formatDatesToLocal();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
index 255897e3f8..9f558ea7e4 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
@@ -212,6 +212,8 @@ Use this directive to construct a header inside the main editor window.
scope.dialogModel = {
view: "iconpicker",
show: true,
+ icon: scope.icon.split(' ')[0],
+ color: scope.icon.split(' ')[1],
submit: function (model) {
/* ensure an icon is selected, because on focus on close button
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/checklistmodel.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/checklistmodel.directive.js
index 181d8a1881..a89477b001 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/checklistmodel.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/checklistmodel.directive.js
@@ -1,6 +1,6 @@
/*
- http://vitalets.github.io/checklist-model/
+ https://vitalets.github.io/checklist-model/
{{role.text}}
@@ -19,7 +19,7 @@ angular.module('umbraco.directives')
return false;
}
- // add
+ // add
function add(arr, item) {
arr = angular.isArray(arr) ? arr : [];
for (var i = 0; i < arr.length; i++) {
@@ -44,7 +44,7 @@ angular.module('umbraco.directives')
return arr;
}
- // http://stackoverflow.com/a/19228302/1458162
+ // https://stackoverflow.com/a/19228302/1458162
function postLinkFn(scope, elem, attrs) {
// compile with `ng-model` pointing to `checked`
$compile(elem)(scope);
@@ -98,4 +98,4 @@ angular.module('umbraco.directives')
return postLinkFn;
}
};
-}]);
\ No newline at end of file
+}]);
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js
index bb16edf761..a0fbd2c24a 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js
@@ -27,7 +27,7 @@ Use this directive to construct a title. Recommended to use it inside an {@link
-{@link https://our.umbraco.org/documentation/extending/language-files/ Here you can see more about the language files}
+{@link https://our.umbraco.com/documentation/extending/language-files/ Here you can see more about the language files}
Use in combination with:
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagecrop.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagecrop.directive.js
index 135d806aa4..a287ec0476 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagecrop.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagecrop.directive.js
@@ -53,7 +53,7 @@ angular.module("umbraco.directives")
var $container = element.find(".crop-container");
//default constraints for drag n drop
- var constraints = {left: {max: scope.dimensions.margin, min: scope.dimensions.margin}, top: {max: scope.dimensions.margin, min: scope.dimensions.margin}, };
+ var constraints = {left: {max: scope.dimensions.margin, min: scope.dimensions.margin}, top: {max: scope.dimensions.margin, min: scope.dimensions.margin} };
scope.constraints = constraints;
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/media/umbmedianodeinfo.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/media/umbmedianodeinfo.directive.js
index 1aa026cb3a..efdeceb78f 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/media/umbmedianodeinfo.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/media/umbmedianodeinfo.directive.js
@@ -8,11 +8,16 @@
var evts = [];
function onInit() {
- scope.allowOpenMediaType = true;
+ // If logged in user has access to the settings section
+ // show the open anchors - if the user doesn't have
+ // access, contentType is null, see MediaModelMapper
+ scope.allowOpen = scope.node.contentType !== null;
+
// get document type details
scope.mediaType = scope.node.contentType;
- // get node url
- scope.nodeUrl = scope.node.mediaLink;
+
+ // set the media link initially
+ setMediaLink();
// make sure dates are formatted to the user's locale
formatDatesToLocal();
}
@@ -25,16 +30,25 @@
});
}
+ function setMediaLink(){
+ scope.nodeUrl = scope.node.mediaLink;
+ }
+
scope.openMediaType = function (mediaType) {
// remove first "#" from url if it is prefixed else the path won't work
var url = "/settings/mediaTypes/edit/" + mediaType.id;
$location.path(url);
};
-
+
// watch for content updates - reload content when node is saved, published etc.
scope.$watch('node.updateDate', function(newValue, oldValue){
if(!newValue) { return; }
if(newValue === oldValue) { return; }
+
+ // Update the media link
+ setMediaLink();
+
+ // Update the create and update dates
formatDatesToLocal();
});
@@ -46,7 +60,6 @@
});
onInit();
-
}
var directive = {
@@ -64,4 +77,4 @@
angular.module('umbraco.directives').directive('umbMediaNodeInfo', MediaNodeInfoDirective);
-})();
\ No newline at end of file
+})();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js
index cce4e0d792..d36836f440 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js
@@ -140,37 +140,7 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
//Filter the path for root node ids (we don't want to pass in -1 or 'init')
args.path = _.filter(args.path, function (item) { return (item !== "init" && item !== "-1"); });
-
- //Once those are filtered we need to check if the current user has a special start node id,
- // if they do, then we're going to trim the start of the array for anything found from that start node
- // and previous so that the tree syncs properly. The tree syncs from the top down and if there are parts
- // of the tree's path in there that don't actually exist in the dom/model then syncing will not work.
-
- userService.getCurrentUser().then(function (userData) {
-
- var startNodes = [];
- for (var i = 0; i < userData.startContentIds; i++) {
- startNodes.push(userData.startContentIds[i]);
- }
- for (var j = 0; j < userData.startMediaIds; j++) {
- startNodes.push(userData.startMediaIds[j]);
- }
-
- _.each(startNodes, function (i) {
- var found = _.find(args.path, function (p) {
- return String(p) === String(i);
- });
- if (found) {
- args.path = args.path.splice(_.indexOf(args.path, found));
- }
- });
-
-
- loadPath(args.path, args.forceReload, args.activate);
-
- });
-
-
+ loadPath(args.path, args.forceReload, args.activate);
return deferred.promise;
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbGenerateAlias.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbGenerateAlias.directive.js
index 4bc6f08eb9..66e93d70d8 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbGenerateAlias.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbGenerateAlias.directive.js
@@ -82,7 +82,7 @@ angular.module("umbraco.directives")
generateAliasTimeout = $timeout(function () {
updateAlias = true;
- entityResource.getSafeAlias(value, true).then(function (safeAlias) {
+ entityResource.getSafeAlias(encodeURIComponent(value), true).then(function (safeAlias) {
if (updateAlias) {
scope.alias = safeAlias.alias;
}
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbaceeditor.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbaceeditor.directive.js
index ca389a74a7..a215bca645 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbaceeditor.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbaceeditor.directive.js
@@ -161,7 +161,7 @@
/**
* ACE editor session.
* @type object
- * @see [EditSession]{@link http://ace.c9.io/#nav=api&api=edit_session}
+ * @see [EditSession]{@link https://ace.c9.io/#nav=api&api=edit_session}
*/
var session = acee.getSession();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js
new file mode 100644
index 0000000000..6ed65a9431
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js
@@ -0,0 +1,61 @@
+
+/**
+@ngdoc directive
+@name umbraco.directives.directive:umbColorSwatches
+@restrict E
+@scope
+@description
+Use this directive to generate color swatches to pick from.
+Markup example
+
+
+
+
+@param {array} colors (attribute): The array of colors.
+@param {string} colors (attribute): The array of colors.
+@param {string} selectedColor (attribute): The selected color.
+@param {string} size (attribute): The size (s, m).
+@param {function} onSelect (expression): Callback function when the item is selected.
+**/
+
+(function () {
+ 'use strict';
+
+ function ColorSwatchesDirective() {
+
+ function link(scope, el, attr, ctrl) {
+
+ scope.setColor = function (color) {
+ //scope.selectedColor({color: color });
+ scope.selectedColor = color;
+
+ if (scope.onSelect) {
+ scope.onSelect(color);
+ }
+ };
+ }
+
+ var directive = {
+ restrict: 'E',
+ replace: true,
+ transclude: true,
+ templateUrl: 'views/components/umb-color-swatches.html',
+ scope: {
+ colors: '=?',
+ size: '@',
+ selectedColor: '=',
+ onSelect: '&'
+ },
+ link: link
+ };
+
+ return directive;
+
+ }
+
+ angular.module('umbraco.directives').directive('umbColorSwatches', ColorSwatchesDirective);
+
+})();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js
index 19ab789363..8d2b83d065 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js
@@ -7,7 +7,7 @@
@description
Added in Umbraco version 7.6
This directive is a wrapper of the bootstrap datetime picker version 3.1.3. Use it to render a date time picker.
-For extra details about options and events take a look here: http://eonasdan.github.io/bootstrap-datetimepicker/
+For extra details about options and events take a look here: https://eonasdan.github.io/bootstrap-datetimepicker/
Use this directive to render a date time picker
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdropdownitem.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdropdownitem.directive.js
index 59b2b827eb..1c302ca90f 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdropdownitem.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdropdownitem.directive.js
@@ -17,7 +17,7 @@
restrict: 'E',
replace: true,
transclude: true,
- templateUrl: 'views/components/umb-dropdown-item.html',
+ templateUrl: 'views/components/umb-dropdown-item.html'
};
return directive;
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
index f8bdb50e32..127386e34d 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
@@ -1,7 +1,7 @@
-(function() {
+(function () {
'use strict';
- function GridSelector() {
+ function GridSelector($location) {
function link(scope, el, attr, ctrl) {
@@ -11,18 +11,18 @@
scope.itemLabel = "";
// set default item name
- if(!scope.itemName){
+ if (!scope.itemName) {
scope.itemLabel = "item";
} else {
scope.itemLabel = scope.itemName;
}
- scope.removeItem = function(selectedItem) {
+ scope.removeItem = function (selectedItem) {
var selectedItemIndex = scope.selectedItems.indexOf(selectedItem);
scope.selectedItems.splice(selectedItemIndex, 1);
};
- scope.removeDefaultItem = function() {
+ scope.removeDefaultItem = function () {
// it will be the last item so we can clear the array
scope.selectedItems = [];
@@ -32,7 +32,7 @@
};
- scope.openItemPicker = function($event){
+ scope.openItemPicker = function ($event) {
scope.dialogModel = {
view: "itempicker",
title: "Choose " + scope.itemLabel,
@@ -40,11 +40,11 @@
selectedItems: scope.selectedItems,
event: $event,
show: true,
- submit: function(model) {
+ submit: function (model) {
scope.selectedItems.push(model.selectedItem);
// if no default item - set item as default
- if(scope.defaultItem === null) {
+ if (scope.defaultItem === null) {
scope.setAsDefaultItem(model.selectedItem);
}
@@ -54,7 +54,12 @@
};
};
- scope.setAsDefaultItem = function(selectedItem) {
+ scope.openTemplate = function (selectedItem) {
+ var url = "/settings/templates/edit/" + selectedItem.id;
+ $location.url(url);
+ }
+
+ scope.setAsDefaultItem = function (selectedItem) {
// clear default item
scope.defaultItem = {};
@@ -65,69 +70,69 @@
function updatePlaceholders() {
- // update default item
- if(scope.defaultItem !== null && scope.defaultItem.placeholder) {
+ // update default item
+ if (scope.defaultItem !== null && scope.defaultItem.placeholder) {
- scope.defaultItem.name = scope.name;
+ scope.defaultItem.name = scope.name;
- if(scope.alias !== null && scope.alias !== undefined) {
- scope.defaultItem.alias = scope.alias;
- }
-
- }
-
- // update selected items
- angular.forEach(scope.selectedItems, function(selectedItem) {
- if(selectedItem.placeholder) {
-
- selectedItem.name = scope.name;
-
- if(scope.alias !== null && scope.alias !== undefined) {
- selectedItem.alias = scope.alias;
- }
+ if (scope.alias !== null && scope.alias !== undefined) {
+ scope.defaultItem.alias = scope.alias;
+ }
}
- });
- // update availableItems
- angular.forEach(scope.availableItems, function(availableItem) {
- if(availableItem.placeholder) {
+ // update selected items
+ angular.forEach(scope.selectedItems, function (selectedItem) {
+ if (selectedItem.placeholder) {
- availableItem.name = scope.name;
+ selectedItem.name = scope.name;
- if(scope.alias !== null && scope.alias !== undefined) {
- availableItem.alias = scope.alias;
- }
+ if (scope.alias !== null && scope.alias !== undefined) {
+ selectedItem.alias = scope.alias;
+ }
- }
- });
+ }
+ });
+
+ // update availableItems
+ angular.forEach(scope.availableItems, function (availableItem) {
+ if (availableItem.placeholder) {
+
+ availableItem.name = scope.name;
+
+ if (scope.alias !== null && scope.alias !== undefined) {
+ availableItem.alias = scope.alias;
+ }
+
+ }
+ });
}
function activate() {
- // add watchers for updating placeholde name and alias
- if(scope.updatePlaceholder) {
- eventBindings.push(scope.$watch('name', function(newValue, oldValue){
- updatePlaceholders();
- }));
+ // add watchers for updating placeholde name and alias
+ if (scope.updatePlaceholder) {
+ eventBindings.push(scope.$watch('name', function (newValue, oldValue) {
+ updatePlaceholders();
+ }));
- eventBindings.push(scope.$watch('alias', function(newValue, oldValue){
- updatePlaceholders();
- }));
- }
+ eventBindings.push(scope.$watch('alias', function (newValue, oldValue) {
+ updatePlaceholders();
+ }));
+ }
}
activate();
// clean up
- scope.$on('$destroy', function(){
+ scope.$on('$destroy', function () {
- // clear watchers
- for(var e in eventBindings) {
- eventBindings[e]();
- }
+ // clear watchers
+ for (var e in eventBindings) {
+ eventBindings[e]();
+ }
});
@@ -138,13 +143,13 @@
replace: true,
templateUrl: 'views/components/umb-grid-selector.html',
scope: {
- name: "=",
- alias: "=",
- selectedItems: '=',
- availableItems: "=",
- defaultItem: "=",
- itemName: "@",
- updatePlaceholder: "="
+ name: "=",
+ alias: "=",
+ selectedItems: '=',
+ availableItems: "=",
+ defaultItem: "=",
+ itemName: "@",
+ updatePlaceholder: "="
},
link: link
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js
index 63cddbf1bf..db0bc9a1d8 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js
@@ -57,7 +57,7 @@
},
stop: function(e, ui) {
updateTabsSortOrder();
- },
+ }
};
scope.sortableOptionsProperty = {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umblaunchminieditor.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umblaunchminieditor.directive.js
index 11b934ce96..0f0ca9dd1b 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umblaunchminieditor.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umblaunchminieditor.directive.js
@@ -12,7 +12,7 @@ angular.module("umbraco.directives")
restrict: 'A',
replace: false,
scope: {
- node: '=umbLaunchMiniEditor',
+ node: '=umbLaunchMiniEditor'
},
link: function(scope, element, attrs) {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umblistviewsettings.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umblistviewsettings.directive.js
index f21f7b8d3d..26583b108b 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umblistviewsettings.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umblistviewsettings.directive.js
@@ -1,9 +1,9 @@
(function() {
'use strict';
- function ListViewSettingsDirective(contentTypeResource, dataTypeResource, dataTypeHelper, listViewPrevalueHelper) {
+ function ListViewSettingsDirective(dataTypeResource, dataTypeHelper, listViewPrevalueHelper) {
- function link(scope, el, attr, ctrl) {
+ function link(scope) {
scope.dataType = {};
scope.editDataTypeSettings = false;
@@ -22,7 +22,6 @@
listViewPrevalueHelper.setPrevalues(dataType.preValues);
scope.customListViewCreated = checkForCustomListView();
-
});
} else {
@@ -111,8 +110,16 @@
};
+ scope.toggle = function(){
+ if(scope.enableListView){
+ scope.enableListView = false;
+ return;
+ }
+ scope.enableListView = true;
+ };
+
/* ----------- SCOPE WATCHERS ----------- */
- var unbindEnableListViewWatcher = scope.$watch('enableListView', function(newValue, oldValue){
+ var unbindEnableListViewWatcher = scope.$watch('enableListView', function(newValue){
if(newValue !== undefined) {
activate();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbminilistview.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbminilistview.directive.js
index ce14aaedc5..1cf934b78c 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbminilistview.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbminilistview.directive.js
@@ -8,7 +8,7 @@
scope.search = "";
scope.miniListViews = [];
scope.breadcrumb = [];
-
+
var miniListViewsHistory = [];
var goingForward = true;
var skipAnimation = true;
@@ -60,9 +60,13 @@
entityResource.getPagedChildren(miniListView.node.id, scope.entityType, miniListView.pagination)
.then(function (data) {
+
// update children
miniListView.children = data.items;
_.each(miniListView.children, function(c) {
+ // child allowed by default
+ c.allowed = true;
+
// convert legacy icon for node
if(c.icon) {
c.icon = iconHelper.convertFromLegacyIcon(c.icon);
@@ -74,6 +78,17 @@
c.published = c.metaData.IsPublished;
}
}
+
+ // filter items if there is a filter and it's not advanced
+ // ** ignores advanced filter at the moment
+ if (scope.entityTypeFilter && !scope.entityTypeFilter.filterAdvanced) {
+ var a = scope.entityTypeFilter.filter.toLowerCase().replace(/\s/g, '').split(',');
+ var found = a.indexOf(c.metaData.ContentTypeAlias.toLowerCase()) >= 0;
+
+ if (!scope.entityTypeFilter.filterExclude && !found || scope.entityTypeFilter.filterExclude && found) {
+ c.allowed = false;
+ }
+ }
});
// update pagination
miniListView.pagination.totalItems = data.totalItems;
@@ -89,7 +104,7 @@
};
scope.selectNode = function(node) {
- if(scope.onSelect) {
+ if (scope.onSelect && node.allowed) {
scope.onSelect({'node': node});
}
};
@@ -202,7 +217,8 @@
entityType: "@",
startNodeId: "=",
onSelect: "&",
- onClose: "&"
+ onClose: "&",
+ entityTypeFilter: "="
},
link: link
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js
index 556019857b..9f1f7a0d2e 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js
@@ -16,6 +16,7 @@
ng-repeat="node in vm.nodes"
icon="node.icon"
name="node.name"
+ alias="node.alias"
published="node.published"
description="node.description"
sortable="vm.sortable"
@@ -77,6 +78,7 @@
@param {string} icon (binding): The node icon.
@param {string} name (binding): The node name.
+@param {string} alias (binding): The node document type alias will be displayed on hover if in debug mode or logged in as admin
@param {boolean} published (binding): The node published state.
@param {string} description (binding): A short description.
@param {boolean} sortable (binding): Will add a move cursor on the node preview. Can used in combination with ui-sortable.
@@ -86,17 +88,24 @@
@param {function} onRemove (expression): Callback function when the remove button is clicked.
@param {function} onOpen (expression): Callback function when the open button is clicked.
@param {function} onEdit (expression): Callback function when the edit button is clicked (Added in version 7.7.0).
+@param {string} openUrl (binding): Fallback URL for onOpen (Added in version 7.12.0).
+@param {string} editUrl (binding): Fallback URL for onEdit (Added in version 7.12.0).
+@param {string} removeUrl (binding): Fallback URL for onRemove (Added in version 7.12.0).
**/
(function () {
'use strict';
- function NodePreviewDirective() {
+ function NodePreviewDirective(userService) {
function link(scope, el, attr, ctrl) {
if (!scope.editLabelKey) {
scope.editLabelKey = "general_edit";
}
+ userService.getCurrentUser().then(function (u) {
+ var isAdmin = u.userGroups.indexOf('admin') !== -1;
+ scope.alias = (Umbraco.Sys.ServerVariables.isDebuggingEnabled === true || isAdmin) ? scope.alias : null;
+ });
}
var directive = {
@@ -106,6 +115,7 @@
scope: {
icon: "=?",
name: "=",
+ alias: "=?",
description: "=?",
permissions: "=?",
published: "=?",
@@ -115,7 +125,10 @@
allowEdit: "=?",
onOpen: "&?",
onRemove: "&?",
- onEdit: "&?"
+ onEdit: "&?",
+ openUrl: '=?',
+ editUrl: '=?',
+ removeUrl: '=?'
},
link: link
};
@@ -126,4 +139,4 @@
angular.module('umbraco.directives').directive('umbNodePreview', NodePreviewDirective);
-})();
\ No newline at end of file
+})();
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbpagination.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbpagination.directive.js
index 84b3adb471..43f55315ac 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbpagination.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbpagination.directive.js
@@ -170,7 +170,7 @@ Use this directive to generate a pagination.
}
};
- var unbindPageNumberWatcher = scope.$watch('pageNumber', function(newValue, oldValue){
+ var unbindPageNumberWatcher = scope.$watchCollection('[pageNumber, totalPages]', function (newValues, oldValues) {
activate();
});
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbstickybar.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbstickybar.directive.js
index 91a0a41a10..e8d8315b7a 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbstickybar.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbstickybar.directive.js
@@ -50,6 +50,11 @@ Use this directive make an element sticky and follow the page when scrolling.
function activate() {
+ if (bar.parents(".umb-property").length > 1) {
+ bar.addClass("nested");
+ return;
+ }
+
if (attr.scrollableContainer) {
scrollableContainer = $(attr.scrollableContainer);
} else {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/util/konami.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/util/konami.directive.js
index 7c96e0e050..7914dfc3f0 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/util/konami.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/util/konami.directive.js
@@ -1,7 +1,7 @@
/**
* Konami Code directive for AngularJS
* @version v0.0.1
- * @license MIT License, http://www.opensource.org/licenses/MIT
+ * @license MIT License, https://www.opensource.org/licenses/MIT
*/
angular.module('umbraco.directives')
@@ -59,4 +59,4 @@ angular.module('umbraco.directives')
scope.$on('$destroy', stopListening);
}
};
- }]);
\ No newline at end of file
+ }]);
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js
index 104736530f..800ac87480 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/validation/nodirtycheck.directive.js
@@ -2,7 +2,7 @@
* @ngdoc directive
* @name umbraco.directives.directive:noDirtyCheck
* @restrict A
-* @description Can be attached to form inputs to prevent them from setting the form as dirty (http://stackoverflow.com/questions/17089090/prevent-input-from-setting-form-dirty-angularjs)
+* @description Can be attached to form inputs to prevent them from setting the form as dirty (https://stackoverflow.com/questions/17089090/prevent-input-from-setting-form-dirty-angularjs)
**/
function noDirtyCheck() {
return {
@@ -20,4 +20,4 @@ function noDirtyCheck() {
}
};
}
-angular.module('umbraco.directives.validation').directive("noDirtyCheck", noDirtyCheck);
\ No newline at end of file
+angular.module('umbraco.directives.validation').directive("noDirtyCheck", noDirtyCheck);
diff --git a/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js b/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js
index 76e4e4a822..8c23094bbf 100644
--- a/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js
+++ b/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js
@@ -9,6 +9,13 @@ var ncNodeNameCache = {
angular.module("umbraco.filters").filter("ncNodeName", function (editorState, entityResource) {
+ function formatLabel(firstNodeName, totalNodes) {
+ return totalNodes <= 1
+ ? firstNodeName
+ // If there is more than one item selected, append the additional number of items selected to hint that
+ : firstNodeName + " (+" + (totalNodes - 1) + ")";
+ }
+
return function (input) {
// Check we have a value at all
@@ -25,23 +32,38 @@ angular.module("umbraco.filters").filter("ncNodeName", function (editorState, en
ncNodeNameCache.keys = {};
}
+ // MNTP values are comma separated IDs. We'll only fetch the first one for the NC header.
+ var ids = input.split(',');
+ var lookupId = ids[0];
+
// See if there is a value in the cache and use that
- if (ncNodeNameCache.keys[input]) {
- return ncNodeNameCache.keys[input];
+ if (ncNodeNameCache.keys[lookupId]) {
+ return formatLabel(ncNodeNameCache.keys[lookupId], ids.length);
}
// No value, so go fetch one
// We'll put a temp value in the cache though so we don't
// make a load of requests while we wait for a response
- ncNodeNameCache.keys[input] = "Loading...";
+ ncNodeNameCache.keys[lookupId] = "Loading...";
- entityResource.getById(input, "Document")
- .then(function (ent) {
- ncNodeNameCache.keys[input] = ent.name;
- });
+ var type = lookupId.indexOf("umb://media/") === 0
+ ? "Media"
+ : lookupId.indexOf("umb://member/") === 0
+ ? "Member"
+ : "Document";
+ entityResource.getById(lookupId, type)
+ .then(
+ function (ent) {
+ ncNodeNameCache.keys[lookupId] = ent.name;
+ }
+ );
// Return the current value for now
- return ncNodeNameCache.keys[input];
+ return formatLabel(ncNodeNameCache.keys[lookupId], ids.length);
};
-});
\ No newline at end of file
+}).filter("ncRichText", function () {
+ return function(input) {
+ return $("
").html(input).text();
+ };
+});
diff --git a/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js b/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
index 0308ab6197..2665716ac4 100644
--- a/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
+++ b/src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
@@ -371,7 +371,7 @@ angular.module('umbraco.mocks').
"installer_databaseHeader": "Database configuration",
"installer_databaseInstall": " Press the install button to install the Umbraco %0% database ",
"installer_databaseInstallDone": "Umbraco %0% has now been copied to your database. Press Next to proceed.",
- "installer_databaseNotFound": "Database not found! Please check that the information in the 'connection string' of the \"web.config\" file is correct.
To proceed, please edit the 'web.config' file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named 'UmbracoDbDSN' and save the file.
Click the retry button when done. More information on editing web.config here.
",
+ "installer_databaseNotFound": "Database not found! Please check that the information in the 'connection string' of the \"web.config\" file is correct.
To proceed, please edit the 'web.config' file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named 'UmbracoDbDSN' and save the file.
Click the retry button when done. More information on editing web.config here.
",
"installer_databaseText": "To complete this step, you must know some information regarding your database server ('connection string'). Please contact your ISP if necessary. If you're installing on a local machine or server you might need information from your system administrator.",
"installer_databaseUpgrade": " Press the upgrade button to upgrade your database to Umbraco %0%
Don't worry - no content will be deleted and everything will continue working afterwards!
",
"installer_databaseUpgradeDone": "Your database has been upgraded to the final version %0%. Press Next to proceed. ",
@@ -399,7 +399,7 @@ angular.module('umbraco.mocks').
"installer_permissionsSettingUpPermissions": "Setting up folder permissions",
"installer_permissionsText": " Umbraco needs write/modify access to certain directories in order to store files like pictures and PDF's. It also stores temporary data (aka: cache) for enhancing the performance of your website. ",
"installer_runwayFromScratch": "I want to start from scratch",
- "installer_runwayFromScratchText": " Your website is completely empty at the moment, so that's perfect if you want to start from scratch and create your own document types and templates. (learn how ) You can still choose to install Runway later on. Please go to the Developer section and choose Packages. ",
+ "installer_runwayFromScratchText": " Your website is completely empty at the moment, so that's perfect if you want to start from scratch and create your own document types and templates. (learn how ) You can still choose to install Runway later on. Please go to the Developer section and choose Packages. ",
"installer_runwayHeader": "You've just set up a clean Umbraco platform. What do you want to do next?",
"installer_runwayInstalled": "Runway is installed",
"installer_runwayInstalledText": " You have the foundation in place. Select what modules you wish to install on top of it. This is our list of recommended modules, check off the ones you would like to install, or view the full list of modules ",
@@ -436,7 +436,7 @@ angular.module('umbraco.mocks').
"login_greeting6": "Happy friendly Friday",
"login_greeting7": "Happy shiny Saturday",
"login_instruction": "Log in below:",
- "login_bottomText": "© 2001 - %0% Umbraco.org
",
+ "login_bottomText": "© 2001 - %0% Umbraco.org
",
"main_dashboard": "Dashboard",
"main_sections": "Sections",
"main_tree": "Content",
@@ -767,4 +767,4 @@ angular.module('umbraco.mocks').
.respond(getLanguageResource);
}
};
- }]);
\ No newline at end of file
+ }]);
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
index 1ba454ac65..b695809eaa 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
@@ -337,6 +337,29 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
'Failed to retrieve data for content id ' + id);
},
+ getNotifySettingsById: function (id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "GetNotificationOptions",
+ [{ contentId: id }])),
+ 'Failed to retrieve data for content id ' + id);
+ },
+
+ setNotifySettingsById: function (id, options) {
+ if (!id) {
+ throw "contentId cannot be null";
+ }
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "PostNotificationOptions",
+ { contentId: id, notifyOptions: options })),
+ 'Failed to set notify settings for content id ' + id);
+ },
+
/**
* @ngdoc method
* @name umbraco.resources.contentResource#getByIds
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
index f31550781a..d006951b8a 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
@@ -290,14 +290,22 @@ function contentTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
'Failed to copy content');
},
- createContainer: function(parentId, name) {
+ createContainer: function (parentId, name) {
return umbRequestHelper.resourcePromise(
- $http.post(umbRequestHelper.getApiUrl("contentTypeApiBaseUrl", "PostCreateContainer", { parentId: parentId, name: name })),
+ $http.post(umbRequestHelper.getApiUrl("contentTypeApiBaseUrl", "PostCreateContainer", { parentId: parentId, name: encodeURIComponent(name) })),
'Failed to create a folder under parent id ' + parentId);
},
+ createCollection: function (parentId, collectionName, collectionItemName, collectionIcon, collectionItemIcon) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("contentTypeApiBaseUrl", "PostCreateCollection", { parentId: parentId, collectionName: collectionName, collectionItemName: collectionItemName, collectionIcon: collectionIcon, collectionItemIcon: collectionItemIcon})),
+ 'Failed to create collection under ' + parentId);
+
+ },
+
renameContainer: function(id, name) {
return umbRequestHelper.resourcePromise(
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/datatype.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/datatype.resource.js
index 11b6969479..c938909f2f 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/datatype.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/datatype.resource.js
@@ -355,14 +355,14 @@ function dataTypeResource($q, $http, umbDataFormatter, umbRequestHelper) {
umbRequestHelper.getApiUrl(
"dataTypeApiBaseUrl",
"PostCreateContainer",
- { parentId: parentId, name: name })),
+ { parentId: parentId, name: encodeURIComponent(name) })),
'Failed to create a folder under parent id ' + parentId);
- },
-
+ },
+
renameContainer: function (id, name) {
return umbRequestHelper.resourcePromise(
- $http.post
- (umbRequestHelper.getApiUrl(
+ $http.post
+ (umbRequestHelper.getApiUrl(
"dataTypeApiBaseUrl",
"PostRenameContainer",
{ id: id, name: name })),
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/dictionary.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/dictionary.resource.js
new file mode 100644
index 0000000000..3bb01fbe92
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/dictionary.resource.js
@@ -0,0 +1,162 @@
+/**
+ * @ngdoc service
+ * @name umbraco.resources.dictionaryResource
+ * @description Loads in data for dictionary items
+**/
+function dictionaryResource($q, $http, $location, umbRequestHelper, umbDataFormatter) {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dictionaryResource#deleteById
+ * @methodOf umbraco.resources.dictionaryResource
+ *
+ * @description
+ * Deletes a dictionary item with a given id
+ *
+ * ##usage
+ *
+ * dictionaryResource.deleteById(1234)
+ * .then(function() {
+ * alert('its gone!');
+ * });
+ *
+ *
+ * @param {Int} id id of dictionary item to delete
+ * @returns {Promise} resourcePromise object.
+ *
+ **/
+ function deleteById(id) {
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "dictionaryApiBaseUrl",
+ "DeleteById",
+ [{ id: id }])),
+ "Failed to delete item " + id);
+ }
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dictionaryResource#create
+ * @methodOf umbraco.resources.dictionaryResource
+ *
+ * @description
+ * Creates a dictionary item with the gieven key and parent id
+ *
+ * ##usage
+ *
+ * dictionaryResource.create(1234,"Item key")
+ * .then(function() {
+ * alert('its created!');
+ * });
+ *
+ *
+ * @param {Int} parentid the parentid of the new dictionary item
+ * @param {String} key the key of the new dictionary item
+ * @returns {Promise} resourcePromise object.
+ *
+ **/
+ function create(parentid, key) {
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "dictionaryApiBaseUrl",
+ "Create",
+ { parentId: parentid, key : key })),
+ "Failed to create item ");
+ }
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dictionaryResource#deleteById
+ * @methodOf umbraco.resources.dictionaryResource
+ *
+ * @description
+ * Gets a dictionary item with a given id
+ *
+ * ##usage
+ *
+ * dictionaryResource.getById(1234)
+ * .then(function() {
+ * alert('Found it!');
+ * });
+ *
+ *
+ * @param {Int} id id of dictionary item to get
+ * @returns {Promise} resourcePromise object.
+ *
+ **/
+ function getById(id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "dictionaryApiBaseUrl",
+ "GetById",
+ [{ id: id }])),
+ "Failed to get item " + id);
+ }
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dictionaryResource#save
+ * @methodOf umbraco.resources.dictionaryResource
+ *
+ * @description
+ * Updates a dictionary
+ *
+ * @param {Object} dictionary dictionary object to update
+ * @param {Bool} nameIsDirty set to true if the name has been changed
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ function save(dictionary, nameIsDirty) {
+
+ var saveModel = umbDataFormatter.formatDictionaryPostData(dictionary, nameIsDirty);
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("dictionaryApiBaseUrl", "PostSave"), saveModel),
+ "Failed to save data for dictionary id " + dictionary.id);
+ }
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dictionaryResource#getList
+ * @methodOf umbraco.resources.dictionaryResource
+ *
+ * @description
+ * Gets a list of all dictionary items
+ *
+ * ##usage
+ *
+ * dictionaryResource.getList()
+ * .then(function() {
+ * alert('Found it!');
+ * });
+ *
+ *
+ * @returns {Promise} resourcePromise object.
+ *
+ **/
+ function getList() {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "dictionaryApiBaseUrl",
+ "getList")),
+ "Failed to get list");
+ }
+
+ var resource = {
+ deleteById: deleteById,
+ create: create,
+ getById: getById,
+ save: save,
+ getList : getList
+ };
+
+ return resource;
+
+
+}
+
+angular.module("umbraco.resources").factory("dictionaryResource", dictionaryResource);
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
index 5dd353d9e0..72f8ad5539 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
@@ -406,7 +406,7 @@ function entityResource($q, $http, umbRequestHelper) {
*
* ##usage
*
- * entityResource.getPagedDescendants(1234, "Content", {pageSize: 10, pageNumber: 2})
+ * entityResource.getPagedDescendants(1234, "Document", {pageSize: 10, pageNumber: 2})
* .then(function(contentArray) {
* var children = contentArray;
* alert('they are here!');
@@ -416,8 +416,8 @@ function entityResource($q, $http, umbRequestHelper) {
* @param {Int} parentid id of content item to return descendants of
* @param {string} type Object type name
* @param {Object} options optional options object
- * @param {Int} options.pageSize if paging data, number of nodes per page, default = 1
- * @param {Int} options.pageNumber if paging data, current page index, default = 100
+ * @param {Int} options.pageSize if paging data, number of nodes per page, default = 100
+ * @param {Int} options.pageNumber if paging data, current page index, default = 1
* @param {String} options.filter if provided, query will only return those with names matching the filter
* @param {String} options.orderDirection can be `Ascending` or `Descending` - Default: `Ascending`
* @param {String} options.orderBy property to order items by, default: `SortOrder`
@@ -427,8 +427,8 @@ function entityResource($q, $http, umbRequestHelper) {
getPagedDescendants: function (parentId, type, options) {
var defaults = {
- pageSize: 1,
- pageNumber: 100,
+ pageSize: 100,
+ pageNumber: 1,
filter: '',
orderDirection: "Ascending",
orderBy: "SortOrder"
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js
index 572b2ba3fd..140995cd57 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js
@@ -244,7 +244,7 @@ function mediaTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
umbRequestHelper.getApiUrl(
"mediaTypeApiBaseUrl",
"PostCreateContainer",
- { parentId: parentId, name: name })),
+ { parentId: parentId, name: encodeURIComponent(name) })),
'Failed to create a folder under parent id ' + parentId);
},
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/nestedcontent.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/nestedcontent.resource.js
index b3488fdff4..4f71c1d1b4 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/nestedcontent.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/nestedcontent.resource.js
@@ -7,6 +7,6 @@
$http.get(url),
'Failed to retrieve content types'
);
- },
+ }
};
});
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js
index cb810c6edb..554134d017 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js
@@ -57,7 +57,7 @@ function packageResource($q, $http, umbDataFormatter, umbRequestHelper) {
* @methodOf umbraco.resources.packageInstallResource
*
* @description
- * Downloads a package file from our.umbraco.org to the website server.
+ * Downloads a package file from our.umbraco.com to the website server.
*
* ##usage
*
diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js
index 72564398c0..0fd308ffd0 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js
@@ -280,7 +280,7 @@
* });
*
*
- * @param {Array} id user id.
+ * @param {Int} userId user id.
* @returns {Promise} resourcePromise object containing the user.
*
*/
@@ -406,6 +406,36 @@
"Failed to save user");
}
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.usersResource#deleteNonLoggedInUser
+ * @methodOf umbraco.resources.usersResource
+ *
+ * @description
+ * Deletes a user that hasn't already logged in (and hence we know has made no content updates that would create related records)
+ *
+ * ##usage
+ *
+ * usersResource.deleteNonLoggedInUser(1)
+ * .then(function() {
+ * alert("user was deleted");
+ * });
+ *
+ *
+ * @param {Int} userId user id.
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ function deleteNonLoggedInUser(userId) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "userApiBaseUrl",
+ "PostDeleteNonLoggedInUser", { id: userId })),
+ 'Failed to delete the user ' + userId);
+ }
+
var resource = {
disableUsers: disableUsers,
@@ -417,6 +447,7 @@
createUser: createUser,
inviteUser: inviteUser,
saveUser: saveUser,
+ deleteNonLoggedInUser: deleteNonLoggedInUser,
clearAvatar: clearAvatar
};
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/appstate.service.js b/src/Umbraco.Web.UI.Client/src/common/services/appstate.service.js
index 2369af54b5..085ba52b7e 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/appstate.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/appstate.service.js
@@ -329,7 +329,7 @@ angular.module('umbraco.services').factory("editorState", function() {
},
set: function (value) {
throw "Use editorState.set to set the value of the current entity";
- },
+ }
});
return state;
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/help.service.js b/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
index 77621eee9c..ff8d487bb7 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
@@ -2,8 +2,8 @@ angular.module('umbraco.services')
.factory('helpService', function ($http, $q, umbRequestHelper) {
var helpTopics = {};
- var defaultUrl = "http://our.umbraco.org/rss/help";
- var tvUrl = "http://umbraco.tv/feeds/help";
+ var defaultUrl = "https://our.umbraco.com/rss/help";
+ var tvUrl = "https://umbraco.tv/feeds/help";
function getCachedHelp(url){
if(helpTopics[url]){
@@ -85,4 +85,4 @@ angular.module('umbraco.services')
return service;
- });
\ No newline at end of file
+ });
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
index 2ffdc3f1dd..7c7e07db9a 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
@@ -270,12 +270,19 @@
for (var i = 0; selection.length > i; i++) {
var selectedItem = selection[i];
// if item.id is 2147483647 (int.MaxValue) use item.key
- if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
+ if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
isSelected = true;
}
}
if (!isSelected) {
- selection.push({ id: item.id, key: item.key });
+ var obj = {
+ id: item.id
+ };
+ if (item.key) {
+ obj.key = item.key;
+ }
+
+ selection.push(obj);
item.selected = true;
}
}
@@ -296,7 +303,7 @@
for (var i = 0; selection.length > i; i++) {
var selectedItem = selection[i];
// if item.id is 2147483647 (int.MaxValue) use item.key
- if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
+ if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
selection.splice(i, 1);
item.selected = false;
}
@@ -366,9 +373,15 @@
for (var i = 0; i < items.length; i++) {
var item = items[i];
+ var obj = {
+ id: item.id
+ };
+ if (item.key) {
+ obj.key = item.key
+ }
if (checkbox.checked) {
- selection.push({ id: item.id, key: item.key });
+ selection.push(obj);
} else {
clearSelection = true;
}
@@ -408,7 +421,7 @@
var selectedItem = selection[selectedIndex];
// if item.id is 2147483647 (int.MaxValue) use item.key
- if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
+ if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
numberOfSelectedItem++;
}
}
@@ -482,7 +495,7 @@
});
//we need to use 'apply' to call intersection with an array of arrays,
- //see: http://stackoverflow.com/a/16229480/694494
+ //see: https://stackoverflow.com/a/16229480/694494
var intersectPermissions = _.intersection.apply(_, arr);
return {
@@ -491,7 +504,7 @@
canDelete: _.contains(intersectPermissions, 'D'), //Magic Char = D
canMove: _.contains(intersectPermissions, 'M'), //Magic Char = M
canPublish: _.contains(intersectPermissions, 'U'), //Magic Char = U
- canUnpublish: _.contains(intersectPermissions, 'U'), //Magic Char = Z (however UI says it can't be set, so if we can publish 'U' we can unpublish)
+ canUnpublish: _.contains(intersectPermissions, 'U') //Magic Char = Z (however UI says it can't be set, so if we can publish 'U' we can unpublish)
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
index f775e35934..840066adef 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
@@ -641,7 +641,7 @@ function navigationService($rootScope, $routeParams, $log, $location, $q, $timeo
//These will show up on the dialog controller's $scope under dialogOptions
currentNode: args.node,
- currentAction: args.action,
+ currentAction: args.action
});
//save the currently assigned dialog so it can be removed before a new one is created
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
index 86de5b586d..493d6faa17 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
@@ -6,811 +6,869 @@
* @description
* A service containing all logic for all of the Umbraco TinyMCE plugins
*/
-function tinyMceService(dialogService, $log, imageHelper, $http, $timeout, macroResource, macroService, $routeParams, umbRequestHelper, angularHelper, userService) {
- return {
+function tinyMceService($log, imageHelper, $http, $timeout, macroResource, macroService, $routeParams, umbRequestHelper, angularHelper, userService) {
+ return {
- /**
- * @ngdoc method
- * @name umbraco.services.tinyMceService#configuration
- * @methodOf umbraco.services.tinyMceService
- *
- * @description
- * Returns a collection of plugins available to the tinyMCE editor
- *
- */
- configuration: function () {
- return umbRequestHelper.resourcePromise(
- $http.get(
- umbRequestHelper.getApiUrl(
- "rteApiBaseUrl",
- "GetConfiguration"), { cache: true }),
- 'Failed to retrieve tinymce configuration');
- },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#configuration
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Returns a collection of plugins available to the tinyMCE editor
+ *
+ */
+ configuration: function () {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "rteApiBaseUrl",
+ "GetConfiguration"), {
+ cache: true
+ }),
+ 'Failed to retrieve tinymce configuration');
+ },
- /**
- * @ngdoc method
- * @name umbraco.services.tinyMceService#defaultPrevalues
- * @methodOf umbraco.services.tinyMceService
- *
- * @description
- * Returns a default configration to fallback on in case none is provided
- *
- */
- defaultPrevalues: function () {
- var cfg = {};
- cfg.toolbar = ["code", "bold", "italic", "styleselect","alignleft", "aligncenter", "alignright", "bullist","numlist", "outdent", "indent", "link", "image", "umbmediapicker", "umbembeddialog", "umbmacro"];
- cfg.stylesheets = [];
- cfg.dimensions = { height: 500 };
- cfg.maxImageSize = 500;
- return cfg;
- },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#defaultPrevalues
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Returns a default configration to fallback on in case none is provided
+ *
+ */
+ defaultPrevalues: function () {
+ var cfg = {};
+ cfg.toolbar = ["code", "bold", "italic", "styleselect", "alignleft", "aligncenter", "alignright", "bullist", "numlist", "outdent", "indent", "link", "image", "umbmediapicker", "umbembeddialog", "umbmacro"];
+ cfg.stylesheets = [];
+ cfg.dimensions = {
+ height: 500
+ };
+ cfg.maxImageSize = 500;
+ return cfg;
+ },
- /**
- * @ngdoc method
- * @name umbraco.services.tinyMceService#createInsertEmbeddedMedia
- * @methodOf umbraco.services.tinyMceService
- *
- * @description
- * Creates the umbrco insert embedded media tinymce plugin
- *
- * @param {Object} editor the TinyMCE editor instance
- * @param {Object} $scope the current controller scope
- */
- createInsertEmbeddedMedia: function (editor, scope, callback) {
- editor.addButton('umbembeddialog', {
- icon: 'custom icon-tv',
- tooltip: 'Embed',
- onclick: function () {
- if (callback) {
- callback();
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createInsertEmbeddedMedia
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the umbrco insert embedded media tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createInsertEmbeddedMedia: function (editor, scope, callback) {
+ editor.addButton('umbembeddialog', {
+ icon: 'custom icon-tv',
+ tooltip: 'Embed',
+ onclick: function () {
+ if (callback) {
+ callback();
+ }
+ }
+ });
+ },
+
+ insertEmbeddedMediaInEditor: function (editor, preview) {
+ editor.insertContent(preview);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createMediaPicker
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the umbrco insert media tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createMediaPicker: function (editor, scope, callback) {
+ editor.addButton('umbmediapicker', {
+ icon: 'custom icon-picture',
+ tooltip: 'Media Picker',
+ stateSelector: 'img',
+ onclick: function () {
+
+ var selectedElm = editor.selection.getNode(),
+ currentTarget;
+
+
+ if (selectedElm.nodeName === 'IMG') {
+ var img = $(selectedElm);
+
+ var hasUdi = img.attr("data-udi") ? true : false;
+
+ currentTarget = {
+ altText: img.attr("alt"),
+ url: img.attr("src")
+ };
+
+ if (hasUdi) {
+ currentTarget["udi"] = img.attr("data-udi");
+ } else {
+ currentTarget["id"] = img.attr("rel");
+ }
+ }
+
+ userService.getCurrentUser().then(function (userData) {
+ if (callback) {
+ callback(currentTarget, userData);
+ }
+ });
+
+ }
+ });
+ },
+
+ insertMediaInEditor: function (editor, img) {
+ if (img) {
+
+ var hasUdi = img.udi ? true : false;
+
+ var data = {
+ alt: img.altText || "",
+ src: (img.url) ? img.url : "nothing.jpg",
+ id: '__mcenew'
+ };
+
+ if (hasUdi) {
+ data["data-udi"] = img.udi;
+ } else {
+ //Considering these fixed because UDI will now be used and thus
+ // we have no need for rel http://issues.umbraco.org/issue/U4-6228, http://issues.umbraco.org/issue/U4-6595
+ data["rel"] = img.id;
+ data["data-id"] = img.id;
+ }
+
+ editor.insertContent(editor.dom.createHTML('img', data));
+
+ $timeout(function () {
+ var imgElm = editor.dom.get('__mcenew');
+ var size = editor.dom.getSize(imgElm);
+
+ if (editor.settings.maxImageSize && editor.settings.maxImageSize !== 0) {
+ var newSize = imageHelper.scaleToMaxSize(editor.settings.maxImageSize, size.w, size.h);
+
+ var s = "width: " + newSize.width + "px; height:" + newSize.height + "px;";
+ editor.dom.setAttrib(imgElm, 'style', s);
+
+ if (img.url) {
+ var src = img.url + "?width=" + newSize.width + "&height=" + newSize.height;
+ editor.dom.setAttrib(imgElm, 'data-mce-src', src);
+ }
}
- }
- });
- },
-
- insertEmbeddedMediaInEditor: function(editor, preview) {
- editor.insertContent(preview);
- },
-
- /**
- * @ngdoc method
- * @name umbraco.services.tinyMceService#createMediaPicker
- * @methodOf umbraco.services.tinyMceService
- *
- * @description
- * Creates the umbrco insert media tinymce plugin
- *
- * @param {Object} editor the TinyMCE editor instance
- * @param {Object} $scope the current controller scope
- */
- createMediaPicker: function (editor, scope, callback) {
- editor.addButton('umbmediapicker', {
- icon: 'custom icon-picture',
- tooltip: 'Media Picker',
- stateSelector: 'img',
- onclick: function () {
-
- var selectedElm = editor.selection.getNode(),
- currentTarget;
-
-
- if(selectedElm.nodeName === 'IMG'){
- var img = $(selectedElm);
-
- var hasUdi = img.attr("data-udi") ? true : false;
-
- currentTarget = {
- altText: img.attr("alt"),
- url: img.attr("src")
- };
-
- if (hasUdi) {
- currentTarget["udi"] = img.attr("data-udi");
- }
- else {
- currentTarget["id"] = img.attr("rel");
- }
- }
-
- userService.getCurrentUser().then(function(userData) {
- if(callback) {
- callback(currentTarget, userData);
- }
- });
-
- }
- });
- },
-
- insertMediaInEditor: function(editor, img) {
- if(img) {
-
- var hasUdi = img.udi ? true : false;
-
- var data = {
- alt: img.altText || "",
- src: (img.url) ? img.url : "nothing.jpg",
- id: '__mcenew'
- };
-
- if (hasUdi) {
- data["data-udi"] = img.udi;
- }
- else {
- //Considering these fixed because UDI will now be used and thus
- // we have no need for rel http://issues.umbraco.org/issue/U4-6228, http://issues.umbraco.org/issue/U4-6595
- data["rel"] = img.id;
- data["data-id"] = img.id;
- }
-
- editor.insertContent(editor.dom.createHTML('img', data));
-
- $timeout(function () {
- var imgElm = editor.dom.get('__mcenew');
- var size = editor.dom.getSize(imgElm);
-
- if (editor.settings.maxImageSize && editor.settings.maxImageSize !== 0) {
- var newSize = imageHelper.scaleToMaxSize(editor.settings.maxImageSize, size.w, size.h);
-
- var s = "width: " + newSize.width + "px; height:" + newSize.height + "px;";
- editor.dom.setAttrib(imgElm, 'style', s);
- editor.dom.setAttrib(imgElm, 'id', null);
-
- if (img.url) {
- var src = img.url + "?width=" + newSize.width + "&height=" + newSize.height;
- editor.dom.setAttrib(imgElm, 'data-mce-src', src);
- }
- }
- }, 500);
- }
- },
-
- /**
- * @ngdoc method
- * @name umbraco.services.tinyMceService#createUmbracoMacro
- * @methodOf umbraco.services.tinyMceService
- *
- * @description
- * Creates the insert umbrco macro tinymce plugin
- *
- * @param {Object} editor the TinyMCE editor instance
- * @param {Object} $scope the current controller scope
- */
- createInsertMacro: function (editor, $scope, callback) {
-
- var createInsertMacroScope = this;
-
- /** Adds custom rules for the macro plugin and custom serialization */
- editor.on('preInit', function (args) {
- //this is requires so that we tell the serializer that a 'div' is actually allowed in the root, otherwise the cleanup will strip it out
- editor.serializer.addRules('div');
-
- /** This checks if the div is a macro container, if so, checks if its wrapped in a p tag and then unwraps it (removes p tag) */
- editor.serializer.addNodeFilter('div', function (nodes, name) {
- for (var i = 0; i < nodes.length; i++) {
- if (nodes[i].attr("class") === "umb-macro-holder" && nodes[i].parent && nodes[i].parent.name.toUpperCase() === "P") {
- nodes[i].parent.unwrap();
- }
- }
- });
-
- });
-
- /**
- * Because the macro gets wrapped in a P tag because of the way 'enter' works, this
- * method will return the macro element if not wrapped in a p, or the p if the macro
- * element is the only one inside of it even if we are deep inside an element inside the macro
- */
- function getRealMacroElem(element) {
- var e = $(element).closest(".umb-macro-holder");
- if (e.length > 0) {
- if (e.get(0).parentNode.nodeName === "P") {
- //now check if we're the only element
- if (element.parentNode.childNodes.length === 1) {
- return e.get(0).parentNode;
- }
- }
- return e.get(0);
- }
- return null;
- }
-
- /** Adds the button instance */
- editor.addButton('umbmacro', {
- icon: 'custom icon-settings-alt',
- tooltip: 'Insert macro',
- onPostRender: function () {
-
- var ctrl = this;
- var isOnMacroElement = false;
-
- /**
- if the selection comes from a different element that is not the macro's
- we need to check if the selection includes part of the macro, if so we'll force the selection
- to clear to the next element since if people can select part of the macro markup they can then modify it.
- */
- function handleSelectionChange() {
-
- if (!editor.selection.isCollapsed()) {
- var endSelection = tinymce.activeEditor.selection.getEnd();
- var startSelection = tinymce.activeEditor.selection.getStart();
- //don't proceed if it's an entire element selected
- if (endSelection !== startSelection) {
-
- //if the end selection is a macro then move the cursor
- //NOTE: we don't have to handle when the selection comes from a previous parent because
- // that is automatically taken care of with the normal onNodeChanged logic since the
- // evt.element will be the macro once it becomes part of the selection.
- var $testForMacro = $(endSelection).closest(".umb-macro-holder");
- if ($testForMacro.length > 0) {
-
- //it came from before so move after, if there is no after then select ourselves
- var next = $testForMacro.next();
- if (next.length > 0) {
- editor.selection.setCursorLocation($testForMacro.next().get(0));
- }
- else {
- selectMacroElement($testForMacro.get(0));
- }
-
- }
- }
- }
- }
-
- /** helper method to select the macro element */
- function selectMacroElement(macroElement) {
-
- // move selection to top element to ensure we can't edit this
- editor.selection.select(macroElement);
-
- // check if the current selection *is* the element (ie bug)
- var currentSelection = editor.selection.getStart();
- if (tinymce.isIE) {
- if (!editor.dom.hasClass(currentSelection, 'umb-macro-holder')) {
- while (!editor.dom.hasClass(currentSelection, 'umb-macro-holder') && currentSelection.parentNode) {
- currentSelection = currentSelection.parentNode;
- }
- editor.selection.select(currentSelection);
- }
- }
- }
-
- /**
- * Add a node change handler, test if we're editing a macro and select the whole thing, then set our isOnMacroElement flag.
- * If we change the selection inside this method, then we end up in an infinite loop, so we have to remove ourselves
- * from the event listener before changing selection, however, it seems that putting a break point in this method
- * will always cause an 'infinite' loop as the caret keeps changing.
- */
- function onNodeChanged(evt) {
-
- //set our macro button active when on a node of class umb-macro-holder
- var $macroElement = $(evt.element).closest(".umb-macro-holder");
-
- handleSelectionChange();
-
- //set the button active
- ctrl.active($macroElement.length !== 0);
-
- if ($macroElement.length > 0) {
- var macroElement = $macroElement.get(0);
-
- //remove the event listener before re-selecting
- editor.off('NodeChange', onNodeChanged);
-
- selectMacroElement(macroElement);
-
- //set the flag
- isOnMacroElement = true;
-
- //re-add the event listener
- editor.on('NodeChange', onNodeChanged);
- }
- else {
- isOnMacroElement = false;
- }
-
- }
-
- /** when the contents load we need to find any macros declared and load in their content */
- editor.on("LoadContent", function (o) {
-
- //get all macro divs and load their content
- $(editor.dom.select(".umb-macro-holder.mceNonEditable")).each(function() {
- createInsertMacroScope.loadMacroContent($(this), null, $scope);
- });
-
- });
-
- /** This prevents any other commands from executing when the current element is the macro so the content cannot be edited */
- editor.on('BeforeExecCommand', function (o) {
- if (isOnMacroElement) {
- if (o.preventDefault) {
- o.preventDefault();
- }
- if (o.stopImmediatePropagation) {
- o.stopImmediatePropagation();
- }
- return;
- }
- });
-
- /** This double checks and ensures you can't paste content into the rendered macro */
- editor.on("Paste", function (o) {
- if (isOnMacroElement) {
- if (o.preventDefault) {
- o.preventDefault();
- }
- if (o.stopImmediatePropagation) {
- o.stopImmediatePropagation();
- }
- return;
- }
- });
-
- //set onNodeChanged event listener
- editor.on('NodeChange', onNodeChanged);
-
- /**
- * Listen for the keydown in the editor, we'll check if we are currently on a macro element, if so
- * we'll check if the key down is a supported key which requires an action, otherwise we ignore the request
- * so the macro cannot be edited.
- */
- editor.on('KeyDown', function (e) {
- if (isOnMacroElement) {
- var macroElement = editor.selection.getNode();
-
- //get the 'real' element (either p or the real one)
- macroElement = getRealMacroElem(macroElement);
-
- //prevent editing
- e.preventDefault();
- e.stopPropagation();
-
- var moveSibling = function (element, isNext) {
- var $e = $(element);
- var $sibling = isNext ? $e.next() : $e.prev();
- if ($sibling.length > 0) {
- editor.selection.select($sibling.get(0));
- editor.selection.collapse(true);
- }
- else {
- //if we're moving previous and there is no sibling, then lets recurse and just select the next one
- if (!isNext) {
- moveSibling(element, true);
- return;
- }
-
- //if there is no sibling we'll generate a new p at the end and select it
- editor.setContent(editor.getContent() + "
");
- editor.selection.select($(editor.dom.getRoot()).children().last().get(0));
- editor.selection.collapse(true);
-
- }
- };
-
- //supported keys to move to the next or prev element (13-enter, 27-esc, 38-up, 40-down, 39-right, 37-left)
- //supported keys to remove the macro (8-backspace, 46-delete)
- //TODO: Should we make the enter key insert a line break before or leave it as moving to the next element?
- if ($.inArray(e.keyCode, [13, 40, 39]) !== -1) {
- //move to next element
- moveSibling(macroElement, true);
- }
- else if ($.inArray(e.keyCode, [27, 38, 37]) !== -1) {
- //move to prev element
- moveSibling(macroElement, false);
- }
- else if ($.inArray(e.keyCode, [8, 46]) !== -1) {
- //delete macro element
-
- //move first, then delete
- moveSibling(macroElement, false);
- editor.dom.remove(macroElement);
- }
- return ;
- }
- });
-
- },
-
- /** The insert macro button click event handler */
- onclick: function () {
-
- var dialogData = {
- //flag for use in rte so we only show macros flagged for the editor
- richTextEditor: true
- };
-
- //when we click we could have a macro already selected and in that case we'll want to edit the current parameters
- //so we'll need to extract them and submit them to the dialog.
- var macroElement = editor.selection.getNode();
- macroElement = getRealMacroElem(macroElement);
- if (macroElement) {
- //we have a macro selected so we'll need to parse it's alias and parameters
- var contents = $(macroElement).contents();
- var comment = _.find(contents, function(item) {
- return item.nodeType === 8;
- });
- if (!comment) {
- throw "Cannot parse the current macro, the syntax in the editor is invalid";
- }
- var syntax = comment.textContent.trim();
- var parsed = macroService.parseMacroSyntax(syntax);
- dialogData = {
- macroData: parsed
- };
- }
-
- if(callback) {
- callback(dialogData);
- }
-
- }
- });
- },
-
- insertMacroInEditor: function(editor, macroObject, $scope) {
-
- //put the macro syntax in comments, we will parse this out on the server side to be used
- //for persisting.
- var macroSyntaxComment = "";
- //create an id class for this element so we can re-select it after inserting
- var uniqueId = "umb-macro-" + editor.dom.uniqueId();
- var macroDiv = editor.dom.create('div',
- {
- 'class': 'umb-macro-holder ' + macroObject.macroAlias + ' mceNonEditable ' + uniqueId
- },
- macroSyntaxComment + 'Macro alias: ' + macroObject.macroAlias + ' ');
-
- editor.selection.setNode(macroDiv);
-
- var $macroDiv = $(editor.dom.select("div.umb-macro-holder." + uniqueId));
-
- //async load the macro content
- this.loadMacroContent($macroDiv, macroObject, $scope);
-
- },
-
- /** loads in the macro content async from the server */
- loadMacroContent: function($macroDiv, macroData, $scope) {
-
- //if we don't have the macroData, then we'll need to parse it from the macro div
- if (!macroData) {
- var contents = $macroDiv.contents();
- var comment = _.find(contents, function (item) {
- return item.nodeType === 8;
- });
- if (!comment) {
- throw "Cannot parse the current macro, the syntax in the editor is invalid";
- }
- var syntax = comment.textContent.trim();
- var parsed = macroService.parseMacroSyntax(syntax);
- macroData = parsed;
- }
-
- var $ins = $macroDiv.find("ins");
-
- //show the throbber
- $macroDiv.addClass("loading");
-
- var contentId = $routeParams.id;
-
- //need to wrap in safe apply since this might be occuring outside of angular
- angularHelper.safeApply($scope, function() {
- macroResource.getMacroResultAsHtmlForEditor(macroData.macroAlias, contentId, macroData.macroParamsDictionary)
- .then(function (htmlResult) {
-
- $macroDiv.removeClass("loading");
- htmlResult = htmlResult.trim();
- if (htmlResult !== "") {
- $ins.html(htmlResult);
- }
- });
- });
-
- },
-
- createLinkPicker: function(editor, $scope, onClick) {
-
- function createLinkList(callback) {
- return function() {
- var linkList = editor.settings.link_list;
-
- if (typeof(linkList) === "string") {
- tinymce.util.XHR.send({
- url: linkList,
- success: function(text) {
- callback(tinymce.util.JSON.parse(text));
- }
- });
- } else {
- callback(linkList);
- }
- };
- }
-
- function showDialog(linkList) {
- var data = {}, selection = editor.selection, dom = editor.dom, selectedElm, anchorElm, initialText;
- var win, linkListCtrl, relListCtrl, targetListCtrl;
-
- function linkListChangeHandler(e) {
- var textCtrl = win.find('#text');
-
- if (!textCtrl.value() || (e.lastControl && textCtrl.value() === e.lastControl.text())) {
- textCtrl.value(e.control.text());
- }
-
- win.find('#href').value(e.control.value());
- }
-
- function buildLinkList() {
- var linkListItems = [{
- text: 'None',
- value: ''
+ editor.dom.setAttrib(imgElm, 'id', null);
+ }, 500);
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createUmbracoMacro
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the insert umbrco macro tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createInsertMacro: function (editor, $scope, callback) {
+
+ var createInsertMacroScope = this;
+
+ /** Adds custom rules for the macro plugin and custom serialization */
+ editor.on('preInit', function (args) {
+ //this is requires so that we tell the serializer that a 'div' is actually allowed in the root, otherwise the cleanup will strip it out
+ editor.serializer.addRules('div');
+
+ /** This checks if the div is a macro container, if so, checks if its wrapped in a p tag and then unwraps it (removes p tag) */
+ editor.serializer.addNodeFilter('div', function (nodes, name) {
+ for (var i = 0; i < nodes.length; i++) {
+ if (nodes[i].attr("class") === "umb-macro-holder" && nodes[i].parent && nodes[i].parent.name.toUpperCase() === "P") {
+ nodes[i].parent.unwrap();
+ }
+ }
+ });
+
+ });
+
+ /**
+ * Because the macro gets wrapped in a P tag because of the way 'enter' works, this
+ * method will return the macro element if not wrapped in a p, or the p if the macro
+ * element is the only one inside of it even if we are deep inside an element inside the macro
+ */
+ function getRealMacroElem(element) {
+ var e = $(element).closest(".umb-macro-holder");
+ if (e.length > 0) {
+ if (e.get(0).parentNode.nodeName === "P") {
+ //now check if we're the only element
+ if (element.parentNode.childNodes.length === 1) {
+ return e.get(0).parentNode;
+ }
+ }
+ return e.get(0);
+ }
+ return null;
+ }
+
+ /** Adds the button instance */
+ editor.addButton('umbmacro', {
+ icon: 'custom icon-settings-alt',
+ tooltip: 'Insert macro',
+ onPostRender: function () {
+
+ var ctrl = this;
+ var isOnMacroElement = false;
+
+ /**
+ if the selection comes from a different element that is not the macro's
+ we need to check if the selection includes part of the macro, if so we'll force the selection
+ to clear to the next element since if people can select part of the macro markup they can then modify it.
+ */
+ function handleSelectionChange() {
+
+ if (!editor.selection.isCollapsed()) {
+ var endSelection = tinymce.activeEditor.selection.getEnd();
+ var startSelection = tinymce.activeEditor.selection.getStart();
+ //don't proceed if it's an entire element selected
+ if (endSelection !== startSelection) {
+
+ //if the end selection is a macro then move the cursor
+ //NOTE: we don't have to handle when the selection comes from a previous parent because
+ // that is automatically taken care of with the normal onNodeChanged logic since the
+ // evt.element will be the macro once it becomes part of the selection.
+ var $testForMacro = $(endSelection).closest(".umb-macro-holder");
+ if ($testForMacro.length > 0) {
+
+ //it came from before so move after, if there is no after then select ourselves
+ var next = $testForMacro.next();
+ if (next.length > 0) {
+ editor.selection.setCursorLocation($testForMacro.next().get(0));
+ } else {
+ selectMacroElement($testForMacro.get(0));
+ }
+
+ }
+ }
+ }
+ }
+
+ /** helper method to select the macro element */
+ function selectMacroElement(macroElement) {
+
+ // move selection to top element to ensure we can't edit this
+ editor.selection.select(macroElement);
+
+ // check if the current selection *is* the element (ie bug)
+ var currentSelection = editor.selection.getStart();
+ if (tinymce.isIE) {
+ if (!editor.dom.hasClass(currentSelection, 'umb-macro-holder')) {
+ while (!editor.dom.hasClass(currentSelection, 'umb-macro-holder') && currentSelection.parentNode) {
+ currentSelection = currentSelection.parentNode;
+ }
+ editor.selection.select(currentSelection);
+ }
+ }
+ }
+
+ /**
+ * Add a node change handler, test if we're editing a macro and select the whole thing, then set our isOnMacroElement flag.
+ * If we change the selection inside this method, then we end up in an infinite loop, so we have to remove ourselves
+ * from the event listener before changing selection, however, it seems that putting a break point in this method
+ * will always cause an 'infinite' loop as the caret keeps changing.
+ */
+ function onNodeChanged(evt) {
+
+ //set our macro button active when on a node of class umb-macro-holder
+ var $macroElement = $(evt.element).closest(".umb-macro-holder");
+
+ handleSelectionChange();
+
+ //set the button active
+ ctrl.active($macroElement.length !== 0);
+
+ if ($macroElement.length > 0) {
+ var macroElement = $macroElement.get(0);
+
+ //remove the event listener before re-selecting
+ editor.off('NodeChange', onNodeChanged);
+
+ selectMacroElement(macroElement);
+
+ //set the flag
+ isOnMacroElement = true;
+
+ //re-add the event listener
+ editor.on('NodeChange', onNodeChanged);
+ } else {
+ isOnMacroElement = false;
+ }
+
+ }
+
+ /** when the contents load we need to find any macros declared and load in their content */
+ editor.on("LoadContent", function (o) {
+
+ //get all macro divs and load their content
+ $(editor.dom.select(".umb-macro-holder.mceNonEditable")).each(function () {
+ createInsertMacroScope.loadMacroContent($(this), null, $scope);
+ });
+
+ });
+
+ /** This prevents any other commands from executing when the current element is the macro so the content cannot be edited */
+ editor.on('BeforeExecCommand', function (o) {
+ if (isOnMacroElement) {
+ if (o.preventDefault) {
+ o.preventDefault();
+ }
+ if (o.stopImmediatePropagation) {
+ o.stopImmediatePropagation();
+ }
+ return;
+ }
+ });
+
+ /** This double checks and ensures you can't paste content into the rendered macro */
+ editor.on("Paste", function (o) {
+ if (isOnMacroElement) {
+ if (o.preventDefault) {
+ o.preventDefault();
+ }
+ if (o.stopImmediatePropagation) {
+ o.stopImmediatePropagation();
+ }
+ return;
+ }
+ });
+
+ //set onNodeChanged event listener
+ editor.on('NodeChange', onNodeChanged);
+
+ /**
+ * Listen for the keydown in the editor, we'll check if we are currently on a macro element, if so
+ * we'll check if the key down is a supported key which requires an action, otherwise we ignore the request
+ * so the macro cannot be edited.
+ */
+ editor.on('KeyDown', function (e) {
+ if (isOnMacroElement) {
+ var macroElement = editor.selection.getNode();
+
+ //get the 'real' element (either p or the real one)
+ macroElement = getRealMacroElem(macroElement);
+
+ //prevent editing
+ e.preventDefault();
+ e.stopPropagation();
+
+ var moveSibling = function (element, isNext) {
+ var $e = $(element);
+ var $sibling = isNext ? $e.next() : $e.prev();
+ if ($sibling.length > 0) {
+ editor.selection.select($sibling.get(0));
+ editor.selection.collapse(true);
+ } else {
+ //if we're moving previous and there is no sibling, then lets recurse and just select the next one
+ if (!isNext) {
+ moveSibling(element, true);
+ return;
+ }
+
+ //if there is no sibling we'll generate a new p at the end and select it
+ editor.setContent(editor.getContent() + "
");
+ editor.selection.select($(editor.dom.getRoot()).children().last().get(0));
+ editor.selection.collapse(true);
+
+ }
+ };
+
+ //supported keys to move to the next or prev element (13-enter, 27-esc, 38-up, 40-down, 39-right, 37-left)
+ //supported keys to remove the macro (8-backspace, 46-delete)
+ //TODO: Should we make the enter key insert a line break before or leave it as moving to the next element?
+ if ($.inArray(e.keyCode, [13, 40, 39]) !== -1) {
+ //move to next element
+ moveSibling(macroElement, true);
+ } else if ($.inArray(e.keyCode, [27, 38, 37]) !== -1) {
+ //move to prev element
+ moveSibling(macroElement, false);
+ } else if ($.inArray(e.keyCode, [8, 46]) !== -1) {
+ //delete macro element
+
+ //move first, then delete
+ moveSibling(macroElement, false);
+ editor.dom.remove(macroElement);
+ }
+ return;
+ }
+ });
+
+ },
+
+ /** The insert macro button click event handler */
+ onclick: function () {
+
+ var dialogData = {
+ //flag for use in rte so we only show macros flagged for the editor
+ richTextEditor: true
+ };
+
+ //when we click we could have a macro already selected and in that case we'll want to edit the current parameters
+ //so we'll need to extract them and submit them to the dialog.
+ var macroElement = editor.selection.getNode();
+ macroElement = getRealMacroElem(macroElement);
+ if (macroElement) {
+ //we have a macro selected so we'll need to parse it's alias and parameters
+ var contents = $(macroElement).contents();
+ var comment = _.find(contents, function (item) {
+ return item.nodeType === 8;
+ });
+ if (!comment) {
+ throw "Cannot parse the current macro, the syntax in the editor is invalid";
+ }
+ var syntax = comment.textContent.trim();
+ var parsed = macroService.parseMacroSyntax(syntax);
+ dialogData = {
+ macroData: parsed
+ };
+ }
+
+ if (callback) {
+ callback(dialogData);
+ }
+
+ }
+ });
+ },
+
+ insertMacroInEditor: function (editor, macroObject, $scope) {
+
+ //put the macro syntax in comments, we will parse this out on the server side to be used
+ //for persisting.
+ var macroSyntaxComment = "";
+ //create an id class for this element so we can re-select it after inserting
+ var uniqueId = "umb-macro-" + editor.dom.uniqueId();
+ var macroDiv = editor.dom.create('div', {
+ 'class': 'umb-macro-holder ' + macroObject.macroAlias + ' mceNonEditable ' + uniqueId
+ },
+ macroSyntaxComment + 'Macro alias: ' + macroObject.macroAlias + ' ');
+
+ editor.selection.setNode(macroDiv);
+
+ var $macroDiv = $(editor.dom.select("div.umb-macro-holder." + uniqueId));
+
+ //async load the macro content
+ this.loadMacroContent($macroDiv, macroObject, $scope);
+
+ },
+
+ /** loads in the macro content async from the server */
+ loadMacroContent: function ($macroDiv, macroData, $scope) {
+
+ //if we don't have the macroData, then we'll need to parse it from the macro div
+ if (!macroData) {
+ var contents = $macroDiv.contents();
+ var comment = _.find(contents, function (item) {
+ return item.nodeType === 8;
+ });
+ if (!comment) {
+ throw "Cannot parse the current macro, the syntax in the editor is invalid";
+ }
+ var syntax = comment.textContent.trim();
+ var parsed = macroService.parseMacroSyntax(syntax);
+ macroData = parsed;
+ }
+
+ var $ins = $macroDiv.find("ins");
+
+ //show the throbber
+ $macroDiv.addClass("loading");
+
+ var contentId = $routeParams.id;
+
+ //need to wrap in safe apply since this might be occuring outside of angular
+ angularHelper.safeApply($scope, function () {
+ macroResource.getMacroResultAsHtmlForEditor(macroData.macroAlias, contentId, macroData.macroParamsDictionary)
+ .then(function (htmlResult) {
+
+ $macroDiv.removeClass("loading");
+ htmlResult = htmlResult.trim();
+ if (htmlResult !== "") {
+ $ins.html(htmlResult);
+ }
+ });
+ });
+
+ },
+
+ createLinkPicker: function (editor, $scope, onClick) {
+
+ function createLinkList(callback) {
+ return function () {
+ var linkList = editor.settings.link_list;
+
+ if (typeof (linkList) === "string") {
+ tinymce.util.XHR.send({
+ url: linkList,
+ success: function (text) {
+ callback(tinymce.util.JSON.parse(text));
+ }
+ });
+ } else {
+ callback(linkList);
+ }
+ };
+ }
+
+ function showDialog(linkList) {
+ var data = {},
+ selection = editor.selection,
+ dom = editor.dom,
+ selectedElm, anchorElm, initialText;
+ var win, linkListCtrl, relListCtrl, targetListCtrl;
+
+ function linkListChangeHandler(e) {
+ var textCtrl = win.find('#text');
+
+ if (!textCtrl.value() || (e.lastControl && textCtrl.value() === e.lastControl.text())) {
+ textCtrl.value(e.control.text());
+ }
+
+ win.find('#href').value(e.control.value());
+ }
+
+ function buildLinkList() {
+ var linkListItems = [{
+ text: 'None',
+ value: ''
}];
- tinymce.each(linkList, function(link) {
- linkListItems.push({
- text: link.text || link.title,
- value: link.value || link.url,
- menu: link.menu
- });
- });
+ tinymce.each(linkList, function (link) {
+ linkListItems.push({
+ text: link.text || link.title,
+ value: link.value || link.url,
+ menu: link.menu
+ });
+ });
- return linkListItems;
- }
+ return linkListItems;
+ }
- function buildRelList(relValue) {
- var relListItems = [{
- text: 'None',
- value: ''
+ function buildRelList(relValue) {
+ var relListItems = [{
+ text: 'None',
+ value: ''
}];
- tinymce.each(editor.settings.rel_list, function(rel) {
- relListItems.push({
- text: rel.text || rel.title,
- value: rel.value,
- selected: relValue === rel.value
- });
- });
+ tinymce.each(editor.settings.rel_list, function (rel) {
+ relListItems.push({
+ text: rel.text || rel.title,
+ value: rel.value,
+ selected: relValue === rel.value
+ });
+ });
- return relListItems;
- }
+ return relListItems;
+ }
- function buildTargetList(targetValue) {
- var targetListItems = [{
- text: 'None',
- value: ''
+ function buildTargetList(targetValue) {
+ var targetListItems = [{
+ text: 'None',
+ value: ''
}];
- if (!editor.settings.target_list) {
- targetListItems.push({
- text: 'New window',
- value: '_blank'
- });
- }
+ if (!editor.settings.target_list) {
+ targetListItems.push({
+ text: 'New window',
+ value: '_blank'
+ });
+ }
- tinymce.each(editor.settings.target_list, function(target) {
- targetListItems.push({
- text: target.text || target.title,
- value: target.value,
- selected: targetValue === target.value
- });
- });
+ tinymce.each(editor.settings.target_list, function (target) {
+ targetListItems.push({
+ text: target.text || target.title,
+ value: target.value,
+ selected: targetValue === target.value
+ });
+ });
- return targetListItems;
- }
+ return targetListItems;
+ }
- function buildAnchorListControl(url) {
- var anchorList = [];
+ function buildAnchorListControl(url) {
+ var anchorList = [];
- tinymce.each(editor.dom.select('a:not([href])'), function(anchor) {
- var id = anchor.name || anchor.id;
+ tinymce.each(editor.dom.select('a:not([href])'), function (anchor) {
+ var id = anchor.name || anchor.id;
- if (id) {
- anchorList.push({
- text: id,
- value: '#' + id,
- selected: url.indexOf('#' + id) !== -1
- });
- }
- });
+ if (id) {
+ anchorList.push({
+ text: id,
+ value: '#' + id,
+ selected: url.indexOf('#' + id) !== -1
+ });
+ }
+ });
- if (anchorList.length) {
- anchorList.unshift({
- text: 'None',
- value: ''
- });
+ if (anchorList.length) {
+ anchorList.unshift({
+ text: 'None',
+ value: ''
+ });
- return {
- name: 'anchor',
- type: 'listbox',
- label: 'Anchors',
- values: anchorList,
- onselect: linkListChangeHandler
- };
- }
- }
+ return {
+ name: 'anchor',
+ type: 'listbox',
+ label: 'Anchors',
+ values: anchorList,
+ onselect: linkListChangeHandler
+ };
+ }
+ }
- function updateText() {
- if (!initialText && data.text.length === 0) {
- this.parent().parent().find('#text')[0].value(this.value());
- }
- }
+ function updateText() {
+ if (!initialText && data.text.length === 0) {
+ this.parent().parent().find('#text')[0].value(this.value());
+ }
+ }
- selectedElm = selection.getNode();
- anchorElm = dom.getParent(selectedElm, 'a[href]');
+ selectedElm = selection.getNode();
+ anchorElm = dom.getParent(selectedElm, 'a[href]');
- data.text = initialText = anchorElm ? (anchorElm.innerText || anchorElm.textContent) : selection.getContent({format: 'text'});
- data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';
- data.target = anchorElm ? dom.getAttrib(anchorElm, 'target') : '';
- data.rel = anchorElm ? dom.getAttrib(anchorElm, 'rel') : '';
+ data.text = initialText = anchorElm ? (anchorElm.innerText || anchorElm.textContent) : selection.getContent({
+ format: 'text'
+ });
+ data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';
+ data.target = anchorElm ? dom.getAttrib(anchorElm, 'target') : '';
+ data.rel = anchorElm ? dom.getAttrib(anchorElm, 'rel') : '';
- if (selectedElm.nodeName === "IMG") {
- data.text = initialText = " ";
- }
+ if (selectedElm.nodeName === "IMG") {
+ data.text = initialText = " ";
+ }
- if (linkList) {
- linkListCtrl = {
- type: 'listbox',
- label: 'Link list',
- values: buildLinkList(),
- onselect: linkListChangeHandler
- };
- }
+ if (linkList) {
+ linkListCtrl = {
+ type: 'listbox',
+ label: 'Link list',
+ values: buildLinkList(),
+ onselect: linkListChangeHandler
+ };
+ }
- if (editor.settings.target_list !== false) {
- targetListCtrl = {
- name: 'target',
- type: 'listbox',
- label: 'Target',
- values: buildTargetList(data.target)
- };
- }
+ if (editor.settings.target_list !== false) {
+ targetListCtrl = {
+ name: 'target',
+ type: 'listbox',
+ label: 'Target',
+ values: buildTargetList(data.target)
+ };
+ }
- if (editor.settings.rel_list) {
- relListCtrl = {
- name: 'rel',
- type: 'listbox',
- label: 'Rel',
- values: buildRelList(data.rel)
- };
- }
+ if (editor.settings.rel_list) {
+ relListCtrl = {
+ name: 'rel',
+ type: 'listbox',
+ label: 'Rel',
+ values: buildRelList(data.rel)
+ };
+ }
- var injector = angular.element(document.getElementById("umbracoMainPageBody")).injector();
- var dialogService = injector.get("dialogService");
- var currentTarget = null;
+ var currentTarget = null;
- //if we already have a link selected, we want to pass that data over to the dialog
- if(anchorElm){
- var anchor = $(anchorElm);
- currentTarget = {
- name: anchor.attr("title"),
- url: anchor.attr("href"),
- target: anchor.attr("target")
- };
+ //if we already have a link selected, we want to pass that data over to the dialog
+ if (anchorElm) {
+ var anchor = $(anchorElm);
+ currentTarget = {
+ name: anchor.attr("title"),
+ url: anchor.attr("href"),
+ target: anchor.attr("target")
+ };
- //locallink detection, we do this here, to avoid poluting the dialogservice
- //so the dialog service can just expect to get a node-like structure
- if (currentTarget.url.indexOf("localLink:") > 0) {
- var linkId = currentTarget.url.substring(currentTarget.url.indexOf(":") + 1, currentTarget.url.length - 1);
- //we need to check if this is an INT or a UDI
- var parsedIntId = parseInt(linkId, 10);
- if (isNaN(parsedIntId)) {
- //it's a UDI
- currentTarget.udi = linkId;
- }
- else {
- currentTarget.id = linkId;
- }
- }
- }
+ // drop the lead char from the anchor text, if it has a value
+ var anchorVal = anchor[0].dataset.anchor;
+ if (anchorVal) {
+ currentTarget.anchor = anchorVal.substring(1);
+ }
- if(onClick) {
- onClick(currentTarget, anchorElm);
- }
+ //locallink detection, we do this here, to avoid poluting the dialogservice
+ //so the dialog service can just expect to get a node-like structure
+ if (currentTarget.url.indexOf("localLink:") > 0) {
+ // if the current link has an anchor, it needs to be considered when getting the udi/id
+ // if an anchor exists, reduce the substring max by its length plus two to offset the removed prefix and trailing curly brace
+ var linkId = currentTarget.url.substring(currentTarget.url.indexOf(":") + 1, currentTarget.url.lastIndexOf("}"));
- }
+ //we need to check if this is an INT or a UDI
+ var parsedIntId = parseInt(linkId, 10);
+ if (isNaN(parsedIntId)) {
+ //it's a UDI
+ currentTarget.udi = linkId;
+ } else {
+ currentTarget.id = linkId;
+ }
+ }
+ }
- editor.addButton('link', {
- icon: 'link',
- tooltip: 'Insert/edit link',
- shortcut: 'Ctrl+K',
- onclick: createLinkList(showDialog),
- stateSelector: 'a[href]'
- });
+ if (onClick) {
+ onClick(currentTarget, anchorElm);
+ }
- editor.addButton('unlink', {
- icon: 'unlink',
- tooltip: 'Remove link',
- cmd: 'unlink',
- stateSelector: 'a[href]'
- });
+ }
- editor.addShortcut('Ctrl+K', '', createLinkList(showDialog));
- this.showDialog = showDialog;
+ editor.addButton('link', {
+ icon: 'link',
+ tooltip: 'Insert/edit link',
+ shortcut: 'Ctrl+K',
+ onclick: createLinkList(showDialog),
+ stateSelector: 'a[href]'
+ });
- editor.addMenuItem('link', {
- icon: 'link',
- text: 'Insert link',
- shortcut: 'Ctrl+K',
- onclick: createLinkList(showDialog),
- stateSelector: 'a[href]',
- context: 'insert',
- prependToContext: true
- });
+ editor.addButton('unlink', {
+ icon: 'unlink',
+ tooltip: 'Remove link',
+ cmd: 'unlink',
+ stateSelector: 'a[href]'
+ });
- },
+ editor.addShortcut('Ctrl+K', '', createLinkList(showDialog));
+ this.showDialog = showDialog;
- insertLinkInEditor: function(editor, target, anchorElm) {
+ editor.addMenuItem('link', {
+ icon: 'link',
+ text: 'Insert link',
+ shortcut: 'Ctrl+K',
+ onclick: createLinkList(showDialog),
+ stateSelector: 'a[href]',
+ context: 'insert',
+ prependToContext: true
+ });
- var href = target.url;
- // We want to use the Udi. If it is set, we use it, else fallback to id, and finally to null
- var hasUdi = target.udi ? true : false;
- var id = hasUdi ? target.udi : (target.id ? target.id : null);
+ },
- //Create a json obj used to create the attributes for the tag
- function createElemAttributes() {
- var a = {
- href: href,
- title: target.name,
- target: target.target ? target.target : null,
- rel: target.rel ? target.rel : null
- };
- if (hasUdi) {
- a["data-udi"] = target.udi;
- }
- else if (target.id) {
- a["data-id"] = target.id;
- }
- return a;
- }
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#getAnchorNames
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * From the given string, generates a string array where each item is the id attribute value from a named anchor
+ * 'some string with a named anchor' returns ['anchor']
+ *
+ * @param {string} input the string to parse
+ */
+ getAnchorNames: function (input) {
+ if (!input) return [];
+
+ var anchorPattern = //gi;
+ var matches = input.match(anchorPattern);
+ var anchors = [];
- function insertLink() {
- if (anchorElm) {
- editor.dom.setAttribs(anchorElm, createElemAttributes());
+ if (matches) {
+ anchors = matches.map(function (v) {
+ return v.substring(v.indexOf('"') + 1, v.lastIndexOf('\\'));
+ });
+ }
- editor.selection.select(anchorElm);
- editor.execCommand('mceEndTyping');
- }
- else {
- editor.execCommand('mceInsertLink', false, createElemAttributes());
- }
- }
+ return anchors.filter(function(val, i, self) {
+ return self.indexOf(val) === i;
+ });
+ },
- if (!href) {
- editor.execCommand('unlink');
- return;
- }
+ insertLinkInEditor: function (editor, target, anchorElm) {
- //if we have an id, it must be a locallink:id, aslong as the isMedia flag is not set
- if(id && (angular.isUndefined(target.isMedia) || !target.isMedia)){
-
- href = "/{localLink:" + id + "}";
+ var href = target.url;
+ // We want to use the Udi. If it is set, we use it, else fallback to id, and finally to null
+ var hasUdi = target.udi ? true : false;
+ var id = hasUdi ? target.udi : (target.id ? target.id : null);
- insertLink();
- return;
- }
+ // if an anchor exists, check that it is appropriately prefixed
+ if (target.anchor && target.anchor[0] !== '?' && target.anchor[0] !== '#') {
+ target.anchor = (target.anchor.indexOf('=') === -1 ? '#' : '?') + target.anchor;
+ }
+
+ // the href might be an external url, so check the value for an anchor/qs
+ // href has the anchor re-appended later, hence the reset here to avoid duplicating the anchor
+ if (!target.anchor) {
+ var urlParts = href.split(/(#|\?)/);
+ if (urlParts.length === 3) {
+ href = urlParts[0];
+ target.anchor = urlParts[1] + urlParts[2];
+ }
+ }
+
+ //Create a json obj used to create the attributes for the tag
+ function createElemAttributes() {
+ var a = {
+ href: href,
+ title: target.name,
+ target: target.target ? target.target : null,
+ rel: target.rel ? target.rel : null
+ };
- // Is email and not //user@domain.com
- if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) {
- href = 'mailto:' + href;
- insertLink();
- return;
- }
+ if (hasUdi) {
+ a["data-udi"] = target.udi;
+ } else if (target.id) {
+ a["data-id"] = target.id;
+ }
- // Is www. prefixed
- if (/^\s*www\./i.test(href)) {
- href = 'http://' + href;
- insertLink();
- return;
- }
+ if (target.anchor) {
+ a["data-anchor"] = target.anchor;
+ a.href = a.href + target.anchor;
+ } else {
+ a["data-anchor"] = null;
+ }
- insertLink();
+ return a;
+ }
- }
+ function insertLink() {
+ if (anchorElm) {
+ editor.dom.setAttribs(anchorElm, createElemAttributes());
- };
+ editor.selection.select(anchorElm);
+ editor.execCommand('mceEndTyping');
+ } else {
+ editor.execCommand('mceInsertLink', false, createElemAttributes());
+ }
+ }
+
+ if (!href) {
+ editor.execCommand('unlink');
+ return;
+ }
+
+ //if we have an id, it must be a locallink:id, aslong as the isMedia flag is not set
+ if (id && (angular.isUndefined(target.isMedia) || !target.isMedia)) {
+
+ href = "/{localLink:" + id + "}";
+
+ insertLink();
+ return;
+ }
+
+ // Is email and not //user@domain.com
+ if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) {
+ href = 'mailto:' + href;
+ insertLink();
+ return;
+ }
+
+ // Is www. prefixed
+ if (/^\s*www\./i.test(href)) {
+ href = 'http://' + href;
+ insertLink();
+ return;
+ }
+
+ insertLink();
+
+ }
+
+ };
}
angular.module('umbraco.services').factory('tinyMceService', tinyMceService);
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
index 888a067a66..9adde2fd97 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
@@ -50,7 +50,7 @@ function treeService($q, treeResource, iconHelper, notificationsService, eventsS
parentNode.cssClasses = [];
}
parentNode.cssClasses.push("no-access");
- }
+ }
//create a method outside of the loop to return the parent - otherwise jshint blows up
var funcParent = function() {
@@ -263,7 +263,12 @@ function treeService($q, treeResource, iconHelper, notificationsService, eventsS
if (args.node.children && args.node.children.length > 0) {
args.node.expanded = true;
args.node.hasChildren = true;
+
+ if (angular.isFunction(args.node.updateNodeData)) {
+ args.node.updateNodeData();
+ }
}
+
return data;
}, function(reason) {
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js b/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js
index 78dec2f065..2d0768e50e 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js
@@ -99,6 +99,28 @@
return saveModel;
},
+ /** formats the display model used to display the dictionary to the model used to save the dictionary */
+ formatDictionaryPostData : function(dictionary, nameIsDirty) {
+ var saveModel = {
+ parentId: dictionary.parentId,
+ id: dictionary.id,
+ name: dictionary.name,
+ nameIsDirty: nameIsDirty,
+ translations: [],
+ key : dictionary.key
+ };
+
+ for(var i = 0; i < dictionary.translations.length; i++) {
+ saveModel.translations.push({
+ isoCode: dictionary.translations[i].isoCode,
+ languageId: dictionary.translations[i].languageId,
+ translation: dictionary.translations[i].translation
+ });
+ }
+
+ return saveModel;
+ },
+
/** formats the display model used to display the user to the model used to save the user */
formatUserPostData: function (displayModel) {
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js
index 21fe84ff8d..6e20ce91ac 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js
@@ -8,7 +8,8 @@
{ "value": 0, "name": "Active", "key": "Active", "color": "success" },
{ "value": 1, "name": "Disabled", "key": "Disabled", "color": "danger" },
{ "value": 2, "name": "Locked out", "key": "LockedOut", "color": "danger" },
- { "value": 3, "name": "Invited", "key": "Invited", "color": "warning" }
+ { "value": 3, "name": "Invited", "key": "Invited", "color": "warning" },
+ { "value": 4, "name": "Inactive", "key": "Inactive", "color": "warning" }
];
angular.forEach(userStates, function (userState) {
diff --git a/src/Umbraco.Web.UI.Client/src/installer/installer.service.js b/src/Umbraco.Web.UI.Client/src/installer/installer.service.js
index efbb13fad4..a174de1271 100644
--- a/src/Umbraco.Web.UI.Client/src/installer/installer.service.js
+++ b/src/Umbraco.Web.UI.Client/src/installer/installer.service.js
@@ -21,7 +21,7 @@ angular.module("umbraco.install").factory('installerService', function($rootScop
"At least 2 people have named their cat 'Umbraco'",
'On an average day, more than 1000 people download Umbraco',
' umbraco.tv is the premier source of Umbraco video tutorials to get you started',
- 'You can find the world\'s friendliest CMS community at our.umbraco.org ',
+ 'You can find the world\'s friendliest CMS community at our.umbraco.com ',
'You can become a certified Umbraco developer by attending one of the official courses',
'Umbraco works really well on tablets',
'You have 100% control over your markup and design when crafting a website in Umbraco',
@@ -121,7 +121,7 @@ angular.module("umbraco.install").factory('installerService', function($rootScop
}
},
- //loads available packages from our.umbraco.org
+ //loads available packages from our.umbraco.com
getPackages : function(){
return $http.get(Umbraco.Sys.ServerVariables.installApiBaseUrl + "GetPackages");
},
diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html b/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html
index 3ced6ed678..ad9b1c9cc1 100644
--- a/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html
+++ b/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html
@@ -3,7 +3,7 @@
In order to run umbraco, you'll need to update your permission settings.
Detailed information about the correct file & folder permissions for Umbraco can be found
- here .
+ here .
The following report list the permissions that are currently failing. Once the permissions are fixed press the 'Go back' button to restart the installation.
diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html
index 0b9e22a0f3..1ffbdb205b 100644
--- a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html
+++ b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html
@@ -12,7 +12,7 @@
Loading...
-
+
diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/user.html b/src/Umbraco.Web.UI.Client/src/installer/steps/user.html
index f2abb99f17..52a2fce4bc 100644
--- a/src/Umbraco.Web.UI.Client/src/installer/steps/user.html
+++ b/src/Umbraco.Web.UI.Client/src/installer/steps/user.html
@@ -25,22 +25,21 @@
diff --git a/src/Umbraco.Web.UI.Client/src/less/application/animations.less b/src/Umbraco.Web.UI.Client/src/less/application/animations.less
index dae428c18a..110d3700d0 100644
--- a/src/Umbraco.Web.UI.Client/src/less/application/animations.less
+++ b/src/Umbraco.Web.UI.Client/src/less/application/animations.less
@@ -1,8 +1,8 @@
// Animations
// -------------------------
-//Animate.css - http://daneden.me/animate
-//Licensed under the MIT license - http://opensource.org/licenses/MIT
+//Animate.css - https://daneden.github.io/animate.css/
+//Licensed under the MIT license - https://opensource.org/licenses/MIT
//Copyright (c) 2013 Daniel Eden
.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);-ms-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);-ms-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);-ms-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);-ms-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);-ms-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);-ms-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);-ms-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);-ms-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);-ms-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);-ms-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);-ms-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);-ms-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);-ms-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);-ms-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;-ms-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);-ms-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);-ms-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);-ms-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);-ms-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);-ms-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);-ms-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);-ms-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);-ms-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);-ms-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);-ms-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);-ms-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);-ms-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);-ms-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);-ms-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);-ms-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);-ms-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-ms-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);-ms-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);-ms-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);-ms-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);-ms-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);-ms-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);-ms-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);-ms-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);-ms-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);-ms-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);-ms-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);-ms-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);-ms-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0,0,1,45deg);transform:rotate(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0,0,1,45deg);-ms-transform:rotate(0,0,1,45deg);transform:rotate(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);-ms-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);-ms-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);-ms-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);-ms-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);-ms-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);-ms-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);-ms-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);-ms-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}
diff --git a/src/Umbraco.Web.UI.Client/src/less/application/grid.less b/src/Umbraco.Web.UI.Client/src/less/application/grid.less
index 2671adba32..ff795d5ff4 100644
--- a/src/Umbraco.Web.UI.Client/src/less/application/grid.less
+++ b/src/Umbraco.Web.UI.Client/src/less/application/grid.less
@@ -248,13 +248,13 @@ body.umb-drawer-is-visible #mainwrapper{
#applications-tray {
left: 60px;
}
- #navigation {
+ #navigation, #umb-notifications-wrapper {
left: 60px;
}
- #contentwrapper, #contentcolumn, #umb-notifications-wrapper {
+ #contentwrapper, #contentcolumn {
left: 30px;
}
- #umbracoMainPageBody .umb-modal-left.fade.in {
+ #umbracoMainPageBody .umb-modal-left.fade.in {
margin-left: 61px;
}
}
@@ -277,12 +277,13 @@ body.umb-drawer-is-visible #mainwrapper{
#applications-tray {
left: 40px;
}
- #navigation {
+ #navigation, #umb-notifications-wrapper {
left: 40px;
}
- #contentwrapper, #contentcolumn, #umb-notifications-wrapper {
+ #contentwrapper, #contentcolumn {
left: 20px;
}
+
#umbracoMainPageBody .umb-modal-left.fade.in {
margin-left: 41px;
width: 85%!important;
diff --git a/src/Umbraco.Web.UI.Client/src/less/belle.less b/src/Umbraco.Web.UI.Client/src/less/belle.less
index 90521e1ec7..a391e16635 100644
--- a/src/Umbraco.Web.UI.Client/src/less/belle.less
+++ b/src/Umbraco.Web.UI.Client/src/less/belle.less
@@ -114,6 +114,8 @@
@import "components/umb-grid.less";
@import "components/umb-empty-state.less";
@import "components/umb-property-editor.less";
+@import "components/umb-color-swatches.less";
+@import "components/check-circle.less";
@import "components/umb-iconpicker.less";
@import "components/umb-insert-code-box.less";
@import "components/umb-packages.less";
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less b/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less
index 0fae291e72..3c979135fb 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less
@@ -55,12 +55,13 @@
/* Our badge - should be moved */
.umb-help-badge {
- padding: 10px 20px 10px 35px;
+ padding: 10px 20px 10px 55px;
background: @white;
position: relative;
overflow: hidden;
border-radius: 3px;
display: block;
+ margin-bottom:5px;
}
.umb-help-badge:hover,
@@ -74,10 +75,10 @@
}
.umb-help-badge__icon {
- font-size: 40px;
+ font-size: 36px;
transform: translate(0,-50%);
position: absolute;
- left: -15px;
+ left: 10px;
top: 50%;
color: @red-l3;
}
@@ -128,6 +129,14 @@
align-items: center;
}
+/* the outer container for each help type - tours, video etc */
+.umb-help-section + .umb-help-section {
+ margin-top:20px;
+}
+
+.umb-help-section__title {
+ margin:0 0 10px;
+}
/* Help list */
@@ -135,12 +144,12 @@
list-style: none;
margin-left: 0;
margin-bottom: 0;
- background: @white;
+ background: @white;
border-radius: 3px;
-}
-
-.umb-help-list:last-child {
- border-bottom: none;
+
+ [data-element*="help-tours"] & {
+ margin-bottom:5px;
+ }
}
.umb-help-list-item {
@@ -149,20 +158,28 @@
border-bottom: 1px solid @gray-9;
}
-.umb-help-list-item > a,
+.umb-help-list-item__group-title i {
+ margin-right:2px;
+ text-decoration: none;
+}
+
.umb-help-list-item__content {
display: flex;
align-items: center;
- padding: 10px 20px;
+ padding: 10px 20px 10px 10px;
+ text-decoration: none;
}
+.umb-help-list-item:hover,
+.umb-help-list-item:focus,
+.umb-help-list-item:active,
.umb-help-list-item > a:hover,
.umb-help-list-item > a:focus,
.umb-help-list-item > a:active {
text-decoration: none;
.umb-help-list-item__title {
- text-decoration: underline !important;
+ text-decoration: underline;
}
}
@@ -191,4 +208,8 @@
.umb-help-list-item:hover .umb-help-list-item__group-title {
text-decoration: underline;
+}
+
+[data-element*="tour-"].umb-help-list-item:hover .umb-help-list-item__title {
+ text-decoration:none;
}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less b/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less
index 2156f75d00..73f059b4ee 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less
@@ -1,10 +1,20 @@
.umb-toggle {
- display: flex;
- align-items: center;
+ display: flex;
+ align-items: center;
+ background: none;
+ border: none;
+ padding: 0;
+
+ &:focus {
+ outline: 0;
+ }
}
.umb-toggle__handler {
- display: inline-block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
width: 24px;
height: 24px;
background-color: @white;
@@ -62,4 +72,4 @@
.umb-toggle__icon--right {
right: 7px;
color: @gray-5;
-}
\ No newline at end of file
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less b/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less
new file mode 100644
index 0000000000..a4c3a89c99
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less
@@ -0,0 +1,20 @@
+.check_circle {
+ display: flex;
+ opacity: 0;
+ width: 20px;
+ height: 20px;
+ margin: 0 auto;
+
+ .icon {
+ background-color: rgba(0,0,0,.15);
+ border-radius: 50%;
+ color: @white;
+ font-size: 1em;
+ display: flex;
+ width: 100%;
+ height: 100%;
+ align-items: center;
+ justify-content: center;
+ float: left;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less b/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less
index b94055a0d2..fb71016f90 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less
@@ -1,12 +1,18 @@
.umb-editor-sub-header {
- padding: 15px 0;
- margin-bottom: 30px;
- background: @white;
- display: flex;
- justify-content: space-between;
- margin-top: -30px;
- position: relative;
- top: 0;
+ padding: 15px 0;
+ margin-bottom: 30px;
+ background: @white;
+ display: flex;
+ justify-content: space-between;
+ margin-top: -30px;
+ position: relative;
+ top: 0;
+
+ &.nested {
+ margin-top: 0;
+ margin-bottom: 0;
+ background: @gray-10;
+ }
}
.umb-editor-sub-header.-umb-sticky-bar {
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/prevalues/multivalues.less b/src/Umbraco.Web.UI.Client/src/less/components/prevalues/multivalues.less
index a307e5c585..5363a8db9b 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/prevalues/multivalues.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/prevalues/multivalues.less
@@ -1,5 +1,10 @@
.umb-prevalues-multivalues {
width: 400px;
+ max-width: 100%;
+
+ .umb-overlay & {
+ width: 500px;
+ }
}
.umb-prevalues-multivalues__left {
@@ -27,7 +32,7 @@
.umb-prevalues-multivalues__add button {
margin: 0 6px 0 0;
- float: right
+ margin-left: auto;
}
.umb-prevalues-multivalues__listitem {
@@ -46,6 +51,7 @@
.umb-prevalues-multivalues__listitem a {
cursor: pointer;
+ margin-left: auto;
}
.umb-prevalues-multivalues__listitem input {
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less
new file mode 100644
index 0000000000..e27bd0d654
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less
@@ -0,0 +1,37 @@
+.umb-color-swatches {
+
+ .umb-color-box {
+ border: none;
+ color: white;
+ cursor: pointer;
+ padding: 5px;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ margin: 5px;
+ border-radius: 3px;
+ width: 30px;
+ height: 30px;
+ transition: box-shadow .3s;
+
+ &:hover, &:focus {
+ box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
+ }
+
+ &.active {
+ .check_circle {
+ opacity: 1;
+ }
+ }
+
+ &.umb-color-box--m {
+ width: 40px;
+ height: 40px;
+
+ .check_circle {
+ width: 25px;
+ height: 25px;
+ }
+ }
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less
index 107c14ad86..49f0892bb0 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less
@@ -537,15 +537,11 @@
.umb-grid textarea.textstring {
display: block;
overflow: hidden;
- border: none;
background: @white;
outline: none;
resize: none;
color: @gray-3;
-}
-
-.umb-grid .umb-cell-rte textarea.mceNoEditor {
- display: none !important;
+ min-width: 100%;
}
.umb-grid .umb-cell-media .caption {
@@ -567,11 +563,6 @@
width: 100%;
}
-.umb-grid .umb-cell-rte {
- border-color: transparent;
-}
-
-
// ICONS
// -------------------------
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less
index a341c69129..50eb3c622b 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less
@@ -530,6 +530,13 @@ input.umb-group-builder__group-title-input {
overflow: hidden;
}
+ .editor-validation-pattern{
+ border: 1px solid @gray-7;
+ margin: 10px 0 0;
+ padding: 6px;
+ max-height: 32px;
+ }
+
.umb-dropdown {
width: 100%;
}
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less
index 0ecdd4f824..aa1dd8c9e7 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less
@@ -27,11 +27,18 @@
}
.umb-iconpicker-item a:hover,
-.umb-iconpicker-item a:focus{
+.umb-iconpicker-item a:focus {
background: @gray-10;
outline: none;
}
+.umb-iconpicker-item.-selected {
+ background: @gray-10;
+ border: solid 1px @turquoise-d1;
+ border-radius: @baseBorderRadius;
+ box-sizing: border-box;
+}
+
.umb-iconpicker-item a:active {
background: @gray-10;
}
@@ -39,3 +46,32 @@
.umb-iconpicker-item i {
font-size: 30px;
}
+
+
+// Color swatch
+ .button {
+ border: none;
+ color: white;
+ padding: 5px;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ margin: 5px;
+ border-radius: 3px;
+ }
+
+ // Hide Circle when not active
+ i.small{
+ display: none;
+ }
+
+ // Circle behind the checkmark
+ i.small.active{
+ font-size: 14px;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background-color: rgba(0,0,0,.15);
+ float: right;
+ }
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less
index 4f24fcf504..514a73407c 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less
@@ -1,16 +1,13 @@
-.nested-content
-{
+.umb-nested-content {
text-align: center;
}
-.nested-content--not-supported
-{
+.umb-nested-content--not-supported {
opacity: 0.3;
pointer-events: none;
}
-.nested-content-overlay
-{
+.umb-nested-content-overlay {
position: absolute;
top: 0;
left: 0;
@@ -19,47 +16,39 @@
z-index: 1000;
}
-.nested-content__item
-{
+.umb-nested-content__item {
position: relative;
text-align: left;
border-top: solid 1px transparent;
- background: white;
-
-
+ background: @white;
}
-.nested-content__item--active:not(.nested-content__item--single)
-{
- background: #f8f8f8;
+.umb-nested-content__item--active:not(.umb-nested-content__item--single) {
+ background: @gray-10;
}
-.nested-content__item.ui-sortable-placeholder
-{
- background: #f8f8f8;
- border: 1px dashed #d9d9d9;
+.umb-nested-content__item.ui-sortable-placeholder {
+ background: @gray-10;
+ border: 1px dashed @gray-8;
visibility: visible !important;
height: 55px;
margin-top: -1px;
}
-.nested-content__item--single > .nested-content__content
-{
+.umb-nested-content__item--single > .umb-nested-content__content {
border: 0;
}
-.nested-content__item--single > .nested-content__content > .umb-pane
-{
+.umb-nested-content__item--single > .umb-nested-content__content > .umb-pane {
margin: 0;
}
-.nested-content__header-bar
-{
+.umb-nested-content__header-bar {
padding: 15px 20px;
- border-bottom: 1px dashed #e0e0e0;
+ border-bottom: 1px dashed @gray-8;
text-align: right;
cursor: pointer;
- background-color: white;
+ background-color: @white;
-moz-user-select: none;
-khtml-user-select: none;
@@ -67,142 +56,170 @@
-o-user-select: none;
}
-.nested-content__heading
-{
- float: left;
+.umb-nested-content__heading {
line-height: 20px;
+ position: relative;
+
+ &.-with-icon {
+ padding-left: 20px;
+ }
+
+ i {
+ color: @gray-2;
+ position: absolute;
+ left: 0;
+ }
+
+ .umb-nested-content__item-name {
+ max-height: 20px;
+ text-align: left;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: block;
+ }
}
-.nested-content__heading i
-{
- vertical-align: text-top;
- color: #999; /* same icon color as the icons in the item type picker */
- margin-right: 10px;
-}
-
-.nested-content__icons
-{
- margin: -6px 0;
+.umb-nested-content__icons {
opacity: 0;
-
transition: opacity .15s ease-in-out;
- -moz-transition: opacity .15s ease-in-out;
- -webkit-transition: opacity .15s ease-in-out;
+ position: absolute;
+ right: 0px;
+ top: 2px;
+ background-color: @white;
+ padding: 5px;
+
+ &:before {
+ content: ' ';
+ position: absolute;
+ display: block;
+ width: 30px;
+ left: -30px;
+ top: 0;
+ bottom: 0;
+ background: linear-gradient(90deg, rgba(255,255,255,0), white);
+ }
}
-.nested-content__header-bar:hover .nested-content__icons,
-.nested-content__item--active > .nested-content__header-bar .nested-content__icons
-{
+
+.umb-nested-content__header-bar:hover .umb-nested-content__icons,
+.umb-nested-content__item--active > .umb-nested-content__header-bar .umb-nested-content__icons {
opacity: 1;
}
-.nested-content__icon,
-.nested-content__icon.nested-content__icon--disabled:hover
-{
+.umb-nested-content__icon,
+.umb-nested-content__icon.umb-nested-content__icon--disabled:hover {
display: inline-block;
padding: 4px 6px;
margin: 2px;
cursor: pointer;
- background: #fff;
- border: 1px solid #b6b6b6;
+ background: @white;
+ border: 1px solid @gray-7;
border-radius: 200px;
text-decoration: none !important;
}
-.nested-content__icon:hover,
-.nested-content__icon--active
+.umb-nested-content__icon:hover,
+.umb-nested-content__icon--active
{
- color: white;
- background: #2e8aea;
- border-color: #2e8aea;
+ color: @white;
+ background: @turquoise-d1;
+ border-color: @turquoise-d1;
text-decoration: none;
}
-.nested-content__icon .icon,
-.nested-content__icon.nested-content__icon--disabled:hover .icon
-{
+.umb-nested-content__icon .icon,
+.umb-nested-content__icon.umb-nested-content__icon--disabled:hover .icon {
display: block;
font-size: 16px !important;
- color: #5f5f5f;
+ color: @gray-3;
}
-.nested-content__icon:hover .icon,
-.nested-content__icon--active .icon
-{
- color: white;
+.umb-nested-content__icon:hover .icon,
+.umb-nested-content__icon--active .icon {
+ color: @white;
}
-.nested-content__icon--disabled
-{
+.umb-nested-content__icon--disabled {
opacity: 0.3;
}
-.nested-content__footer-bar
-{
+.umb-nested-content__footer-bar {
text-align: center;
padding-top: 20px;
}
-.nested-content__content
-{
- border-bottom: 1px dashed #e0e0e0;
+.umb-nested-content__content {
+ border-bottom: 1px dashed @gray-8;
}
-.nested-content__content .umb-control-group {
+.umb-nested-content__content .umb-control-group {
padding-bottom: 0;
}
-.nested-content__item.ui-sortable-helper .nested-content__content
-{
+.umb-nested-content__item.ui-sortable-helper .umb-nested-content__content {
display: none !important;
}
-.nested-content__help-text
-{
+.umb-nested-content__help-text {
display: inline-block;
padding: 10px 20px 10px 20px;
clear: both;
font-size: 14px;
- color: #555;
- background: #f8f8f8;
+ color: @gray-3;
+ background: @gray-10;
border-radius: 15px;
}
-.nested-content__doctypepicker table input, .nested-content__doctypepicker table select {
+.umb-nested-content__doctypepicker table input,
+.umb-nested-content__doctypepicker table select {
width: 100%;
padding-right: 0;
}
-.nested-content__doctypepicker table td.icon-navigation, .nested-content__doctypepicker i.nested-content__help-icon {
+.umb-nested-content__doctypepicker table td.icon-navigation,
+.umb-nested-content__doctypepicker i.umb-nested-content__help-icon {
vertical-align: middle;
- color: #CCC;
+ color: @gray-7;
}
-.nested-content__doctypepicker table td.icon-navigation:hover, .nested-content__doctypepicker i.nested-content__help-icon:hover {
- color: #343434;
+.umb-nested-content__doctypepicker table td.icon-navigation:hover,
+.umb-nested-content__doctypepicker i.umb-nested-content__help-icon:hover {
+ color: @gray-2;
}
-.nested-content__doctypepicker i.nested-content__help-icon {
+.umb-nested-content__doctypepicker i.umb-nested-content__help-icon {
margin-left: 10px;
}
-.form-horizontal .nested-content--narrow .controls-row
+.form-horizontal .umb-nested-content--narrow .controls-row
{
margin-left: 40% !important;
}
-.form-horizontal .nested-content--narrow .controls-row .umb-textstring,
-.form-horizontal .nested-content--narrow .controls-row .umb-textarea
+.form-horizontal .umb-nested-content--narrow .controls-row .umb-textstring,
+.form-horizontal .umb-nested-content--narrow .controls-row .umb-textarea
{
width: 95%;
}
-.form-horizontal .nested-content--narrow .controls-row .umb-dropdown {
+.form-horizontal .umb-nested-content--narrow .controls-row .umb-dropdown {
width: 99%;
}
-.usky-grid.nested-content__node-type-picker .cell-tools-menu {
+.usky-grid.umb-nested-content__node-type-picker .cell-tools-menu {
position: relative;
transform: translate(-50%, -25%);
}
+
+
+// this resolves the layout issue introduced in nested content in 7.12 with the addition of the input for link anchors
+// the attribute selector ensures the change only applies to the linkpicker overlay
+.form-horizontal .umb-nested-content--narrow [ng-controller*="Umbraco.Overlays.LinkPickerController"] .controls-row {
+ margin-left:0!important;
+
+ .umb-textarea, .umb-textstring {
+ width:100%;
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less
index 9e038bd571..3d1015f972 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less
@@ -1,11 +1,14 @@
.umb-node-preview {
padding: 5px 0;
display: flex;
- max-width: 66.6%;
box-sizing: border-box;
border-bottom: 1px solid @gray-9;
}
+.umb-editor-wrapper .umb-node-preview {
+ max-width: 66.6%;
+}
+
.umb-node-preview:last-of-type {
border-bottom: none;
}
@@ -89,7 +92,6 @@
color: @turquoise-d1;
font-weight: bold;
padding: 5px 15px;
- max-width: 66.6%;
box-sizing: border-box;
}
@@ -97,6 +99,10 @@
color: @turquoise-d1;
}
+.umb-editor-wrapper .umb-node-preview-add {
+ max-width: 66.6%;
+}
+
.umb-overlay,
.umb-modal {
.umb-node-preview {
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less
index 1bd2c5563d..7679fd3c24 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less
@@ -93,7 +93,7 @@ input.umb-table__input {
cursor: pointer;
font-size: 14px;
position: relative;
- min-height: 32px;
+ min-height: 52px;
&:hover {
background-color: @gray-10;
}
@@ -271,4 +271,4 @@ input.umb-table__input {
font-size: 20px;
}
-}
\ No newline at end of file
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less
index cba4219b0c..e6773a3eb0 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less
@@ -1,6 +1,6 @@
.umb-nav-tabs {
position: absolute;
- z-index: 10;
+ z-index: 999;
}
.umb-nav-tabs.-padding-left {
diff --git a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less
index faed098fc8..9447a48217 100644
--- a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less
+++ b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less
@@ -16,6 +16,7 @@
.umb-permission__content {
display: flex;
flex-direction: column;
+ justify-content: center;
flex: 1 1 auto;
cursor: pointer;
}
@@ -23,4 +24,4 @@
.umb-permission__description {
font-size: 13px;
color: @gray-5;
-}
\ No newline at end of file
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/forms.less b/src/Umbraco.Web.UI.Client/src/less/forms.less
index 1a1f3bb93e..5926ea2163 100644
--- a/src/Umbraco.Web.UI.Client/src/less/forms.less
+++ b/src/Umbraco.Web.UI.Client/src/less/forms.less
@@ -544,6 +544,9 @@ input[type="checkbox"][readonly] {
padding-left: 5px;
}
+div.help {
+ margin-top: 5px;
+}
// INPUT GROUPS
diff --git a/src/Umbraco.Web.UI.Client/src/less/hacks.less b/src/Umbraco.Web.UI.Client/src/less/hacks.less
index 29035213a2..18439b554c 100644
--- a/src/Umbraco.Web.UI.Client/src/less/hacks.less
+++ b/src/Umbraco.Web.UI.Client/src/less/hacks.less
@@ -20,12 +20,17 @@
}
.thumbnail {
- border-radius: 0px;
-}
+ border-radius: 0;
+ min-width: 150px;
-.thumbnail img {
- max-width: 100% !important;
- width: 100%;
+ > a {
+ display: block;
+ }
+
+ img {
+ max-width: 100% !important;
+ width: 100%;
+ }
}
#mapCanvas img {
diff --git a/src/Umbraco.Web.UI.Client/src/less/listview.less b/src/Umbraco.Web.UI.Client/src/less/listview.less
index d2393efb11..284de6e844 100644
--- a/src/Umbraco.Web.UI.Client/src/less/listview.less
+++ b/src/Umbraco.Web.UI.Client/src/less/listview.less
@@ -157,6 +157,10 @@
/* TEMP */
+.umb-minilistview {
+ .umb-table-row.not-allowed { opacity: 0.6; cursor: not-allowed; }
+}
+
.umb-listview .table-striped tbody td {
position: relative
}
diff --git a/src/Umbraco.Web.UI.Client/src/less/main.less b/src/Umbraco.Web.UI.Client/src/less/main.less
index 210af19355..b16e437cc2 100644
--- a/src/Umbraco.Web.UI.Client/src/less/main.less
+++ b/src/Umbraco.Web.UI.Client/src/less/main.less
@@ -182,6 +182,14 @@ h5.-black {
margin-left: 0;
}
+label[for=""] {
+ cursor: default;
+}
+
+label:not([for]) {
+ cursor: default;
+}
+
/* CONTROL VALIDATION */
.umb-control-required {
color: @controlRequiredColor;
diff --git a/src/Umbraco.Web.UI.Client/src/less/navs.less b/src/Umbraco.Web.UI.Client/src/less/navs.less
index c6fd3dde01..0a8c6913e8 100644
--- a/src/Umbraco.Web.UI.Client/src/less/navs.less
+++ b/src/Umbraco.Web.UI.Client/src/less/navs.less
@@ -126,6 +126,14 @@
// Make the list-items overlay the bottom border
.nav-tabs > li {
margin-bottom: -1px;
+
+ &.dropdown {
+ margin-bottom: -3px;
+
+ >.dropdown-toggle {
+ padding-bottom: 2px;
+ }
+ }
}
// Actual tabs (as links)
.nav-tabs > li > a {
diff --git a/src/Umbraco.Web.UI.Client/src/less/pages/login.less b/src/Umbraco.Web.UI.Client/src/less/pages/login.less
index 5443134dd2..87a34962ab 100644
--- a/src/Umbraco.Web.UI.Client/src/less/pages/login.less
+++ b/src/Umbraco.Web.UI.Client/src/less/pages/login.less
@@ -5,7 +5,7 @@
width: 100%;
height: 100%;
position: absolute;
- z-index: 10000;
+ z-index: 65537;
top: 0;
left: 0;
margin: 0 !important;
@@ -117,37 +117,31 @@
}
.password-toggle {
- position: relative;
- display: block;
+ position: relative;
+ text-align: right;
user-select: none;
- input::-ms-clear, input::-ms-reveal {
- display: none;
- }
-
a {
opacity: .5;
cursor: pointer;
display: inline-block;
- position: absolute;
- height: 1px;
- width: 45px;
- height: 75%;
- font-size: 0;
- background-repeat: no-repeat;
- background-size: 50%;
- background-position: center;
- top: 0;
- margin-left: -45px;
z-index: 1;
-webkit-tap-highlight-color: transparent;
- }
- [type="text"] + a {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23444' d='M29.6.4C29 0 28 0 27.4.4L21 6.8c-1.4-.5-3-.8-5-.8C9 6 3 10 0 16c1.3 2.6 3 4.8 5.4 6.5l-5 5c-.5.5-.5 1.5 0 2 .3.4.7.5 1 .5s1 0 1.2-.4l27-27C30 2 30 1 29.6.4zM13 10c1.3 0 2.4 1 2.8 2L12 15.8c-1-.4-2-1.5-2-2.8 0-1.7 1.3-3 3-3zm-9.6 6c1.2-2 2.8-3.5 4.7-4.7l.7-.2c-.4 1-.6 2-.6 3 0 1.8.6 3.4 1.6 4.7l-2 2c-1.6-1.2-3-2.7-4-4.4zM24 13.8c0-.8 0-1.7-.4-2.4l-10 10c.7.3 1.6.4 2.4.4 4.4 0 8-3.6 8-8z'/%3E%3Cpath fill='%23444' d='M26 9l-2.2 2.2c2 1.3 3.6 3 4.8 4.8-1.2 2-2.8 3.5-4.7 4.7-2.7 1.5-5.4 2.3-8 2.3-1.4 0-2.6 0-3.8-.4L10 25c2 .6 4 1 6 1 7 0 13-4 16-10-1.4-2.8-3.5-5.2-6-7z'/%3E%3C/svg%3E");
- }
+ .password-text {
+ background-repeat: no-repeat;
+ background-size: 18px;
+ background-position: left center;
+ padding-left: 26px;
- [type="password"] + a {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23444' d='M16 6C9 6 3 10 0 16c3 6 9 10 16 10s13-4 16-10c-3-6-9-10-16-10zm8 5.3c1.8 1.2 3.4 2.8 4.6 4.7-1.2 2-2.8 3.5-4.7 4.7-3 1.5-6 2.3-8 2.3s-6-.8-8-2.3C6 19.5 4 18 3 16c1.5-2 3-3.5 5-4.7l.6-.2C8 12 8 13 8 14c0 4.5 3.5 8 8 8s8-3.5 8-8c0-1-.3-2-.6-2.6l.4.3zM16 13c0 1.7-1.3 3-3 3s-3-1.3-3-3 1.3-3 3-3 3 1.3 3 3z'/%3E%3C/svg%3E");
+ &.show {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23444' d='M16 6C9 6 3 10 0 16c3 6 9 10 16 10s13-4 16-10c-3-6-9-10-16-10zm8 5.3c1.8 1.2 3.4 2.8 4.6 4.7-1.2 2-2.8 3.5-4.7 4.7-3 1.5-6 2.3-8 2.3s-6-.8-8-2.3C6 19.5 4 18 3 16c1.5-2 3-3.5 5-4.7l.6-.2C8 12 8 13 8 14c0 4.5 3.5 8 8 8s8-3.5 8-8c0-1-.3-2-.6-2.6l.4.3zM16 13c0 1.7-1.3 3-3 3s-3-1.3-3-3 1.3-3 3-3 3 1.3 3 3z'/%3E%3C/svg%3E");
+ }
+
+ &.hide {
+ display: none;
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23444' d='M29.6.4C29 0 28 0 27.4.4L21 6.8c-1.4-.5-3-.8-5-.8C9 6 3 10 0 16c1.3 2.6 3 4.8 5.4 6.5l-5 5c-.5.5-.5 1.5 0 2 .3.4.7.5 1 .5s1 0 1.2-.4l27-27C30 2 30 1 29.6.4zM13 10c1.3 0 2.4 1 2.8 2L12 15.8c-1-.4-2-1.5-2-2.8 0-1.7 1.3-3 3-3zm-9.6 6c1.2-2 2.8-3.5 4.7-4.7l.7-.2c-.4 1-.6 2-.6 3 0 1.8.6 3.4 1.6 4.7l-2 2c-1.6-1.2-3-2.7-4-4.4zM24 13.8c0-.8 0-1.7-.4-2.4l-10 10c.7.3 1.6.4 2.4.4 4.4 0 8-3.6 8-8z'/%3E%3Cpath fill='%23444' d='M26 9l-2.2 2.2c2 1.3 3.6 3 4.8 4.8-1.2 2-2.8 3.5-4.7 4.7-2.7 1.5-5.4 2.3-8 2.3-1.4 0-2.6 0-3.8-.4L10 25c2 .6 4 1 6 1 7 0 13-4 16-10-1.4-2.8-3.5-5.2-6-7z'/%3E%3C/svg%3E");
+ }
+ }
}
}
diff --git a/src/Umbraco.Web.UI.Client/src/less/property-editors.less b/src/Umbraco.Web.UI.Client/src/less/property-editors.less
index 2d317fa4a0..1855a3a6b0 100644
--- a/src/Umbraco.Web.UI.Client/src/less/property-editors.less
+++ b/src/Umbraco.Web.UI.Client/src/less/property-editors.less
@@ -1,885 +1,981 @@
-//
-// Container styles
-// --------------------------------------------------
-.umb-editor {
- min-width:66.6%;
-}
-
-.umb-editor-tiny {
- width: 60px;
-}
-
-.umb-editor-small {
- width: 90px;
-}
-
-.umb-modal .umb-editor {
- width: 95%;
-}
-
-.umb-dialog .umb-editor {
- width: 95%;
-}
-.umb-dialog .umb-control-group .help-block {
- width: 95%;
-}
-
-.umb-codeeditor{
- width: 99%;
-}
-
-//
-// Content picker
-// --------------------------------------------------
-.umb-contentpicker li a:hover .hover-hide, .umb-contentpicker li a .hover-show{
- display: none;
-}
-.umb-contentpicker li a:hover .hover-show{display: inline-block;}
-
-.umb-contentpicker-popover .search-holder {
- padding: 10px;
-}
-
-.umb-contentpicker__min-max-help {
- font-size: 13px;
- margin-top: 5px;
- color: @gray-4;
-}
-
-.show-validation .umb-contentpicker__min-max-help {
- display: none;
-}
-
-.umb-contentpicker small {
-
- &:not(:last-child) {
- padding-right: 3px;
- border-right: 1px solid @gray-5;
- }
-
- a {
- color: @gray-3;
- }
-}
-
-/* CODEMIRROR DATATYPE */
-div.umb-codeeditor {
- border: 1px solid @gray-8;
-}
-div.umb-codeeditor .umb-el-wrap {
- padding: 0px;
-}
-div.umb-codeeditor .umb-btn-toolbar {
- padding: 0px;
- margin: 0px;
- border-bottom: @gray-8 1px solid;
- background: @gray-10;
-}
-
-
-//
-// RTE
-// --------------------------------------------------
-.mce-tinymce{border: 1px solid @gray-8 !important; border-radius: 0px !important;}
-.mce-panel{background: @gray-10 !important; border-color: @gray-8 !important;}
-.mce-btn-group, .mce-btn{border: none !important; background: none !important;}
-.mce-ico{font-size: 12px !important; color: @gray-1 !important;}
-/* Special case to support helviticons for the tiny mce button controls */
-.mce-ico.mce-i-custom[class^="icon-"],
-.mce-ico.mce-i-custom[class*=" icon-"] {
- font-family: icomoon;
- font-size:16px !important;
-}
-
-/* pre-value editor */
-.rte-editor-preval .control-group .controls > div > label .mce-ico { line-height: 20px; }
-
-
-//
-// Color picker
-// --------------------------------------------------
-ul.color-picker li {
- padding: 2px;
- margin: 3px;
- border: 2px solid transparent;
- width: 60px;
-}
-ul.color-picker li.active {
- border: 2px dashed @gray-8;
-}
-ul.color-picker li a {
- height: 50px;
- display:block;
- cursor:pointer;
-}
-
-.control-group.color-picker-preval .thumbnail {
- width:30px;
- border:none;
-}
-
-/* pre-value editor */
-/*.control-group.color-picker-preval:before {
- content: "";
- display: inline-block;
- vertical-align: middle;
- height: 100%;
-}*/
-
-/*.control-group.color-picker-preval div.thumbnail {
- display: inline-block;
- vertical-align: middle;
-}*/
-.control-group.color-picker-preval div.color-picker-prediv {
- display: inline-block;
- width: 60%;
-}
-
-.control-group.color-picker-preval pre {
- display: inline;
- margin-right: 20px;
- margin-left: 10px;
- width: 50%;
- white-space: nowrap;
- overflow: hidden;
- margin-bottom: 0;
- vertical-align: middle;
-}
-
-.control-group.color-picker-preval btn {
- //vertical-align: middle;
-}
-
-.control-group.color-picker-preval input[type="text"] {
- min-width: 40%;
- width: 40%;
- display: inline-block;
- margin-right: 20px;
- margin-top: 1px;
-}
-
-.control-group.color-picker-preval label {
- border: solid @white 1px;
- padding: 6px;
-}
-
-
-//
-// Media picker
-// --------------------------------------------------
-.umb-mediapicker .add-link {
- display: flex;
- justify-content:center;
- align-items:center;
- width: 120px;
- text-align: center;
- color: @gray-8;
- border: 2px @gray-8 dashed;
- text-decoration: none;
-
- transition: all 150ms ease-in-out;
-
- &:hover {
- color: @turquoise-d1;
- border-color: @turquoise;
- }
-}
-
-.umb-mediapicker .picked-image {
- position: absolute;
- bottom: 10px;
- right: 10px;
- opacity: 0.5;
-
- font-size: 24px;
- color: @red;
- background: @white;
-
- line-height: 36px;
- text-align: center;
- -moz-border-radius: 15px;
- border-radius: 15px;
-
- height: 32px;
- width: 32px;
- overflow: hidden;
- display: none;
- text-decoration: none;
-}
-
-.umb-mediapicker .add-link-square {
- height: 120px;
-}
-
-
-
-.umb-thumbnails {
- position: relative;
- display: flex;
- -ms-flex-direction: row;
- -webkit-flex-direction: row;
- flex-direction: row;
- -ms-flex-wrap: wrap;
- -webkit-flex-wrap: wrap;
- flex-wrap: wrap;
- justify-content: flex-start;
-}
-
-.umb-thumbnails > li.icon {
- width: 14%;
- text-align: center;
-}
-
-.umb-thumbnails i{margin: auto;}
-.umb-thumbnails a{
- outline: none;
- border:none !important;
- box-shadow:none !important;
-}
-
-
-.umb-sortable-thumbnails {
- list-style-type: none;
- margin: 0;
- padding: 0;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
-}
-
-
-.umb-sortable-thumbnails li {
- position: relative;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- flex-wrap: wrap;
- padding: 2px;
- margin: 5px;
- background: @white;
- border: 1px solid @gray-10;
- max-width: 100%;
-}
-
-
-.umb-mediapicker .umb-sortable-thumbnails li {
- flex-direction: column;
- margin: 0 5px 5px 0;
- padding: 5px;
-}
-
-.umb-sortable-thumbnails li:hover a {
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.umb-sortable-thumbnails li img {
- max-width:100%;
- max-height:100%;
- margin:auto;
- display:block;
- background-image: url(../img/checkered-background.png);
-}
-
-.umb-sortable-thumbnails li img.trashed {
- opacity:0.3;
-}
-
-.umb-sortable-thumbnails li img.noScale {
- max-width: none !important;
- max-height: none !important;
-}
-
-.umb-sortable-thumbnails .umb-icon-holder {
- text-align: center;
-}
-
-.umb-sortable-thumbnails .umb-icon-holder .icon{
- font-size: 40px;
- line-height: 50px;
- color: @gray-3;
- display: block;
-}
-
-.umb-sortable-thumbnails .umb-sortable-thumbnails__wrapper {
- width: 124px;
- height: 124px;
- overflow: hidden;
-}
-
-.umb-sortable-thumbnails .umb-sortable-thumbnails__actions {
- position: absolute;
- bottom: 10px;
- right: 10px;
- text-decoration: none;
- display: flex;
- flex-direction: row;
- opacity: 0;
- visibility: hidden;
-}
-
-.umb-sortable-thumbnails.ui-sortable:not(.ui-sortable-disabled) {
- > li:not(.unsortable) {
- cursor: move;
- }
-}
-
-.umb-sortable-thumbnails li:hover .umb-sortable-thumbnails__actions {
- opacity: 1;
- visibility: visible;
-}
-
-.umb-sortable-thumbnails .umb-sortable-thumbnails__action {
- font-size: 16px;
- background: @white;
- height: 25px;
- width: 25px;
- border-radius: 15px;
- color: @gray-1;
- display: flex;
- justify-content: center;
- align-items: center;
- margin-left: 5px;
- text-decoration: none;
-}
-
-.umb-sortable-thumbnails .umb-sortable-thumbnails__action.-red {
- color: @red;
-}
-
-.umb-sortable-thumbnails .umb-sortable-thumbnails__action:hover {
- text-decoration: none;
-}
-
-
-//
-// Cropper
-// -------------------------------------------------
-
-.umb-cropper{
- position: relative;
-}
-
-.umb-cropper img, .umb-cropper-gravity img{
- position: relative;
- max-width: 100%;
- height: auto;
- top: 0;
- left: 0;
- }
-
- .umb-cropper img {
- max-width: none;
- }
-
- .umb-cropper .overlay, .umb-cropper-gravity .overlay {
- top: 0;
- left: 0;
- cursor: move;
- z-index: @zindexCropperOverlay;
- position: absolute;
-}
-
-.umb-cropper .viewport{
- overflow: hidden;
- position: relative;
- margin: auto;
- max-width: 100%;
- height: auto;
- }
-
-.umb-cropper-gravity .viewport{
- overflow: hidden;
- position: relative;
- width: 100%;
- height: 100%;
-}
-
-
-.umb-cropper .viewport:after {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: @zindexCropperOverlay - 1;
- -moz-opacity: .75;
- opacity: .75;
- filter: alpha(opacity=7);
- -webkit-box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
- -moz-box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
- box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
-}
-
-.umb-cropper-gravity .overlay{
- width: 14px;
- height: 14px;
- text-align: center;
- border-radius: 20px;
- background: @turquoise;
- border: 3px solid @white;
- opacity: 0.8;
-}
-
-.umb-cropper-gravity .overlay i {
- font-size: 26px;
- line-height: 26px;
- opacity: 0.8 !important;
-}
-
-.umb-cropper .crop-container {
- text-align: center;
-}
-
-.umb-cropper .crop-slider {
- padding: 10px;
- border-top: 1px solid @gray-10;
- margin-top: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
- @media (min-width: 769px) {
- padding: 10px 50px 10px 50px;
- }
-}
-
-.umb-cropper .crop-slider i {
- color: @gray-3;
- flex: 0 0 25px;
- padding: 0 5px;
- box-sizing: border-box;
-}
-
-.umb-cropper .crop-slider i:first-of-type {
- text-align: right;
-}
-
-.umb-cropper .crop-slider input {
- flex: 0 1 auto;
-}
- .umb-cropper-gravity .viewport, .umb-cropper-gravity, .umb-cropper-imageholder {
- display: inline-block;
- max-width: 100%;
- }
-
- .umb-cropper-imageholder {
- float: left;
- }
-
- .cropList {
- display: inline-block;
- position: relative;
- vertical-align: top;
- }
-
- .gravity-container .viewport {
- max-width: 600px;
- }
-
- .gravity-container .viewport:hover {
- cursor: pointer;
- }
-
- .imagecropper {
- display: flex;
- align-items: flex-start;
- flex-direction: row;
-
- @media (max-width: 768px) {
- flex-direction: column;
- float: left;
- max-width: 100%;
- }
- }
-
- .imagecropper .umb-cropper__container {
- position: relative;
- margin-bottom: 10px;
- max-width: 100%;
- border: 1px solid @gray-10;
-
- @media (min-width: 769px) {
- width: 600px;
- }
- }
-
- .umb-close-cropper {
- position: absolute;
- top: 3px;
- right: 3px;
- cursor: pointer;
- z-index: 1;
- }
-
- .umb-close-cropper:hover {
- opacity: .9;
- background: @gray-10;
- }
-
- .imagecropper .umb-sortable-thumbnails {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- }
-
- .imagecropper .umb-sortable-thumbnails li {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- padding: 8px;
- margin-top: 0;
- }
-
- .imagecropper .umb-sortable-thumbnails li.current {
- border-color: @gray-8;
- background: @gray-10;
- color: @black;
- cursor: pointer;
- }
-
- .imagecropper .umb-sortable-thumbnails li:hover,
- .imagecropper .umb-sortable-thumbnails li.current:hover {
- border-color: @gray-8;
- background: @gray-10;
- color: @black;
- cursor: pointer;
- opacity: .95;
- }
-
- .imagecropper .umb-sortable-thumbnails li .crop-name,
- .imagecropper .umb-sortable-thumbnails li .crop-size {
- display: block;
- text-align: left;
- font-size: 13px;
- line-height: 1;
- }
-
- .imagecropper .umb-sortable-thumbnails li .crop-name {
- font-weight: bold;
- margin: 10px 0 5px;
- }
-
- .imagecropper .umb-sortable-thumbnails li .crop-size {
- font-size: 10px;
- font-style: italic;
- margin: 0 0 5px;
- }
-
- .btn-crop-delete {
- display: block;
- text-align: left;
- }
-
-//
-// folder-browser
-// --------------------------------------------------
-.umb-folderbrowser .add-link{
- display: inline-block;
- height: 120px;
- width: 120px;
- text-align: center;
- border: 1px @gray-10 dashed;
- line-height: 120px
-}
-
-.umb-upload-drop-zone{
- margin-bottom:5px;
-}
-
-.umb-upload-drop-zone .info, .umb-upload-button-big{
- display: block;
- padding: 20px;
- opacity: 1;
- border: 1px dashed @gray-8;
- background: none;
- text-align: center;
- font-size: 14px;
- color: @gray-8;
-}
-
-.umb-upload-button-big:hover{color: @gray-8;}
-
-.umb-upload-drop-zone .info i.icon, .umb-upload-button-big i.icon{
- font-size: 55px;
- line-height: 70px
-}
-
-.umb-upload-button-big {display: block}
-.umb-upload-button-big input {
- left: 0;
- bottom: 0;
- height: 100%;
- width: 100%;
-}
-
-
-
-//
-// Photo folder styling
-// --------------------------------------------------
-
-.umb-photo-folder .picrow{
- overflow-y: hidden;
- position: relative;
-}
-
-
-
-.umb-photo-folder .picrow div, .umb-photo-preview{
- margin: 0px;
- padding: 0px;
- border: none;
- display: inline-block;
- vertical-align: top;
- position: relative;
-}
-
-
-
-.umb-photo-folder .picrow div a:first-child {
- width:100%;
- height:100%;
-}
-
-.umb-photo-folder .picrow div.umb-photo {
- width:100%;
- height:100%;
- background-color: @gray-10;
-}
-
-.umb-photo-folder a:hover{text-decoration: none}
-.umb-photo-folder .umb-non-thumbnail{
- text-align: center;
- vertical-align: middle;
- font-size: 12px;
- background: @gray-10;
- color: @black;
- text-decoration: none;
-}
-
-.umb-photo-folder .selector-overlay{
- display: none;
-}
-
-//this is a temp hack, to provide selectors in the dialog:
-.umb-photo-folder .pic:hover .selector-overlay {
- position: absolute;
- bottom: 0px;
- left: 0px;
- right: 0px;
- padding: 5px;
- background: @black;
- z-index: 100;
- display: block;
- text-align: center;
- color: @white;
- opacity: 0.4;
- text-decoration:none;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.umb-photo-folder .umb-non-thumbnail i{
- color: @gray-8;
- font-size: 50px;
- line-height: 60px;
- display: block;
- margin: auto;
- /*vertically aligns */
- position: relative;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.umb-photo-folder .umb-non-thumbnail span{
- position: absolute;
- display: block;
- margin: auto;
- width: 100%;
- top: 20px;
-}
-
-.umb-photo-folder .selected{
- position: relative;
-}
-
-.umb-photo-folder .selected:before{
- content: "\e165";
- font-family: Icomoon;
-
- position: absolute;
- bottom: 10px;
- right: 10px;
-
- font-size: 24px;
- color: @black;
- opacity: 0.5;
- background: @white;
-
- line-height: 36px;
- text-align: center;
- -moz-border-radius: 15px;
- border-radius: 15px;
-
- height: 32px;
- width: 32px;
- overflow: hidden;
- display: block;
- z-index: 100;
-}
-
-
-//
-// File upload
-// --------------------------------------------------
-.umb-fileupload .preview {
- border-radius: 5px;
- border: 1px solid @gray-6;
- padding: 3px;
- background: @gray-9;
- float: left;
- margin-right: 30px;
- margin-bottom: 30px;
-}
-
-.umb-fileupload ul {
- list-style: none;
- vertical-align: middle;
- margin-bottom: 0px;
-}
-
-.umb-fileupload label {
- vertical-align: middle;
- padding-left: 7px;
- font-weight: normal;
-}
-
-.umb-fileupload .preview-file {
- color: @gray-4;
- height: 45px;
- width: 55px;
- text-align: center;
- text-transform: uppercase;
- font-size: 10px;
- padding-top: 27px;
-}
-
-.umb-fileupload .file-icon {
- text-align: center;
- display: block;
- position: relative;
- padding: 5px 0;
-
- > .icon {
- font-size: 70px;
- line-height: 110%;
- color: @gray-4;
- text-align: center;
- }
-
- > span {
- color: @white;
- background: @gray-4;
- padding: 1px 3px;
- font-size: 12px;
- line-height: 130%;
- position: absolute;
- top: 45px;
- left: 110px;
- }
-}
-
-.umb-fileupload input {
- font-size: 12px;
- line-height: 1;
-}
-
-//
-// Member group picker
-// --------------------------------------------------
-
-.umb-member-group-box {
- width: 45%;
-}
-.umb-member-group-box:nth-child(1){
- float:left;
-}
-.umb-member-group-box:nth-child(2){
- float:right;
-}
-
-//
-// Related links
-// --------------------------------------------------
-.umb-relatedlinks table > tr > td { word-wrap:break-word; word-break: break-all; border-bottom: 1px solid transparent; }
-.umb-relatedlinks .handle { cursor:move; }
-.umb-relatedlinks table > tbody > tr.unsortable .handle { cursor:default; }
-
-.umb-relatedlinks table td.col-sort { width: 20px; }
-.umb-relatedlinks table td.col-caption { min-width: 200px; }
-.umb-relatedlinks table td.col-link { min-width: 200px; }
-.umb-relatedlinks table td.col-actions { min-width: 120px; }
-
-.umb-relatedlinks table td.col-caption .control-wrapper,
-.umb-relatedlinks table td.col-link .control-wrapper { display: flex; }
-
-.umb-relatedlinks table td.col-caption .control-wrapper input[type="text"],
-.umb-relatedlinks table td.col-link .control-wrapper input[type="text"] { width: auto; flex: 1; }
-
-/* sortable placeholder */
-.umb-relatedlinks .sortable-placeholder {
- background-color: @tableBackgroundAccent;
- display: table-row;
-}
-.umb-relatedlinks .sortable-placeholder > td {
- display: table-cell;
- padding: 8px;
-}
-.umb-relatedlinks .ui-sortable-helper {
- display: table-row;
- background-color: @white;
- opacity: 0.7;
-}
-.umb-relatedlinks .ui-sortable-helper > td {
- display: table-cell;
- border-bottom: 1px solid @tableBorder;
-}
-
-
-//
-// Tags
-// --------------------------------------------------
-.umb-tags{border: @gray-10 solid 1px; padding: 10px; font-size: 13px; text-shadow: none;}
-.umb-tags .tag{cursor: pointer; margin: 7px; padding: 7px; background: @turquoise}
-.umb-tags .tag i{padding: 2px;}
-.umb-tags input{border: none; background: @white}
-
-//
-// Date/time picker
-// --------------------------------------------------
-.bootstrap-datetimepicker-widget .btn{padding: 0;}
-.bootstrap-datetimepicker-widget .picker-switch .btn{ background: none; border: none;}
-.umb-datepicker .input-append .add-on{cursor: pointer;}
-.umb-datepicker p {margin-top:10px;}
-.umb-datepicker p a{color: @gray-3;}
-
-//
-// Code mirror - even though this isn't a proprety editor right now, it could be so I'm putting the styles here
-// --------------------------------------------------
-
-.CodeMirror, .CodeMirror-scroll {
- height: 100%;
- min-height:200px;
-}
-
-//
-// Nested boolean (e.g. list view bulk action permissions)
-// ---------------------=====-----------------------------
-.umb-nested-boolean label {margin-bottom: 8px; float: left; width: 320px;}
-.umb-nested-boolean label span {float: left; width: 80%;}
-.umb-nested-boolean label input[type='checkbox'] {margin-right: 10px; float: left;}
+//
+// Container styles
+// --------------------------------------------------
+.umb-editor {
+ min-width:66.6%;
+
+ &-pull {
+ float:left;
+ width:66.6%;
+ }
+
+ &-push {
+ float:right;
+ }
+}
+
+.umb-editor-tiny {
+ width: 60px;
+
+ &.umb-editor-push {
+ width:30%;
+ min-width:0;
+ }
+}
+
+.umb-editor-small {
+ width: 90px;
+}
+
+.umb-modal .umb-editor {
+ width: 95%;
+}
+
+.umb-dialog .umb-editor {
+ width: 95%;
+}
+.umb-dialog .umb-control-group .help-block {
+ width: 95%;
+}
+
+.umb-codeeditor{
+ width: 99%;
+}
+
+// displays property inline with preceeding
+.umb-property {
+ &--pull {
+ float:left;
+ width:60%;
+ }
+
+ &--push {
+ float:right;
+ width:35%;
+ }
+
+ &--pull, &--push {
+ .umb-editor {
+ min-width:0;
+ width:100%;
+ }
+ }
+}
+
+
+//
+// Content picker
+// --------------------------------------------------
+.umb-contentpicker li a:hover .hover-hide, .umb-contentpicker li a .hover-show{
+ display: none;
+}
+.umb-contentpicker li a:hover .hover-show{display: inline-block;}
+
+.umb-contentpicker-popover .search-holder {
+ padding: 10px;
+}
+
+.umb-contentpicker__min-max-help {
+ font-size: 13px;
+ margin-top: 5px;
+ color: @gray-4;
+}
+
+.show-validation .umb-contentpicker__min-max-help {
+ display: none;
+}
+
+.umb-contentpicker small {
+
+ &:not(:last-child) {
+ padding-right: 3px;
+ border-right: 1px solid @gray-5;
+ }
+
+ a {
+ color: @gray-3;
+ }
+}
+
+/* CODEMIRROR DATATYPE */
+div.umb-codeeditor {
+ border: 1px solid @gray-8;
+}
+div.umb-codeeditor .umb-el-wrap {
+ padding: 0px;
+}
+div.umb-codeeditor .umb-btn-toolbar {
+ padding: 0px;
+ margin: 0px;
+ border-bottom: @gray-8 1px solid;
+ background: @gray-10;
+}
+
+
+//
+// RTE
+// --------------------------------------------------
+.mce-tinymce{border: 1px solid @gray-8 !important; border-radius: 0px !important;}
+.mce-panel{background: @gray-10 !important; border-color: @gray-8 !important;}
+.mce-btn-group, .mce-btn{border: none !important; background: none !important;}
+.mce-ico{font-size: 12px !important; color: @gray-1 !important;}
+/* Special case to support helviticons for the tiny mce button controls */
+.mce-ico.mce-i-custom[class^="icon-"],
+.mce-ico.mce-i-custom[class*=" icon-"] {
+ font-family: icomoon;
+ font-size:16px !important;
+}
+
+/* pre-value editor */
+.rte-editor-preval .control-group .controls > div > label .mce-ico { line-height: 20px; }
+
+
+//
+// Color picker
+// --------------------------------------------------
+ul.color-picker li {
+ padding: 2px;
+ margin: 3px;
+ border: 2px solid transparent;
+ width: 60px;
+
+ &.active {
+ .check_circle {
+ opacity: 1;
+ }
+ }
+
+ .thumbnail{
+ min-width: auto;
+ width: inherit;
+ padding: 0;
+ }
+
+ a {
+ height: 50px;
+ display:flex;
+ align-items: center;
+ justify-content: center;
+ cursor:pointer;
+ margin: 0 0 5px;
+ }
+}
+
+/* pre-value editor */
+.control-group.color-picker-preval {
+ .thumbnail {
+ width: 36px;
+ min-width: auto;
+ border: none;
+ cursor: move;
+ border-radius: 3px;
+ }
+
+ .handle {
+ float: left;
+ display: inline-flex;
+ margin: 5px 3px 5px 0;
+ }
+
+ div.color-picker-prediv {
+ display: inline-flex;
+ align-items: center;
+ max-width: 80%;
+
+ pre {
+ display: inline-flex;
+ font-family: monospace;
+ margin-right: 10px;
+ margin-left: 10px;
+ white-space: nowrap;
+ overflow: hidden;
+ margin-bottom: 0;
+ vertical-align: middle;
+ padding-top: 7px;
+ padding-bottom: 7px;
+ background: #f7f7f7;
+ flex: 0 0 auto;
+ }
+
+ span {
+ margin-left: 5px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+
+ input[type="text"] {
+ display: flex;
+ flex: 1 1 100px;
+ margin-top: 1px;
+ margin-right: 15px;
+ min-width: auto;
+ width: auto;
+ }
+
+ .sp-replacer {
+ display: inline-flex;
+ margin-right: 18px;
+ }
+
+ label {
+ border: 1px solid #fff;
+ padding: 7px 10px;
+ font-family: monospace;
+ border: 1px solid #dfdfe1;
+ background: #f7f7f7;
+ margin: 0 15px 0 0;
+ border-radius: 3px;
+ }
+}
+
+
+//
+// Media picker
+// --------------------------------------------------
+.umb-mediapicker .add-link {
+ display: flex;
+ justify-content:center;
+ align-items:center;
+ width: 120px;
+ text-align: center;
+ color: @gray-8;
+ border: 2px @gray-8 dashed;
+ text-decoration: none;
+
+ transition: all 150ms ease-in-out;
+
+ &:hover {
+ color: @turquoise-d1;
+ border-color: @turquoise;
+ }
+}
+
+.umb-mediapicker .picked-image {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ opacity: 0.5;
+
+ font-size: 24px;
+ color: @red;
+ background: @white;
+
+ line-height: 36px;
+ text-align: center;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+
+ height: 32px;
+ width: 32px;
+ overflow: hidden;
+ display: none;
+ text-decoration: none;
+}
+
+.umb-mediapicker .add-link-square {
+ height: 120px;
+}
+
+
+
+.umb-thumbnails {
+ position: relative;
+ display: flex;
+ -ms-flex-direction: row;
+ -webkit-flex-direction: row;
+ flex-direction: row;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.umb-thumbnails > li.icon {
+ width: 14%;
+ text-align: center;
+}
+
+.umb-thumbnails i{margin: auto;}
+.umb-thumbnails a{
+ outline: none;
+ border:none !important;
+ box-shadow:none !important;
+}
+
+
+.umb-sortable-thumbnails {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+}
+
+
+.umb-sortable-thumbnails li {
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 2px;
+ margin: 5px;
+ background: @white;
+ border: 1px solid @gray-10;
+ max-width: 100%;
+}
+
+
+.umb-mediapicker .umb-sortable-thumbnails li {
+ flex-direction: column;
+ margin: 0 5px 5px 0;
+ padding: 5px;
+}
+
+.umb-sortable-thumbnails li:hover a {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.umb-sortable-thumbnails li img {
+ max-width:100%;
+ max-height:100%;
+ margin:auto;
+ display:block;
+ background-image: url(../img/checkered-background.png);
+}
+
+.umb-sortable-thumbnails li img.trashed {
+ opacity:0.3;
+}
+
+.umb-sortable-thumbnails li img.noScale {
+ max-width: none !important;
+ max-height: none !important;
+}
+
+.umb-sortable-thumbnails .umb-icon-holder {
+ text-align: center;
+}
+
+.umb-sortable-thumbnails .umb-icon-holder .icon{
+ font-size: 40px;
+ line-height: 50px;
+ color: @gray-3;
+ display: block;
+}
+
+.umb-sortable-thumbnails .umb-sortable-thumbnails__wrapper {
+ width: 124px;
+ height: 124px;
+ overflow: hidden;
+}
+
+.umb-sortable-thumbnails .umb-sortable-thumbnails__actions {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ text-decoration: none;
+ display: flex;
+ flex-direction: row;
+ opacity: 0;
+ visibility: hidden;
+}
+
+.umb-sortable-thumbnails.ui-sortable:not(.ui-sortable-disabled) {
+ > li:not(.unsortable) {
+ cursor: move;
+ }
+}
+
+.umb-sortable-thumbnails li:hover .umb-sortable-thumbnails__actions {
+ opacity: 1;
+ visibility: visible;
+}
+
+.umb-sortable-thumbnails .umb-sortable-thumbnails__action {
+ font-size: 16px;
+ background: @white;
+ height: 25px;
+ width: 25px;
+ border-radius: 15px;
+ color: @gray-1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 5px;
+ text-decoration: none;
+}
+
+.umb-sortable-thumbnails .umb-sortable-thumbnails__action.-red {
+ color: @red;
+}
+
+.umb-sortable-thumbnails .umb-sortable-thumbnails__action:hover {
+ text-decoration: none;
+}
+
+
+//
+// Cropper
+// -------------------------------------------------
+
+.umb-cropper{
+ position: relative;
+}
+
+.umb-cropper img, .umb-cropper-gravity img{
+ position: relative;
+ max-width: 100%;
+ height: auto;
+ top: 0;
+ left: 0;
+ }
+
+ .umb-cropper img {
+ max-width: none;
+ }
+
+ .umb-cropper .overlay, .umb-cropper-gravity .overlay {
+ top: 0;
+ left: 0;
+ cursor: move;
+ z-index: @zindexCropperOverlay;
+ position: absolute;
+}
+
+.umb-cropper .viewport{
+ overflow: hidden;
+ position: relative;
+ margin: auto;
+ max-width: 100%;
+ height: auto;
+ }
+
+.umb-cropper-gravity .viewport{
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+ height: 100%;
+}
+
+
+.umb-cropper .viewport:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: @zindexCropperOverlay - 1;
+ -moz-opacity: .75;
+ opacity: .75;
+ filter: alpha(opacity=7);
+ -webkit-box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
+ -moz-box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
+ box-shadow: inset 0 0 0 20px white,inset 0 0 0 21px rgba(0,0,0,.1),inset 0 0 20px 21px rgba(0,0,0,.2);
+}
+
+.umb-cropper-gravity .overlay{
+ width: 14px;
+ height: 14px;
+ text-align: center;
+ border-radius: 20px;
+ background: @turquoise;
+ border: 3px solid @white;
+ opacity: 0.8;
+}
+
+.umb-cropper-gravity .overlay i {
+ font-size: 26px;
+ line-height: 26px;
+ opacity: 0.8 !important;
+}
+
+.umb-cropper .crop-container {
+ text-align: center;
+}
+
+.umb-cropper .crop-slider {
+ padding: 10px;
+ border-top: 1px solid @gray-10;
+ margin-top: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ @media (min-width: 769px) {
+ padding: 10px 50px 10px 50px;
+ }
+}
+
+.umb-cropper .crop-slider i {
+ color: @gray-3;
+ flex: 0 0 25px;
+ padding: 0 5px;
+ box-sizing: border-box;
+}
+
+.umb-cropper .crop-slider i:first-of-type {
+ text-align: right;
+}
+
+.umb-cropper .crop-slider input {
+ flex: 0 1 auto;
+}
+ .umb-cropper-gravity .viewport, .umb-cropper-gravity, .umb-cropper-imageholder {
+ display: inline-block;
+ max-width: 100%;
+ }
+
+ .umb-cropper-imageholder {
+ float: left;
+ }
+
+ .cropList {
+ display: inline-block;
+ position: relative;
+ vertical-align: top;
+ }
+
+ .gravity-container .viewport {
+ max-width: 600px;
+ }
+
+ .gravity-container .viewport:hover {
+ cursor: pointer;
+ }
+
+ .imagecropper {
+ display: flex;
+ align-items: flex-start;
+ flex-direction: row;
+
+ @media (max-width: 768px) {
+ flex-direction: column;
+ float: left;
+ max-width: 100%;
+ }
+ }
+
+ .imagecropper .umb-cropper__container {
+ position: relative;
+ margin-bottom: 10px;
+ max-width: 100%;
+ border: 1px solid @gray-10;
+
+ @media (min-width: 769px) {
+ width: 600px;
+ }
+ }
+
+ .umb-close-cropper {
+ position: absolute;
+ top: 3px;
+ right: 3px;
+ cursor: pointer;
+ z-index: 1;
+ }
+
+ .umb-close-cropper:hover {
+ opacity: .9;
+ background: @gray-10;
+ }
+
+ .imagecropper .umb-sortable-thumbnails {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 8px;
+ margin-top: 0;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li.current {
+ border-color: @gray-8;
+ background: @gray-10;
+ color: @black;
+ cursor: pointer;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li:hover,
+ .imagecropper .umb-sortable-thumbnails li.current:hover {
+ border-color: @gray-8;
+ background: @gray-10;
+ color: @black;
+ cursor: pointer;
+ opacity: .95;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li .crop-name,
+ .imagecropper .umb-sortable-thumbnails li .crop-size {
+ display: block;
+ text-align: left;
+ font-size: 13px;
+ line-height: 1;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li .crop-name {
+ font-weight: bold;
+ margin: 10px 0 5px;
+ }
+
+ .imagecropper .umb-sortable-thumbnails li .crop-size {
+ font-size: 10px;
+ font-style: italic;
+ margin: 0 0 5px;
+ }
+
+ .btn-crop-delete {
+ display: block;
+ text-align: left;
+ }
+
+//
+// folder-browser
+// --------------------------------------------------
+.umb-folderbrowser .add-link{
+ display: inline-block;
+ height: 120px;
+ width: 120px;
+ text-align: center;
+ border: 1px @gray-10 dashed;
+ line-height: 120px
+}
+
+.umb-upload-drop-zone{
+ margin-bottom:5px;
+}
+
+.umb-upload-drop-zone .info, .umb-upload-button-big{
+ display: block;
+ padding: 20px;
+ opacity: 1;
+ border: 1px dashed @gray-8;
+ background: none;
+ text-align: center;
+ font-size: 14px;
+ color: @gray-8;
+}
+
+.umb-upload-button-big:hover{color: @gray-8;}
+
+.umb-upload-drop-zone .info i.icon, .umb-upload-button-big i.icon{
+ font-size: 55px;
+ line-height: 70px
+}
+
+.umb-upload-button-big {display: block}
+.umb-upload-button-big input {
+ left: 0;
+ bottom: 0;
+ height: 100%;
+ width: 100%;
+}
+
+
+
+//
+// Photo folder styling
+// --------------------------------------------------
+
+.umb-photo-folder .picrow{
+ overflow-y: hidden;
+ position: relative;
+}
+
+
+
+.umb-photo-folder .picrow div, .umb-photo-preview{
+ margin: 0px;
+ padding: 0px;
+ border: none;
+ display: inline-block;
+ vertical-align: top;
+ position: relative;
+}
+
+
+
+.umb-photo-folder .picrow div a:first-child {
+ width:100%;
+ height:100%;
+}
+
+.umb-photo-folder .picrow div.umb-photo {
+ width:100%;
+ height:100%;
+ background-color: @gray-10;
+}
+
+.umb-photo-folder a:hover{text-decoration: none}
+.umb-photo-folder .umb-non-thumbnail{
+ text-align: center;
+ vertical-align: middle;
+ font-size: 12px;
+ background: @gray-10;
+ color: @black;
+ text-decoration: none;
+}
+
+.umb-photo-folder .selector-overlay{
+ display: none;
+}
+
+//this is a temp hack, to provide selectors in the dialog:
+.umb-photo-folder .pic:hover .selector-overlay {
+ position: absolute;
+ bottom: 0px;
+ left: 0px;
+ right: 0px;
+ padding: 5px;
+ background: @black;
+ z-index: 100;
+ display: block;
+ text-align: center;
+ color: @white;
+ opacity: 0.4;
+ text-decoration:none;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.umb-photo-folder .umb-non-thumbnail i{
+ color: @gray-8;
+ font-size: 50px;
+ line-height: 60px;
+ display: block;
+ margin: auto;
+ /*vertically aligns */
+ position: relative;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.umb-photo-folder .umb-non-thumbnail span{
+ position: absolute;
+ display: block;
+ margin: auto;
+ width: 100%;
+ top: 20px;
+}
+
+.umb-photo-folder .selected{
+ position: relative;
+}
+
+.umb-photo-folder .selected:before{
+ content: "\e165";
+ font-family: Icomoon;
+
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+
+ font-size: 24px;
+ color: @black;
+ opacity: 0.5;
+ background: @white;
+
+ line-height: 36px;
+ text-align: center;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+
+ height: 32px;
+ width: 32px;
+ overflow: hidden;
+ display: block;
+ z-index: 100;
+}
+
+
+//
+// File upload
+// --------------------------------------------------
+.umb-fileupload .preview {
+ border-radius: 5px;
+ border: 1px solid @gray-6;
+ padding: 3px;
+ background: @gray-9;
+ float: left;
+ margin-right: 30px;
+ margin-bottom: 30px;
+}
+
+.umb-fileupload ul {
+ list-style: none;
+ vertical-align: middle;
+ margin-bottom: 0px;
+}
+
+.umb-fileupload label {
+ vertical-align: middle;
+ padding-left: 7px;
+ font-weight: normal;
+}
+
+.umb-fileupload .preview-file {
+ color: @gray-4;
+ height: 45px;
+ width: 55px;
+ text-align: center;
+ text-transform: uppercase;
+ font-size: 10px;
+ padding-top: 27px;
+}
+
+.umb-fileupload .file-icon {
+ text-align: center;
+ display: block;
+ position: relative;
+ padding: 5px 0;
+
+ > .icon {
+ font-size: 70px;
+ line-height: 110%;
+ color: @gray-4;
+ text-align: center;
+ }
+
+ > span {
+ color: @white;
+ background: @gray-4;
+ padding: 1px 3px;
+ font-size: 12px;
+ line-height: 130%;
+ position: absolute;
+ top: 45px;
+ left: 110px;
+ }
+}
+
+.umb-fileupload input {
+ font-size: 12px;
+ line-height: 1;
+}
+
+//
+// Member group picker
+// --------------------------------------------------
+
+.umb-member-group-box {
+ width: 45%;
+}
+.umb-member-group-box:nth-child(1){
+ float:left;
+}
+.umb-member-group-box:nth-child(2){
+ float:right;
+}
+
+//
+// Related links
+// --------------------------------------------------
+.umb-relatedlinks table > tr > td { word-wrap:break-word; word-break: break-all; border-bottom: 1px solid transparent; }
+.umb-relatedlinks .handle { cursor:move; }
+.umb-relatedlinks table > tbody > tr.unsortable .handle { cursor:default; }
+
+.umb-relatedlinks table td.col-sort { width: 20px; }
+.umb-relatedlinks table td.col-caption { min-width: 200px; }
+.umb-relatedlinks table td.col-link { min-width: 200px; }
+.umb-relatedlinks table td.col-actions { min-width: 120px; }
+
+.umb-relatedlinks table td.col-caption .control-wrapper,
+.umb-relatedlinks table td.col-link .control-wrapper { display: flex; }
+
+.umb-relatedlinks table td.col-caption .control-wrapper input[type="text"],
+.umb-relatedlinks table td.col-link .control-wrapper input[type="text"] { width: auto; flex: 1; }
+
+/* sortable placeholder */
+.umb-relatedlinks .sortable-placeholder {
+ background-color: @tableBackgroundAccent;
+ display: table-row;
+}
+.umb-relatedlinks .sortable-placeholder > td {
+ display: table-cell;
+ padding: 8px;
+}
+.umb-relatedlinks .ui-sortable-helper {
+ display: table-row;
+ background-color: @white;
+ opacity: 0.7;
+}
+.umb-relatedlinks .ui-sortable-helper > td {
+ display: table-cell;
+ border-bottom: 1px solid @tableBorder;
+}
+
+
+//
+// Tags
+// --------------------------------------------------
+.umb-tags{
+ border: @gray-10 solid 1px;
+ padding: 10px;
+ font-size: 13px;
+ text-shadow: none;
+
+ .tag{
+ cursor: default;
+ margin: 7px;
+ padding: 10px;
+ background: @turquoise;
+ position: relative;
+
+ .icon-trash{
+ cursor: pointer;
+ padding: 2px;
+ font-size: 12px;
+ position: relative;
+ right: -6px;
+ }
+
+ .umb_confirm-action__overlay.-left{
+ top: 6px;
+ left: auto;
+ right: 15px;
+ }
+ }
+
+ input{
+ border: none;
+ background: @white;
+ }
+}
+
+//
+// Date/time picker
+// --------------------------------------------------
+.bootstrap-datetimepicker-widget .btn{padding: 0;}
+.bootstrap-datetimepicker-widget .picker-switch .btn{ background: none; border: none;}
+.umb-datepicker .input-append .add-on{cursor: pointer;}
+.umb-datepicker p {margin-top:10px;}
+.umb-datepicker p a{color: @gray-3;}
+
+//
+// Code mirror - even though this isn't a proprety editor right now, it could be so I'm putting the styles here
+// --------------------------------------------------
+
+.CodeMirror, .CodeMirror-scroll {
+ height: 100%;
+ min-height:200px;
+}
+
+//
+// Nested boolean (e.g. list view bulk action permissions)
+// ---------------------=====-----------------------------
+.umb-nested-boolean label {margin-bottom: 8px; float: left; width: 320px;}
+.umb-nested-boolean label span {float: left; width: 80%;}
+.umb-nested-boolean label input[type='checkbox'] {margin-right: 10px; float: left;}
diff --git a/src/Umbraco.Web.UI.Client/src/less/tree.less b/src/Umbraco.Web.UI.Client/src/less/tree.less
index c9ab44ea21..acba5f1ac8 100644
--- a/src/Umbraco.Web.UI.Client/src/less/tree.less
+++ b/src/Umbraco.Web.UI.Client/src/less/tree.less
@@ -174,7 +174,7 @@
}
.umb-tree-icon {
- cursor: pointer;
+ cursor: pointer;
}
.umb-tree i.noSpr {
@@ -202,7 +202,7 @@
.umb-tree div.umb-search-group {
position: inherit;
- display: inherit;
+ display: inherit;
}
.umb-tree div.umb-search-group:hover {
@@ -549,4 +549,4 @@ body.touch .umb-tree li div.l div {
body.touch .umb-actions a {
padding: 7px 25px 7px 20px;
font-size: 110%;
-}
\ No newline at end of file
+}
diff --git a/src/Umbraco.Web.UI.Client/src/less/variables.less b/src/Umbraco.Web.UI.Client/src/less/variables.less
index d72a9085ec..3ea09e02fd 100644
--- a/src/Umbraco.Web.UI.Client/src/less/variables.less
+++ b/src/Umbraco.Web.UI.Client/src/less/variables.less
@@ -1,442 +1,509 @@
-//
-// Variables
-// --------------------------------------------------
-
-
-// Global values
-// --------------------------------------------------
-
-
-// Grays
-// -------------------------
-@black: #000;
-@blackLight: #1d1d1d;
-@grayDarker: #222;
-@grayDark: #343434;
-@gray: #555;
-@grayMed: #7f7f7f;
-@grayLight: #d9d9d9;
-@grayLighter: #f8f8f8;
-@white: #fff;
-
-
-// Accent colors
-// -------------------------
-@blue: #2e8aea;
-@blueDark: #0064cd;
-@blueLight: #add8e6;
-@green: #46a546;
-@red: #9d261d;
-@yellow: #ffc40d;
-@orange: #DF7F48;
-@pink: #c3325f;
-
-
-// Colors
-// -------------------------
-
-@turquoise-d1: #00AEA2;
-@turquoise: #03BFB3;
-@turquoise-l1: #42CFC5;
-@turquoise-l2: #81DED8;
-@turquoise-l3: #C0F0ED;
-@turquoise-washed: #F3FDFC;
-
-@purple-d2: #1D1333;
-@purple-d1: #2E2246;
-@purple: #413659;
-@purple-l1: #675E7A;
-@purple-l2: #8D869B;
-@purple-l3: #B3AFBD;
-@purple-washed: #F6F3FD;
-
-// UI Colors
-@red-d1: #F02E28;
-@red: #FE3E39;
-@red-l1: #FE6561;
-@red-l2: #FE8B88;
-@red-l3: #FFB2B0;
-@red-washed: #FFECEB;
-
-@yellow-d2: #F0AC00;
-@yellow-d1: #FFC011;
-@yellow: #FFCE38;
-@yellow-l1: #FFD861;
-@yellow-l2: #FFE28A;
-@yellow-l3: #FFECB0;
-@yellow-washed: #FFFAEB;
-
-@green-d1: #1FB572;
-@green: #35C786;
-@green-l1: #4ECF95;
-@green-l2: #79E1B2;
-@green-l3: #A6F0CF;
-@green-washed: #EBFFF6;
-
-// Grayscale
-@gray-1: #1E1C1C;
-@gray-2: #303033;
-@gray-3: #515054;
-@gray-4: #68676B;
-@gray-5: #817F85;
-@gray-6: #A2A1A6;
-@gray-7: #BBBABF;
-@gray-8: #D8D7D9;
-@gray-9: #E9E9EB;
-@gray-10: #F3F3F5;
-
-
-.red{color: @red;}
-.blue{color: @blue;}
-.black{color: @black;}
-.turquoise{color: @turquoise;}
-.turquoise-d1{color: @turquoise-d1;}
-
-
-//icon colors for tree icons
-.color-red, .color-red i{color: @red-d1 !important;}
-.color-blue, .color-blue i{color: @turquoise-d1 !important;}
-.color-orange, .color-orange i{color: #d9631e !important;}
-.color-green, .color-green i{color: @green-d1 !important;}
-.color-yellow, .color-yellow i{color: @yellow-d1 !important;}
-
-/* Colors based on http://zavoloklom.github.io/material-design-color-palette/colors.html */
-.color-black, .color-black i { color: #000 !important; }
-.color-blue-grey, .color-blue-grey i { color: #607d8b !important; }
-.color-grey, .color-grey i { color: #9e9e9e !important; }
-.color-brown, .color-brown i { color: #795548 !important; }
-.color-blue, .color-blue i { color: #2196f3 !important; }
-.color-light-blue, .color-light-blue i {color: #03a9f4 !important; }
-.color-cyan, .color-cyan i { color: #00bcd4 !important; }
-.color-green, .color-green i { color: #4caf50 !important; }
-.color-light-green, .color-light-green i {color: #8bc34a !important; }
-.color-lime, .color-lime i { color: #cddc39 !important; }
-.color-yellow, .color-yellow i { color: #ffeb3b !important; }
-.color-amber, .color-amber i { color: #ffc107 !important; }
-.color-orange, .color-orange i { color: #ff9800 !important; }
-.color-deep-orange, .color-deep-orange i { color: #ff5722 !important; }
-.color-red, .color-red i { color: #f44336 !important; }
-.color-pink, .color-pink i { color: #e91e63 !important; }
-.color-purple,.color-purple i { color: #9c27b0 !important; }
-.color-deep-purple, .color-deep-purple i { color: #673ab7 !important; }
-.color-indigo, .color-indigo i { color: #3f51b5 !important; }
-
-
-// Scaffolding
-// -------------------------
-@bodyBackground: @white;
-@textColor: @gray-2;
-
-
-// Links
-// -------------------------
-@linkColor: @black;
-@linkColorHover: darken(@linkColor, 15%);
-
-// Typography
-// -------------------------
-@sansFontFamily: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
-@serifFontFamily: Georgia, "Times New Roman", Times, serif;
-@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
-
-@baseFontSize: 15px;
-@baseFontFamily: @sansFontFamily;
-@baseLineHeight: 20px;
-@altFontFamily: @serifFontFamily;
-
-@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
-@headingsFontWeight: 500; // instead of browser default, bold
-@headingsColor: inherit; // empty to use BS default, @textColor
-
-
-// Component sizing
-// -------------------------
-// Based on 14px font-size and 20px line-height
-
-@fontSizeLarge: @baseFontSize * 1.25; // ~18px
-@fontSizeMedium: @baseFontSize * 1.15; // ~14px
-@fontSizeSmall: @baseFontSize * 0.85; // ~12px
-@fontSizeMini: @baseFontSize * 0.75; // ~11px
-
-@paddingLarge: 11px 19px; // 44px
-@paddingSmall: 2px 10px; // 26px
-@paddingMini: 0 6px; // 22px
-
-
-// Disabled this to keep consistency throughout the backoffice UI. Untill a better solution is thought up, this will do.
-@baseBorderRadius: 3px; // 2px;
-@borderRadiusLarge: 3px; // 6px;
-@borderRadiusSmall: 3px; // 3px;
-
-
-// Tables
-// -------------------------
-@tableBackground: transparent; // overall background-color
-@tableBackgroundAccent: @gray-10; // for striping
-@tableBackgroundHover: @gray-10; // for hover
-@tableBorder: @gray-8; // table and cell border
-
-// Buttons
-// -------------------------
-@btnBackground: @gray-9;
-@btnBackgroundHighlight: @gray-9;
-@btnBorder: @gray-9;
-
-@btnPrimaryBackground: @green;
-@btnPrimaryBackgroundHighlight: @green;
-
-@btnInfoBackground: @purple-l1;
-@btnInfoBackgroundHighlight: @purple-l1;
-
-@btnSuccessBackground: @green;
-@btnSuccessBackgroundHighlight: @green;
-
-@btnWarningBackground: @red-l1;
-@btnWarningBackgroundHighlight: @red-l1;
-
-@btnDangerBackground: @red-l1;
-@btnDangerBackgroundHighlight: @red-l1;
-
-@btnInverseBackground: @gray-2;
-@btnInverseBackgroundHighlight: @gray-2;
-
-@btnNeutralBackground: @gray-9;
-@btnNeutralBackgroundHighlight: @gray-9;
-
-
-// Forms
-// -------------------------
-@inputBackground: @white;
-@inputBorder: @gray-7;
-@inputBorderRadius: 0;
-@inputDisabledBackground: @gray-10;
-@formActionsBackground: @gray-9;
-@inputHeight: @baseLineHeight + 12px; // base line-height + 8px vertical padding + 2px top/bottom border
-@controlRequiredColor: @red;
-
-
-// Tabs
-// -------------------------
-
-@tabsBorderRadius: @baseBorderRadius;
-
-// Dropdowns
-// -------------------------
-@dropdownBackground: @white;
-@dropdownBorder: @gray-8;
-@dropdownDividerTop: @gray-8;
-@dropdownDividerBottom: @white;
-
-@dropdownLinkColor: @gray-2;
-@dropdownLinkColorHover: @white;
-@dropdownLinkColorActive: @white;
-
-@dropdownLinkBackgroundActive: @linkColor;
-@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
-
-
-
-// COMPONENT VARIABLES
-// --------------------------------------------------
-
-// Drawer
-@drawerWidth: 400px;
-
-
-// Z-index master list
-// -------------------------
-// Used for a bird's eye view of components dependent on the z-axis
-// Try to avoid customizing these :)
-@zindexDropdown: 1000;
-@zindexPopover: 1010;
-@zindexTooltip: 1030;
-@zindexFixedNavbar: 1030;
-@zindexModalBackdrop: 1040;
-@zindexModal: 1050;
-
-@zindexUmbOverlay: 7500;
-@zindexOverlayBackdrop: 2000;
-
-// Sticky bar has a z-index of "500", which is set from javascript in directive
-// so set z-index of cropper should be lower to be behind sticky bar.
-@zindexCropperOverlay: 499;
-
-// Sprite icons path
-// -------------------------
-@iconSpritePath: "../img/glyphicons-halflings.png";
-@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
-
-
-// Input placeholder text color
-// -------------------------
-@placeholderText: @gray-8;
-
-
-// Hr border color
-// -------------------------
-@hrBorder: @gray-10;
-
-
-// Horizontal forms & lists
-// -------------------------
-@horizontalComponentOffset: 180px;
-
-
-// Wells
-// -------------------------
-@wellBackground: @gray-10;
-
-
-// Navbar
-// -------------------------
-@navbarCollapseWidth: 979px;
-@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
-
-@navbarHeight: 40px;
-@navbarBackgroundHighlight: @white;
-@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
-@navbarBorder: darken(@navbarBackground, 12%);
-
-@navbarText: @gray-4;
-@navbarLinkColor: @gray-4;
-@navbarLinkColorHover: @gray-2;
-@navbarLinkColorActive: @gray-3;
-@navbarLinkBackgroundHover: transparent;
-@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
-
-@navbarBrandColor: @navbarLinkColor;
-
-// Inverted navbar
-@navbarInverseBackground: @gray-1;
-@navbarInverseBackgroundHighlight: @gray-2;
-@navbarInverseBorder: @gray-2;
-
-@navbarInverseText: @gray-8;
-@navbarInverseLinkColor: @gray-8;
-@navbarInverseLinkColorHover: @white;
-@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
-@navbarInverseLinkBackgroundHover: transparent;
-@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
-
-@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
-@navbarInverseSearchBackgroundFocus: @white;
-@navbarInverseSearchBorder: @navbarInverseBackground;
-@navbarInverseSearchPlaceholderColor: @gray-7;
-
-@navbarInverseBrandColor: @navbarInverseLinkColor;
-
-
-// Pagination
-// -------------------------
-@paginationBackground: @white;
-@paginationBorder: @gray-8;
-@paginationActiveBackground: @gray-10;
-
-
-// Hero unit
-// -------------------------
-@heroUnitBackground: @gray-10;
-@heroUnitHeadingColor: inherit;
-@heroUnitLeadColor: inherit;
-
-
-// alerts
-// -------------------------
-@warningText: @white;
-@warningBackground: @yellow-d2;
-@warningBorder: transparent;
-
-@errorText: @white;
-@errorBackground: @red-d1;
-@errorBorder: transparent;
-
-@successText: @white;
-@successBackground: @green-d1;
-@successBorder: transparent;
-
-@infoText: @white;
-@infoBackground: @turquoise-d1;
-@infoBorder: transparent;
-
-@alertBorderRadius: 0;
-
-// SD: Had to duplicate the above but prefix with 'form' inversed colors
-// because we cannot share the above alert colors with forms otherwise we end up with white
-// text and giant red backgrounds.
-
-// Form states
-// -------------------------
-@formWarningText: @warningBackground;
-@formWarningBackground: lighten(@warningBackground, 38%);
-@formWarningBorder: darken(spin(@warningBackground, -10), 3%);
-
-@formErrorText: @errorBackground;
-@formErrorBackground: lighten(@errorBackground, 55%);
-@formErrorBorder: darken(spin(@errorBackground, -10), 3%);
-
-@formSuccessText: @successBackground;
-@formSuccessBackground: lighten(@successBackground, 48%);
-@formSuccessBorder: darken(spin(@successBackground, -10), 5%);
-
-@formInfoText: @infoBackground;
-@formInfoBackground: lighten(@infoBackground, 41%);
-@formInfoBorder: darken(spin(@infoBackground, -10), 7%);
-
-
-// Tooltips and popovers
-// -------------------------
-@tooltipColor: @white;
-@tooltipBackground: @black;
-@tooltipArrowWidth: 5px;
-@tooltipArrowColor: @tooltipBackground;
-
-@popoverBackground: @white;
-@popoverArrowWidth: 10px;
-@popoverArrowColor: @white;
-@popoverTitleBackground: darken(@popoverBackground, 3%);
-
-// Special enhancement for popovers
-@popoverArrowOuterWidth: @popoverArrowWidth + 1;
-@popoverArrowOuterColor: @gray-7;
-
-
-
-// GRID
-// --------------------------------------------------
-
-
-// Default 940px grid
-// -------------------------
-@gridColumns: 12;
-@gridColumnWidth: 60px;
-@gridGutterWidth: 0px;
-@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// 1200px min
-@gridColumnWidth1200: 70px;
-@gridGutterWidth1200: 30px;
-@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
-
-// 768px-979px
-@gridColumnWidth768: 42px;
-@gridGutterWidth768: 20px;
-@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
-
-
-// Fluid grid
-// -------------------------
-@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
-@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
-
-// 1200px min
-@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
-@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
-
-// 768px-979px
-@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
-@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
-
-// SORTABLE
-// --------------------------------------------------
-@sortableHelperBg: @turquoise-l2;
-@sortablePlaceholderBg : @turquoise;
+//
+// Variables
+// --------------------------------------------------
+
+
+// Global values
+// --------------------------------------------------
+
+
+// Grays
+// -------------------------
+@black: #000;
+@blackLight: #1D1D1D;
+@grayDarker: #222;
+@grayDark: #343434;
+@gray: #555;
+@grayMed: #7F7F7F;
+@blueGrey: #607D8B;
+@grayLight: #D9D9D9;
+@grayLighter: #F8F8F8;
+@white: #FFF;
+@grayIcon: #9E9E9E;
+
+// Accent colors
+// -------------------------
+
+
+
+@blue: #2E8AEA;
+@blueDark: #0064CD;
+@blueLight: #ADD8E6;
+@green: #46A546;
+@red: #9D261D;
+@yellow: #FFC40D;
+@orange: #DF7F48;
+@pink: #C3325F;
+
+
+// Colors
+// -------------------------
+
+@turquoise-d1: #00AEA2;
+@turquoise: #03BFB3;
+@turquoise-l1: #42CFC5;
+@turquoise-l2: #81DED8;
+@turquoise-l3: #C0F0ED;
+@turquoise-washed: #F3FDFC;
+
+@purple-d2: #1D1333;
+@purple-d1: #2E2246;
+@purple: #413659;
+@purple-l1: #675E7A;
+@purple-l2: #8D869B;
+@purple-l3: #B3AFBD;
+@purple-washed: #F6F3FD;
+
+// UI Colors
+@red-d1: #F02E28;
+@red: #FE3E39;
+@red-l1: #FE6561;
+@red-l2: #FE8B88;
+@red-l3: #FFB2B0;
+@red-washed: #FFECEB;
+
+@yellow-d2: #F0AC00;
+@yellow-d1: #FFC011;
+@yellow: #FFCE38;
+@yellow-l1: #FFD861;
+@yellow-l2: #FFE28A;
+@yellow-l3: #FFECB0;
+@yellow-washed: #FFFAEB;
+
+@green-d1: #1FB572;
+@green: #35C786;
+@green-l1: #4ECF95;
+@green-l2: #79E1B2;
+@green-l3: #A6F0CF;
+@green-washed: #EBFFF6;
+
+// Grayscale
+@gray-1: #1E1C1C;
+@gray-2: #303033;
+@gray-3: #515054;
+@gray-4: #68676B;
+@gray-5: #817F85;
+@gray-6: #A2A1A6;
+@gray-7: #BBBABF;
+@gray-8: #D8D7D9;
+@gray-9: #E9E9EB;
+@gray-10: #F3F3F5;
+
+
+// Additional Icon Colours
+@brownIcon: #795548;
+@blueIcon: #2196F3;
+@lightBlueIcon: #03A9F4;
+@cyanIcon: #00BCD4;
+@greenIcon: #4CAF50;
+@lightGreenIcon: #8BC34A;
+@limeIcon: #CDDC39;
+@yellowIcon: #FFEB3B;
+@amberIcon: #FFC107;
+@orangeIcon: #FF9800;
+@deepOrangeIcon: #FF5722;
+@redIcon: #F44336;
+@pinkIcon: #E91E63;
+@purpleIcon: #9C27B0;
+@deepPurpleIcon: #673AB7;
+@indigoIcon: #3F51B5;
+
+
+
+
+
+.red{color: @red;}
+.blue{color: @blue;}
+.black{color: @black;}
+.turquoise{color: @turquoise;}
+.turquoise-d1{color: @turquoise-d1;}
+
+
+//icon colors for tree icons
+.color-red, .color-red i{color: @red-d1 !important;}
+.color-blue, .color-blue i{color: @turquoise-d1 !important;}
+.color-orange, .color-orange i{color: @orange !important;}
+.color-green, .color-green i{color: @green-d1 !important;}
+.color-yellow, .color-yellow i{color: @yellowIcon !important;}
+
+/* Colors based on https://zavoloklom.github.io/material-design-color-palette/colors.html */
+.btn-color-black {background-color: @black;}
+.color-black i { color: @black;}
+
+
+.btn-color-blue-grey {background-color: @blueGrey;}
+.color-blue-grey, .color-blue-grey i { color: @blueGrey !important;}
+
+
+.btn-color-grey{background-color: @grayIcon;}
+.color-grey, .color-grey i { color: @grayIcon !important; }
+
+
+.btn-color-brown{background-color: @brownIcon;}
+.color-brown, .color-brown i { color: @brownIcon !important; }
+
+.btn-color-blue{background-color: @blueIcon;}
+.color-blue, .color-blue i { color: @blueIcon !important; }
+
+.btn-color-light-blue{background-color: @lightBlueIcon;}
+.color-light-blue, .color-light-blue i {color: @lightBlueIcon !important;}
+
+.btn-color-cyan{background-color: @cyanIcon;}
+.color-cyan, .color-cyan i { color: @cyanIcon !important; }
+
+.btn-color-green{background-color: @greenIcon;}
+.color-green, .color-green i { color: @greenIcon !important; }
+
+.btn-color-light-green{background-color: @lightGreenIcon;}
+.color-light-green, .color-light-green i {color: @lightGreenIcon !important; }
+
+.btn-color-lime{background-color: @limeIcon;}
+.color-lime, .color-lime i { color: @limeIcon !important; }
+
+.btn-color-yellow{background-color: @yellowIcon;}
+.color-yellow, .color-yellow i { color: @yellowIcon !important; }
+
+.btn-color-amber{background-color: @amberIcon;}
+.color-amber, .color-amber i { color: @amberIcon !important; }
+
+.btn-color-orange{background-color: @orangeIcon;}
+.color-orange, .color-orange i { color: @orangeIcon !important; }
+
+.btn-color-deep-orange{background-color: @deepOrangeIcon;}
+.color-deep-orange, .color-deep-orange i { color: @deepOrangeIcon !important; }
+
+.btn-color-red{background-color: @redIcon;}
+.color-red, .color-red i { color: @redIcon !important; }
+
+.btn-color-pink{background-color: @pinkIcon;}
+.color-pink, .color-pink i { color: @pinkIcon !important; }
+
+.btn-color-purple{background-color: @purpleIcon;}
+.color-purple, .color-purple i { color: @purpleIcon !important; }
+
+.btn-color-deep-purple{background-color: @deepPurpleIcon;}
+.color-deep-purple, .color-deep-purple i { color: @deepPurpleIcon !important; }
+
+.btn-color-indigo{background-color: @indigoIcon;}
+.color-indigo, .color-indigo i { color: @indigoIcon !important; }
+
+
+
+// Scaffolding
+// -------------------------
+@bodyBackground: @white;
+@textColor: @gray-2;
+
+
+// Links
+// -------------------------
+@linkColor: @black;
+@linkColorHover: darken(@linkColor, 15%);
+
+// Typography
+// -------------------------
+@sansFontFamily: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
+@serifFontFamily: Georgia, "Times New Roman", Times, serif;
+@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
+
+@baseFontSize: 15px;
+@baseFontFamily: @sansFontFamily;
+@baseLineHeight: 20px;
+@altFontFamily: @serifFontFamily;
+
+@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
+@headingsFontWeight: 500; // instead of browser default, bold
+@headingsColor: inherit; // empty to use BS default, @textColor
+
+
+// Component sizing
+// -------------------------
+// Based on 14px font-size and 20px line-height
+
+@fontSizeLarge: @baseFontSize * 1.25; // ~18px
+@fontSizeMedium: @baseFontSize * 1.15; // ~14px
+@fontSizeSmall: @baseFontSize * 0.85; // ~12px
+@fontSizeMini: @baseFontSize * 0.75; // ~11px
+
+@paddingLarge: 11px 19px; // 44px
+@paddingSmall: 2px 10px; // 26px
+@paddingMini: 0 6px; // 22px
+
+
+// Disabled this to keep consistency throughout the backoffice UI. Untill a better solution is thought up, this will do.
+@baseBorderRadius: 3px; // 2px;
+@borderRadiusLarge: 3px; // 6px;
+@borderRadiusSmall: 3px; // 3px;
+
+
+// Tables
+// -------------------------
+@tableBackground: transparent; // overall background-color
+@tableBackgroundAccent: @gray-10; // for striping
+@tableBackgroundHover: @gray-10; // for hover
+@tableBorder: @gray-8; // table and cell border
+
+// Buttons
+// -------------------------
+@btnBackground: @gray-9;
+@btnBackgroundHighlight: @gray-9;
+@btnBorder: @gray-9;
+
+@btnPrimaryBackground: @green;
+@btnPrimaryBackgroundHighlight: @green;
+
+@btnInfoBackground: @purple-l1;
+@btnInfoBackgroundHighlight: @purple-l1;
+
+@btnSuccessBackground: @green;
+@btnSuccessBackgroundHighlight: @green;
+
+@btnWarningBackground: @red-l1;
+@btnWarningBackgroundHighlight: @red-l1;
+
+@btnDangerBackground: @red-l1;
+@btnDangerBackgroundHighlight: @red-l1;
+
+@btnInverseBackground: @gray-2;
+@btnInverseBackgroundHighlight: @gray-2;
+
+@btnNeutralBackground: @gray-9;
+@btnNeutralBackgroundHighlight: @gray-9;
+
+
+// Forms
+// -------------------------
+@inputBackground: @white;
+@inputBorder: @gray-7;
+@inputBorderRadius: 0;
+@inputDisabledBackground: @gray-10;
+@formActionsBackground: @gray-9;
+@inputHeight: @baseLineHeight + 12px; // base line-height + 8px vertical padding + 2px top/bottom border
+@controlRequiredColor: @red;
+
+
+// Tabs
+// -------------------------
+
+@tabsBorderRadius: @baseBorderRadius;
+
+// Dropdowns
+// -------------------------
+@dropdownBackground: @white;
+@dropdownBorder: @gray-8;
+@dropdownDividerTop: @gray-8;
+@dropdownDividerBottom: @white;
+
+@dropdownLinkColor: @gray-2;
+@dropdownLinkColorHover: @white;
+@dropdownLinkColorActive: @white;
+
+@dropdownLinkBackgroundActive: @linkColor;
+@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
+
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+// Drawer
+@drawerWidth: 400px;
+
+
+// Z-index master list
+// -------------------------
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+@zindexDropdown: 1000;
+@zindexPopover: 1010;
+@zindexTooltip: 1030;
+@zindexFixedNavbar: 1030;
+@zindexModalBackdrop: 1040;
+@zindexModal: 1050;
+
+@zindexUmbOverlay: 7500;
+@zindexOverlayBackdrop: 2000;
+
+// Sticky bar has a z-index of "500", which is set from javascript in directive
+// so set z-index of cropper should be lower to be behind sticky bar.
+@zindexCropperOverlay: 499;
+
+// Sprite icons path
+// -------------------------
+@iconSpritePath: "../img/glyphicons-halflings.png";
+@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
+
+
+// Input placeholder text color
+// -------------------------
+@placeholderText: @gray-8;
+
+
+// Hr border color
+// -------------------------
+@hrBorder: @gray-10;
+
+
+// Horizontal forms & lists
+// -------------------------
+@horizontalComponentOffset: 180px;
+
+
+// Wells
+// -------------------------
+@wellBackground: @gray-10;
+
+
+// Navbar
+// -------------------------
+@navbarCollapseWidth: 979px;
+@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
+
+@navbarHeight: 40px;
+@navbarBackgroundHighlight: @white;
+@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
+@navbarBorder: darken(@navbarBackground, 12%);
+
+@navbarText: @gray-4;
+@navbarLinkColor: @gray-4;
+@navbarLinkColorHover: @gray-2;
+@navbarLinkColorActive: @gray-3;
+@navbarLinkBackgroundHover: transparent;
+@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
+
+@navbarBrandColor: @navbarLinkColor;
+
+// Inverted navbar
+@navbarInverseBackground: @gray-1;
+@navbarInverseBackgroundHighlight: @gray-2;
+@navbarInverseBorder: @gray-2;
+
+@navbarInverseText: @gray-8;
+@navbarInverseLinkColor: @gray-8;
+@navbarInverseLinkColorHover: @white;
+@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
+@navbarInverseLinkBackgroundHover: transparent;
+@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
+
+@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
+@navbarInverseSearchBackgroundFocus: @white;
+@navbarInverseSearchBorder: @navbarInverseBackground;
+@navbarInverseSearchPlaceholderColor: @gray-7;
+
+@navbarInverseBrandColor: @navbarInverseLinkColor;
+
+
+// Pagination
+// -------------------------
+@paginationBackground: @white;
+@paginationBorder: @gray-8;
+@paginationActiveBackground: @gray-10;
+
+
+// Hero unit
+// -------------------------
+@heroUnitBackground: @gray-10;
+@heroUnitHeadingColor: inherit;
+@heroUnitLeadColor: inherit;
+
+
+// alerts
+// -------------------------
+@warningText: @white;
+@warningBackground: @yellow-d2;
+@warningBorder: transparent;
+
+@errorText: @white;
+@errorBackground: @red-d1;
+@errorBorder: transparent;
+
+@successText: @white;
+@successBackground: @green-d1;
+@successBorder: transparent;
+
+@infoText: @white;
+@infoBackground: @turquoise-d1;
+@infoBorder: transparent;
+
+@alertBorderRadius: 0;
+
+// SD: Had to duplicate the above but prefix with 'form' inversed colors
+// because we cannot share the above alert colors with forms otherwise we end up with white
+// text and giant red backgrounds.
+
+// Form states
+// -------------------------
+@formWarningText: @warningBackground;
+@formWarningBackground: lighten(@warningBackground, 38%);
+@formWarningBorder: darken(spin(@warningBackground, -10), 3%);
+
+@formErrorText: @errorBackground;
+@formErrorBackground: lighten(@errorBackground, 55%);
+@formErrorBorder: darken(spin(@errorBackground, -10), 3%);
+
+@formSuccessText: @successBackground;
+@formSuccessBackground: lighten(@successBackground, 48%);
+@formSuccessBorder: darken(spin(@successBackground, -10), 5%);
+
+@formInfoText: @infoBackground;
+@formInfoBackground: lighten(@infoBackground, 41%);
+@formInfoBorder: darken(spin(@infoBackground, -10), 7%);
+
+
+// Tooltips and popovers
+// -------------------------
+@tooltipColor: @white;
+@tooltipBackground: @black;
+@tooltipArrowWidth: 5px;
+@tooltipArrowColor: @tooltipBackground;
+
+@popoverBackground: @white;
+@popoverArrowWidth: 10px;
+@popoverArrowColor: @white;
+@popoverTitleBackground: darken(@popoverBackground, 3%);
+
+// Special enhancement for popovers
+@popoverArrowOuterWidth: @popoverArrowWidth + 1;
+@popoverArrowOuterColor: @gray-7;
+
+
+
+// GRID
+// --------------------------------------------------
+
+
+// Default 940px grid
+// -------------------------
+@gridColumns: 12;
+@gridColumnWidth: 60px;
+@gridGutterWidth: 0px;
+@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+
+// 1200px min
+@gridColumnWidth1200: 70px;
+@gridGutterWidth1200: 30px;
+@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
+
+// 768px-979px
+@gridColumnWidth768: 42px;
+@gridGutterWidth768: 20px;
+@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
+
+
+// Fluid grid
+// -------------------------
+@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
+@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
+
+// 1200px min
+@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
+@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
+
+// 768px-979px
+@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
+@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
+
+// SORTABLE
+// --------------------------------------------------
+@sortableHelperBg: @turquoise-l2;
+@sortablePlaceholderBg : @turquoise;
diff --git a/src/Umbraco.Web.UI.Client/src/routes.js b/src/Umbraco.Web.UI.Client/src/routes.js
index 3fc4d3f78e..2f1a7583b4 100644
--- a/src/Umbraco.Web.UI.Client/src/routes.js
+++ b/src/Umbraco.Web.UI.Client/src/routes.js
@@ -31,11 +31,11 @@ app.config(function ($routeProvider) {
userService.getCurrentUser({ broadcastEvent: broadcast }).then(function (user) {
//is auth, check if we allow or reject
if (isRequired) {
-
+
//This checks the current section and will force a redirect to 'content' as the default
if ($route.current.params.section.toLowerCase() === "default" || $route.current.params.section.toLowerCase() === "umbraco" || $route.current.params.section === "") {
$route.current.params.section = "content";
- }
+ }
// U4-5430, Benjamin Howarth
// We need to change the current route params if the user only has access to a single section
@@ -141,13 +141,32 @@ app.config(function ($routeProvider) {
resolve: canRoute(true)
})
.when('/:section/:tree/:method', {
- templateUrl: function (rp) {
+ //This allows us to dynamically change the template for this route since you cannot inject services into the templateUrl method.
+ template: "
",
+ //This controller will execute for this route, then we replace the template dynamnically based on the current tree.
+ controller: function ($scope, $route, $routeParams, treeService) {
- //if there is no method registered for this then show the dashboard
- if (!rp.method)
- return "views/common/dashboard.html";
-
- return ('views/' + rp.tree + '/' + rp.method + '.html');
+ if (!$routeParams.method) {
+ $scope.templateUrl = "views/common/dashboard.html";
+ }
+
+ // Here we need to figure out if this route is for a package tree and if so then we need
+ // to change it's convention view path to:
+ // /App_Plugins/{mypackage}/backoffice/{treetype}/{method}.html
+
+ // otherwise if it is a core tree we use the core paths:
+ // views/{treetype}/{method}.html
+
+ var packageTreeFolder = treeService.getTreePackageFolder($routeParams.tree);
+
+ if (packageTreeFolder) {
+ $scope.templateUrl = (Umbraco.Sys.ServerVariables.umbracoSettings.appPluginsPath +
+ "/" + packageTreeFolder +
+ "/backoffice/" + $routeParams.tree + "/" + $routeParams.method + ".html");
+ }
+ else {
+ $scope.templateUrl = ('views/' + $routeParams.tree + '/' + $routeParams.method + '.html');
+ }
},
resolve: canRoute(true)
})
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html
index b9428fb242..be985652b9 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html
@@ -22,8 +22,8 @@
-
- go to our.umbraco.org
+
+ go to our.umbraco.com
The friendliest community
@@ -46,7 +46,7 @@
-
+
go to umbraco.tv
The best Umbraco video tutorials
@@ -55,4 +55,4 @@
-
\ No newline at end of file
+
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.controller.js
index dbb86e87ec..1fd870b42d 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.controller.js
@@ -10,16 +10,22 @@
function InsertMacroController($scope, entityResource, macroResource, umbPropEditorHelper, macroService, formHelper) {
/** changes the view to edit the params of the selected macro */
- function editParams() {
+ /** if there is pnly one macro, and it has parameters - editor can skip selecting the Macro **/
+ function editParams(insertIfNoParameters) {
+ //whether to insert the macro in the rich text editor when editParams is called and there are no parameters see U4-10537
+ insertIfNoParameters = (typeof insertIfNoParameters !== 'undefined') ? insertIfNoParameters : true;
//get the macro params if there are any
macroResource.getMacroParameters($scope.selectedMacro.id)
.then(function (data) {
//go to next page if there are params otherwise we can just exit
if (!angular.isArray(data) || data.length === 0) {
- //we can just exist!
- submitForm();
-
+ //we can just exist!
+ if (insertIfNoParameters) {
+ submitForm();
+ } else {
+ $scope.wizardStep = 'macroSelect';
+ }
} else {
$scope.wizardStep = "paramSelect";
$scope.macroParams = data;
@@ -117,7 +123,7 @@ function InsertMacroController($scope, entityResource, macroResource, umbPropEdi
formHelper.resetForm({ scope: $scope });
if ($scope.wizardStep === "macroSelect") {
- editParams();
+ editParams(true);
}
else {
submitForm();
@@ -155,12 +161,19 @@ function InsertMacroController($scope, entityResource, macroResource, umbPropEdi
if (found) {
//select the macro and go to next screen
$scope.selectedMacro = found;
- editParams();
+ editParams(true);
return;
}
}
- //we don't have a pre-selected macro so ensure the correct step is set
- $scope.wizardStep = "macroSelect";
+ //if there is only one macro in the site and it has parameters, let's not make the editor choose it from a selection of one macro (unless there are no parameters - then weirdly it's a better experience to make that selection)
+ if ($scope.macros.length == 1) {
+ $scope.selectedMacro = $scope.macros[0];
+ editParams(false);
+ }
+ else {
+ //we don't have a pre-selected macro so ensure the correct step is set
+ $scope.wizardStep = 'macroSelect';
+ }
});
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/legacydelete.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/legacydelete.controller.js
index 81b86fc969..9cfd4845b6 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/legacydelete.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/legacydelete.controller.js
@@ -16,7 +16,7 @@ function LegacyDeleteController($scope, legacyResource, treeService, navigationS
legacyResource.deleteItem({
nodeId: $scope.currentNode.id,
nodeType: $scope.currentNode.nodeType,
- alias: $scope.currentNode.name,
+ alias: $scope.currentNode.name
}).then(function () {
$scope.currentNode.loading = false;
//TODO: Need to sync tree, etc...
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js
index e76db90f47..5d6a3bf12c 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js
@@ -1,149 +1,170 @@
//used for the media picker dialog
angular.module("umbraco").controller("Umbraco.Dialogs.LinkPickerController",
- function ($scope, eventsService, dialogService, entityResource, contentResource, mediaHelper, userService, localizationService) {
- var dialogOptions = $scope.dialogOptions;
+ function ($scope, eventsService, dialogService, entityResource, contentResource, mediaHelper, userService, localizationService, tinyMceService) {
+ var dialogOptions = $scope.dialogOptions;
- var searchText = "Search...";
- localizationService.localize("general_search").then(function (value) {
- searchText = value + "...";
- });
+ var searchText = "Search...";
+ localizationService.localize("general_search").then(function (value) {
+ searchText = value + "...";
+ });
- $scope.dialogTreeEventHandler = $({});
- $scope.target = {};
- $scope.searchInfo = {
- searchFromId: null,
- searchFromName: null,
- showSearch: false,
- results: [],
- selectedSearchResults: []
- }
+ $scope.dialogTreeEventHandler = $({});
+ $scope.target = {};
+ $scope.searchInfo = {
+ searchFromId: null,
+ searchFromName: null,
+ showSearch: false,
+ results: [],
+ selectedSearchResults: []
+ }
- if (dialogOptions.currentTarget) {
- $scope.target = dialogOptions.currentTarget;
+ if (dialogOptions.currentTarget) {
+ $scope.target = dialogOptions.currentTarget;
- //if we have a node ID, we fetch the current node to build the form data
- if ($scope.target.id || $scope.target.udi) {
+ //if we have a node ID, we fetch the current node to build the form data
+ if ($scope.target.id || $scope.target.udi) {
- var id = $scope.target.udi ? $scope.target.udi : $scope.target.id;
+ var id = $scope.target.udi ? $scope.target.udi : $scope.target.id;
- if (!$scope.target.path) {
- entityResource.getPath(id, "Document").then(function (path) {
- $scope.target.path = path;
- //now sync the tree to this path
- $scope.dialogTreeEventHandler.syncTree({ path: $scope.target.path, tree: "content" });
- });
- }
+ if (!$scope.target.path) {
+ entityResource.getPath(id, "Document").then(function (path) {
+ $scope.target.path = path;
+ //now sync the tree to this path
+ $scope.dialogTreeEventHandler.syncTree({
+ path: $scope.target.path,
+ tree: "content"
+ });
+ });
+ }
- contentResource.getNiceUrl(id).then(function (url) {
- $scope.target.url = url;
- });
- }
- }
+ // if a link exists, get the properties to build the anchor name list
+ contentResource.getById(id).then(function (resp) {
+ $scope.anchorValues = tinyMceService.getAnchorNames(JSON.stringify(resp.properties));
+ $scope.target.url = resp.urls[0];
+ });
+ } else if ($scope.target.url.length) {
+ // a url but no id/udi indicates an external link - trim the url to remove the anchor/qs
+ // only do the substring if there's a # or a ?
+ var indexOfAnchor = $scope.target.url.search(/(#|\?)/);
+ if (indexOfAnchor > -1) {
+ // populate the anchor
+ $scope.target.anchor = $scope.target.url.substring(indexOfAnchor);
+ // then rewrite the model and populate the link
+ $scope.target.url = $scope.target.url.substring(0, indexOfAnchor);
+ }
+ }
+ }
- function nodeSelectHandler(ev, args) {
- args.event.preventDefault();
- args.event.stopPropagation();
+ if (dialogOptions.anchors) {
+ $scope.anchorValues = dialogOptions.anchors;
+ }
- if (args.node.metaData.listViewNode) {
- //check if list view 'search' node was selected
+ function nodeSelectHandler(ev, args) {
+ args.event.preventDefault();
+ args.event.stopPropagation();
- $scope.searchInfo.showSearch = true;
- $scope.searchInfo.searchFromId = args.node.metaData.listViewNode.id;
- $scope.searchInfo.searchFromName = args.node.metaData.listViewNode.name;
- }
- else {
- eventsService.emit("dialogs.linkPicker.select", args);
+ if (args.node.metaData.listViewNode) {
+ //check if list view 'search' node was selected
- if ($scope.currentNode) {
- //un-select if there's a current one selected
- $scope.currentNode.selected = false;
- }
+ $scope.searchInfo.showSearch = true;
+ $scope.searchInfo.searchFromId = args.node.metaData.listViewNode.id;
+ $scope.searchInfo.searchFromName = args.node.metaData.listViewNode.name;
+ } else {
+ eventsService.emit("dialogs.linkPicker.select", args);
- $scope.currentNode = args.node;
- $scope.currentNode.selected = true;
- $scope.target.id = args.node.id;
- $scope.target.udi = args.node.udi;
- $scope.target.name = args.node.name;
+ if ($scope.currentNode) {
+ //un-select if there's a current one selected
+ $scope.currentNode.selected = false;
+ }
- if (args.node.id < 0) {
- $scope.target.url = "/";
- }
- else {
- contentResource.getNiceUrl(args.node.id).then(function (url) {
- $scope.target.url = url;
- });
- }
+ $scope.currentNode = args.node;
+ $scope.currentNode.selected = true;
+ $scope.target.id = args.node.id;
+ $scope.target.udi = args.node.udi;
+ $scope.target.name = args.node.name;
- if (!angular.isUndefined($scope.target.isMedia)) {
- delete $scope.target.isMedia;
- }
- }
- }
+ if (args.node.id < 0) {
+ $scope.target.url = "/";
+ } else {
+ contentResource.getById(args.node.id).then(function (resp) {
+ $scope.anchorValues = tinyMceService.getAnchorNames(JSON.stringify(resp.properties));
+ $scope.target.url = resp.urls[0];
+ });
+ }
- function nodeExpandedHandler(ev, args) {
- if (angular.isArray(args.children)) {
+ if (!angular.isUndefined($scope.target.isMedia)) {
+ delete $scope.target.isMedia;
+ }
+ }
+ }
- //iterate children
- _.each(args.children, function (child) {
- //check if any of the items are list views, if so we need to add a custom
- // child: A node to activate the search
- if (child.metaData.isContainer) {
- child.hasChildren = true;
- child.children = [
- {
- level: child.level + 1,
- hasChildren: false,
- name: searchText,
- metaData: {
- listViewNode: child,
- },
- cssClass: "icon umb-tree-icon sprTree icon-search",
- cssClasses: ["not-published"]
+ function nodeExpandedHandler(ev, args) {
+ if (angular.isArray(args.children)) {
+
+ //iterate children
+ _.each(args.children, function (child) {
+ //check if any of the items are list views, if so we need to add a custom
+ // child: A node to activate the search
+ if (child.metaData.isContainer) {
+ child.hasChildren = true;
+ child.children = [
+ {
+ level: child.level + 1,
+ hasChildren: false,
+ name: searchText,
+ metaData: {
+ listViewNode: child
+ },
+ cssClass: "icon umb-tree-icon sprTree icon-search",
+ cssClasses: ["not-published"]
}
];
- }
- });
- }
- }
+ }
+ });
+ }
+ }
- $scope.switchToMediaPicker = function () {
- userService.getCurrentUser().then(function (userData) {
- dialogService.mediaPicker({
- startNodeId: userData.startMediaIds.length == 0 ? -1 : userData.startMediaIds[0],
- callback: function(media) {
- $scope.target.id = media.id;
- $scope.target.isMedia = true;
- $scope.target.name = media.name;
- $scope.target.url = mediaHelper.resolveFile(media);
- }
- });
- });
- };
+ $scope.switchToMediaPicker = function () {
+ userService.getCurrentUser().then(function (userData) {
+ dialogService.mediaPicker({
+ startNodeId: userData.startMediaIds.length == 0 ? -1 : userData.startMediaIds[0],
+ callback: function (media) {
+ $scope.target.id = media.id;
+ $scope.target.isMedia = true;
+ $scope.target.name = media.name;
+ $scope.target.url = mediaHelper.resolveFile(media);
+ }
+ });
+ });
+ };
- $scope.hideSearch = function () {
- $scope.searchInfo.showSearch = false;
- $scope.searchInfo.searchFromId = null;
- $scope.searchInfo.searchFromName = null;
- $scope.searchInfo.results = [];
- }
+ $scope.hideSearch = function () {
+ $scope.searchInfo.showSearch = false;
+ $scope.searchInfo.searchFromId = null;
+ $scope.searchInfo.searchFromName = null;
+ $scope.searchInfo.results = [];
+ }
- // method to select a search result
- $scope.selectResult = function (evt, result) {
- result.selected = result.selected === true ? false : true;
- nodeSelectHandler(evt, {event: evt, node: result});
- };
+ // method to select a search result
+ $scope.selectResult = function (evt, result) {
+ result.selected = result.selected === true ? false : true;
+ nodeSelectHandler(evt, {
+ event: evt,
+ node: result
+ });
+ };
- //callback when there are search results
- $scope.onSearchResults = function (results) {
- $scope.searchInfo.results = results;
- $scope.searchInfo.showSearch = true;
- };
+ //callback when there are search results
+ $scope.onSearchResults = function (results) {
+ $scope.searchInfo.results = results;
+ $scope.searchInfo.showSearch = true;
+ };
- $scope.dialogTreeEventHandler.bind("treeNodeSelect", nodeSelectHandler);
- $scope.dialogTreeEventHandler.bind("treeNodeExpanded", nodeExpandedHandler);
+ $scope.dialogTreeEventHandler.bind("treeNodeSelect", nodeSelectHandler);
+ $scope.dialogTreeEventHandler.bind("treeNodeExpanded", nodeExpandedHandler);
- $scope.$on('$destroy', function () {
- $scope.dialogTreeEventHandler.unbind("treeNodeSelect", nodeSelectHandler);
- $scope.dialogTreeEventHandler.unbind("treeNodeExpanded", nodeExpandedHandler);
- });
- });
\ No newline at end of file
+ $scope.$on('$destroy', function () {
+ $scope.dialogTreeEventHandler.unbind("treeNodeSelect", nodeSelectHandler);
+ $scope.dialogTreeEventHandler.unbind("treeNodeExpanded", nodeExpandedHandler);
+ });
+ });
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html
index 442357edcc..3b02853127 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html
@@ -1,15 +1,27 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
New password
{{invitedUserPasswordModel.passwordPolicyText}}
-
+
Your new password cannot be blank!
Minimum {{invitedUserPasswordModel.passwordPolicies.minPasswordLength}} characters
@@ -30,7 +30,7 @@
Confirm new password
-
+
Required
The confirmed password doesn't match the new password!
@@ -149,8 +149,12 @@
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/template/querybuilder.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/template/querybuilder.controller.js
index 6dae664a3d..9397a63448 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/template/querybuilder.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/template/querybuilder.controller.js
@@ -31,7 +31,7 @@ angular.module("umbraco").controller('Umbraco.Dialogs.Template.QueryBuilderContr
sort:{
property:{
alias: "",
- name: "",
+ name: ""
},
direction: "ascending"
}
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js
index 740791abf9..b0521dc930 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js
@@ -93,7 +93,7 @@ angular.module("umbraco").controller("Umbraco.Dialogs.TreePickerController",
},
name: searchText,
metaData: {
- listViewNode: child,
+ listViewNode: child
},
cssClass: "icon-search",
cssClasses: ["not-published"]
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js
index 4d2b43c078..1f2daff083 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js
@@ -43,15 +43,17 @@
setSectionName();
userService.getCurrentUser().then(function (user) {
-
+
vm.userType = user.userType;
vm.userLang = user.locale;
+ vm.hasAccessToSettings = _.contains(user.allowedSections, 'settings');
+
evts.push(eventsService.on("appState.treeState.changed", function (e, args) {
handleSectionChange();
}));
- findHelp(vm.section, vm.tree, vm.usertype, vm.userLang);
+ findHelp(vm.section, vm.tree, vm.userType, vm.userLang);
});
@@ -76,17 +78,20 @@
vm.tree = $routeParams.tree;
setSectionName();
- findHelp(vm.section, vm.tree, vm.usertype, vm.userLang);
+ findHelp(vm.section, vm.tree, vm.userType, vm.userLang);
}
});
}
function findHelp(section, tree, usertype, userLang) {
+
+ if (vm.hasAccessToSettings) {
+ helpService.getContextHelpForPage(section, tree).then(function (topics) {
+ vm.topics = topics;
+ });
+ }
- helpService.getContextHelpForPage(section, tree).then(function (topics) {
- vm.topics = topics;
- });
var rq = {};
rq.section = vm.section;
@@ -108,10 +113,12 @@
rq.path = rq.section + "/" + $routeParams.tree + "/" + $routeParams.method;
}
- helpService.findVideos(rq).then(function(videos){
- vm.videos = videos;
- });
-
+
+ if (vm.hasAccessToSettings) {
+ helpService.findVideos(rq).then(function (videos) {
+ vm.videos = videos;
+ });
+ }
}
function setSectionName() {
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
index 4829c8964a..2d1f23a4f9 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
+++ b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
@@ -8,16 +8,17 @@
-