diff --git a/.github/ISSUE_TEMPLATE/bug_report-ORHUN.md b/.github/ISSUE_TEMPLATE/bug_report-ORHUN.md
new file mode 100644
index 0000000..dd84ea7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report-ORHUN.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/docs/_config.yml b/docs/_config.yml
index 5f02ce6..45ea75e 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -26,12 +26,14 @@ search_enabled: true
# Aux links for the upper right navigation
aux_links:
- "JPR Articles":
+ "DO-MS Articles":
- "https://do-ms.slavovlab.net/#research-articles"
"GitHub Repository":
- "https://github.com/SlavovLab/DO-MS"
"Slavov Lab":
- - "http://slavovlab.net"
+ - "https://slavovlab.net"
+ "SCP Hub":
+ - "https://scp.slavovlab.net"
github_link: https://github.com/SlavovLab/DO-MS
preprint_link: https://www.biorxiv.org/content/10.1101/2023.02.02.526809v1
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
index 2d5fe6b..b209423 100644
--- a/docs/_layouts/default.html
+++ b/docs/_layouts/default.html
@@ -12,7 +12,7 @@
{% include nav.html %}
diff --git a/docs/assets/images/do-ms-dia-rename.png b/docs/assets/images/do-ms-dia-rename.png
new file mode 100644
index 0000000..debb1eb
Binary files /dev/null and b/docs/assets/images/do-ms-dia-rename.png differ
diff --git a/docs/assets/images/do-ms-dia-results.png b/docs/assets/images/do-ms-dia-results.png
new file mode 100644
index 0000000..a130b41
Binary files /dev/null and b/docs/assets/images/do-ms-dia-results.png differ
diff --git a/docs/assets/images/do-ms-dia_config.png b/docs/assets/images/do-ms-dia_config.png
new file mode 100644
index 0000000..1d79228
Binary files /dev/null and b/docs/assets/images/do-ms-dia_config.png differ
diff --git a/docs/assets/images/do-ms-dia_mode.png b/docs/assets/images/do-ms-dia_mode.png
new file mode 100644
index 0000000..0ab4770
Binary files /dev/null and b/docs/assets/images/do-ms-dia_mode.png differ
diff --git a/docs/assets/images/do-ms-dia_title.png b/docs/assets/images/do-ms-dia_title.png
new file mode 100644
index 0000000..276d1d2
Binary files /dev/null and b/docs/assets/images/do-ms-dia_title.png differ
diff --git a/docs/assets/images/do-ms-dia_title_v2.png b/docs/assets/images/do-ms-dia_title_v2.png
new file mode 100644
index 0000000..9226b55
Binary files /dev/null and b/docs/assets/images/do-ms-dia_title_v2.png differ
diff --git a/docs/assets/images/do-ms-enter-path.png b/docs/assets/images/do-ms-enter-path.png
new file mode 100644
index 0000000..02ae6d5
Binary files /dev/null and b/docs/assets/images/do-ms-enter-path.png differ
diff --git a/docs/assets/images/do-ms-osx-folder-info.png b/docs/assets/images/do-ms-osx-folder-info.png
new file mode 100644
index 0000000..ebc1859
Binary files /dev/null and b/docs/assets/images/do-ms-osx-folder-info.png differ
diff --git a/docs/assets/images/do-ms-osx-path-after.png b/docs/assets/images/do-ms-osx-path-after.png
new file mode 100644
index 0000000..1b2f922
Binary files /dev/null and b/docs/assets/images/do-ms-osx-path-after.png differ
diff --git a/docs/assets/images/do-ms-osx-path-before.png b/docs/assets/images/do-ms-osx-path-before.png
new file mode 100644
index 0000000..a825737
Binary files /dev/null and b/docs/assets/images/do-ms-osx-path-before.png differ
diff --git a/docs/assets/images/do-ms-proj.png b/docs/assets/images/do-ms-proj.png
new file mode 100644
index 0000000..5cf0c7a
Binary files /dev/null and b/docs/assets/images/do-ms-proj.png differ
diff --git a/docs/assets/images/do-ms-run.png b/docs/assets/images/do-ms-run.png
new file mode 100644
index 0000000..22347b3
Binary files /dev/null and b/docs/assets/images/do-ms-run.png differ
diff --git a/docs/assets/images/do-ms-windows-path-after.png b/docs/assets/images/do-ms-windows-path-after.png
new file mode 100644
index 0000000..063a4ee
Binary files /dev/null and b/docs/assets/images/do-ms-windows-path-after.png differ
diff --git a/docs/assets/images/do-ms-windows-path-before.png b/docs/assets/images/do-ms-windows-path-before.png
new file mode 100644
index 0000000..b212f83
Binary files /dev/null and b/docs/assets/images/do-ms-windows-path-before.png differ
diff --git a/docs/assets/images/download_data.png b/docs/assets/images/download_data.png
new file mode 100644
index 0000000..c0a1120
Binary files /dev/null and b/docs/assets/images/download_data.png differ
diff --git a/docs/assets/images/download_image.png b/docs/assets/images/download_image.png
new file mode 100644
index 0000000..d668873
Binary files /dev/null and b/docs/assets/images/download_image.png differ
diff --git a/docs/assets/images/generate_report_Rstudio_progress.png b/docs/assets/images/generate_report_Rstudio_progress.png
new file mode 100644
index 0000000..7a49edf
Binary files /dev/null and b/docs/assets/images/generate_report_Rstudio_progress.png differ
diff --git a/docs/assets/images/generate_report_page.png b/docs/assets/images/generate_report_page.png
new file mode 100644
index 0000000..a9ed256
Binary files /dev/null and b/docs/assets/images/generate_report_page.png differ
diff --git a/docs/assets/images/generate_report_progress.png b/docs/assets/images/generate_report_progress.png
new file mode 100644
index 0000000..6a161a3
Binary files /dev/null and b/docs/assets/images/generate_report_progress.png differ
diff --git a/docs/assets/images/import_data_loaded_status.png b/docs/assets/images/import_data_loaded_status.png
new file mode 100644
index 0000000..858620c
Binary files /dev/null and b/docs/assets/images/import_data_loaded_status.png differ
diff --git a/docs/assets/images/import_exp_format.png b/docs/assets/images/import_exp_format.png
new file mode 100644
index 0000000..8e9a36a
Binary files /dev/null and b/docs/assets/images/import_exp_format.png differ
diff --git a/docs/assets/images/import_exp_table.png b/docs/assets/images/import_exp_table.png
new file mode 100644
index 0000000..200f19f
Binary files /dev/null and b/docs/assets/images/import_exp_table.png differ
diff --git a/docs/assets/images/import_exp_table_after_format.png b/docs/assets/images/import_exp_table_after_format.png
new file mode 100644
index 0000000..3717537
Binary files /dev/null and b/docs/assets/images/import_exp_table_after_format.png differ
diff --git a/docs/assets/images/import_exp_table_after_regex.png b/docs/assets/images/import_exp_table_after_regex.png
new file mode 100644
index 0000000..02647b8
Binary files /dev/null and b/docs/assets/images/import_exp_table_after_regex.png differ
diff --git a/docs/assets/images/import_exp_table_edit.png b/docs/assets/images/import_exp_table_edit.png
new file mode 100644
index 0000000..776d9b4
Binary files /dev/null and b/docs/assets/images/import_exp_table_edit.png differ
diff --git a/docs/assets/images/import_folder_added.png b/docs/assets/images/import_folder_added.png
new file mode 100644
index 0000000..b3b777d
Binary files /dev/null and b/docs/assets/images/import_folder_added.png differ
diff --git a/docs/assets/images/import_folder_selected.png b/docs/assets/images/import_folder_selected.png
new file mode 100644
index 0000000..2cd2853
Binary files /dev/null and b/docs/assets/images/import_folder_selected.png differ
diff --git a/docs/assets/images/import_load_data.png b/docs/assets/images/import_load_data.png
new file mode 100644
index 0000000..d8b689f
Binary files /dev/null and b/docs/assets/images/import_load_data.png differ
diff --git a/docs/assets/images/import_load_progress.png b/docs/assets/images/import_load_progress.png
new file mode 100644
index 0000000..0a41c7a
Binary files /dev/null and b/docs/assets/images/import_load_progress.png differ
diff --git a/docs/assets/images/import_page_empty.png b/docs/assets/images/import_page_empty.png
new file mode 100644
index 0000000..5c59e3a
Binary files /dev/null and b/docs/assets/images/import_page_empty.png differ
diff --git a/docs/assets/images/import_regex.png b/docs/assets/images/import_regex.png
new file mode 100644
index 0000000..c6cd374
Binary files /dev/null and b/docs/assets/images/import_regex.png differ
diff --git a/docs/assets/images/just-the-docs.png b/docs/assets/images/just-the-docs.png
new file mode 100644
index 0000000..81c3306
Binary files /dev/null and b/docs/assets/images/just-the-docs.png differ
diff --git a/docs/assets/images/module_help_text.png b/docs/assets/images/module_help_text.png
new file mode 100644
index 0000000..7a8f3bd
Binary files /dev/null and b/docs/assets/images/module_help_text.png differ
diff --git a/docs/assets/images/module_right_click_image.png b/docs/assets/images/module_right_click_image.png
new file mode 100644
index 0000000..556457f
Binary files /dev/null and b/docs/assets/images/module_right_click_image.png differ
diff --git a/docs/assets/images/osx_get_path.png b/docs/assets/images/osx_get_path.png
new file mode 100644
index 0000000..e220786
Binary files /dev/null and b/docs/assets/images/osx_get_path.png differ
diff --git a/docs/assets/images/preprocessing_input.png b/docs/assets/images/preprocessing_input.png
new file mode 100644
index 0000000..49ac6e3
Binary files /dev/null and b/docs/assets/images/preprocessing_input.png differ
diff --git a/docs/assets/images/preprocessing_output.png b/docs/assets/images/preprocessing_output.png
new file mode 100644
index 0000000..a70bd6b
Binary files /dev/null and b/docs/assets/images/preprocessing_output.png differ
diff --git a/docs/assets/images/report_html.png b/docs/assets/images/report_html.png
new file mode 100644
index 0000000..896b08d
Binary files /dev/null and b/docs/assets/images/report_html.png differ
diff --git a/docs/assets/images/search.svg b/docs/assets/images/search.svg
new file mode 100644
index 0000000..421ca4d
--- /dev/null
+++ b/docs/assets/images/search.svg
@@ -0,0 +1 @@
+
diff --git a/docs/assets/images/subset_D_1_to_3.png b/docs/assets/images/subset_D_1_to_3.png
new file mode 100644
index 0000000..ba2d079
Binary files /dev/null and b/docs/assets/images/subset_D_1_to_3.png differ
diff --git a/docs/assets/images/subset_apex_offset.png b/docs/assets/images/subset_apex_offset.png
new file mode 100644
index 0000000..551ba12
Binary files /dev/null and b/docs/assets/images/subset_apex_offset.png differ
diff --git a/docs/assets/images/subset_open_menu.png b/docs/assets/images/subset_open_menu.png
new file mode 100644
index 0000000..7f50e43
Binary files /dev/null and b/docs/assets/images/subset_open_menu.png differ
diff --git a/docs/assets/js/just-the-docs.js b/docs/assets/js/just-the-docs.js
new file mode 100644
index 0000000..b3fca27
--- /dev/null
+++ b/docs/assets/js/just-the-docs.js
@@ -0,0 +1,176 @@
+// Event handling
+
+function addEvent(el, type, handler) {
+ if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
+}
+function removeEvent(el, type, handler) {
+ if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
+}
+
+// Show/hide mobile menu
+
+function toggleNav(){
+ const nav = document.querySelector('.js-main-nav');
+ const auxNav = document.querySelector('.js-aux-nav');
+ const navTrigger = document.querySelector('.js-main-nav-trigger');
+ const search = document.querySelector('.js-search');
+
+ addEvent(navTrigger, 'click', function(){
+ var text = navTrigger.innerText;
+ var textToggle = navTrigger.getAttribute('data-text-toggle');
+
+ nav.classList.toggle('nav-open');
+ auxNav.classList.toggle('nav-open');
+ navTrigger.classList.toggle('nav-open');
+ search.classList.toggle('nav-open');
+ navTrigger.innerText = textToggle;
+ navTrigger.setAttribute('data-text-toggle', text);
+ textToggle = text;
+ })
+}
+
+// Site search
+
+function initSearch() {
+ var index = lunr(function () {
+ this.ref('id');
+ this.field('title', { boost: 20 });
+ this.field('content', { boost: 10 });
+ this.field('url');
+ });
+
+ // Get the generated search_data.json file so lunr.js can search it locally.
+
+ sc = document.getElementsByTagName("script");
+ source = '';
+
+ for(idx = 0; idx < sc.length; idx++)
+ {
+ s = sc.item(idx);
+
+ if(s.src && s.src.match(/just-the-docs\.js$/))
+ { source = s.src; }
+ }
+
+ jsPath = source.replace('just-the-docs.js', '');
+
+ jsonPath = jsPath + 'search-data.json';
+
+ var request = new XMLHttpRequest();
+ request.open('GET', jsonPath, true);
+
+ request.onload = function() {
+ if (request.status >= 200 && request.status < 400) {
+ // Success!
+ var data = JSON.parse(request.responseText);
+ var keys = Object.keys(data);
+
+ for(var i in data) {
+ index.add({
+ id: data[i].id,
+ title: data[i].title,
+ content: data[i].content,
+ url: data[i].url
+ });
+ }
+ searchResults(data);
+ } else {
+ // We reached our target server, but it returned an error
+ console.log('Error loading ajax request. Request status:' + request.status);
+ }
+ };
+
+ request.onerror = function() {
+ // There was a connection error of some sort
+ console.log('There was a connection error');
+ };
+
+ request.send();
+
+ function searchResults(dataStore) {
+ var searchInput = document.querySelector('.js-search-input');
+ var searchResults = document.querySelector('.js-search-results');
+ var store = dataStore;
+
+ function hideResults() {
+ searchResults.innerHTML = '';
+ searchResults.classList.remove('active');
+ }
+
+ addEvent(searchInput, 'keyup', function(e){
+ var query = this.value;
+
+ searchResults.innerHTML = '';
+ searchResults.classList.remove('active');
+
+ if (query === '') {
+ hideResults();
+ } else {
+ var results = index.search(query);
+
+ if (results.length > 0) {
+ searchResults.classList.add('active');
+ var resultsList = document.createElement('ul');
+ searchResults.appendChild(resultsList);
+
+ for (var i in results) {
+ var resultsListItem = document.createElement('li');
+ var resultsLink = document.createElement('a');
+ var resultsUrlDesc = document.createElement('span');
+ var resultsUrl = store[results[i].ref].url;
+ var resultsRelUrl = store[results[i].ref].relUrl;
+ var resultsTitle = store[results[i].ref].title;
+
+ resultsLink.setAttribute('href', resultsUrl);
+ resultsLink.innerText = resultsTitle;
+ resultsUrlDesc.innerText = resultsRelUrl;
+
+ resultsList.classList.add('search-results-list');
+ resultsListItem.classList.add('search-results-list-item');
+ resultsLink.classList.add('search-results-link');
+ resultsUrlDesc.classList.add('fs-2','text-grey-dk-000','d-block');
+
+ resultsList.appendChild(resultsListItem);
+ resultsListItem.appendChild(resultsLink);
+ resultsLink.appendChild(resultsUrlDesc);
+ }
+ }
+
+ // When esc key is pressed, hide the results and clear the field
+ if (e.keyCode == 27) {
+ hideResults();
+ searchInput.value = '';
+ }
+ }
+ });
+
+ addEvent(searchInput, 'blur', function(){
+ setTimeout(function(){ hideResults() }, 300);
+ });
+ }
+}
+
+function pageFocus() {
+ var mainContent = document.querySelector('.js-main-content');
+ mainContent.focus();
+}
+
+
+// Document ready
+
+function ready(){
+ toggleNav();
+ pageFocus();
+ if (typeof lunr !== 'undefined') {
+ initSearch();
+ }
+}
+
+// in case the document is already rendered
+if (document.readyState!='loading') ready();
+// modern browsers
+else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
+// IE <= 8
+else document.attachEvent('onreadystatechange', function(){
+ if (document.readyState=='complete') ready();
+});
diff --git a/docs/assets/js/search-data.json b/docs/assets/js/search-data.json
new file mode 100644
index 0000000..49cbc9d
--- /dev/null
+++ b/docs/assets/js/search-data.json
@@ -0,0 +1,12 @@
+---
+---
+{
+ {% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
+ "id": "{{ forloop.index0 }}",
+ "title": "{{ page.title | replace: '&', '&' }}",
+ "content": "{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\', ' ' | normalize_whitespace }}",
+ "url": "{{ page.url | absolute_url }}",
+ "relUrl": "{{ page.url }}"
+ }{% unless forloop.last %},{% endunless %}
+ {% endif %}{% endfor %}
+}
diff --git a/docs/assets/js/vendor/MathJax.js b/docs/assets/js/vendor/MathJax.js
new file mode 100644
index 0000000..5cea240
--- /dev/null
+++ b/docs/assets/js/vendor/MathJax.js
@@ -0,0 +1,53 @@
+(function () {
+ var newMathJax = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js';
+ var oldMathJax = 'cdn.mathjax.org/mathjax/latest/MathJax.js';
+
+ var replaceScript = function (script, src) {
+ //
+ // Make redirected script
+ //
+ var newScript = document.createElement('script');
+ newScript.src = newMathJax + src.replace(/.*?(\?|$)/, '$1');
+ //
+ // Move onload and onerror handlers to new script
+ //
+ newScript.onload = script.onload;
+ newScript.onerror = script.onerror;
+ script.onload = script.onerror = null;
+ //
+ // Move any content (old-style configuration scripts)
+ //
+ while (script.firstChild) newScript.appendChild(script.firstChild);
+ //
+ // Copy script id
+ //
+ if (script.id != null) newScript.id = script.id;
+ //
+ // Replace original script with new one
+ //
+ script.parentNode.replaceChild(newScript, script);
+ //
+ // Issue a console warning
+ //
+ console.warn('WARNING: cdn.mathjax.org has been retired. Check https://www.mathjax.org/cdn-shutting-down/ for migration tips.')
+ }
+
+ if (document.currentScript) {
+ var script = document.currentScript;
+ replaceScript(script, script.src);
+ } else {
+ //
+ // Look for current script by searching for one with the right source
+ //
+ var n = oldMathJax.length;
+ var scripts = document.getElementsByTagName('script');
+ for (var i = 0; i < scripts.length; i++) {
+ var script = scripts[i];
+ var src = (script.src || '').replace(/.*?:\/\//,'');
+ if (src.substr(0, n) === oldMathJax) {
+ replaceScript(script, src);
+ break;
+ }
+ }
+ }
+ })();
\ No newline at end of file
diff --git a/docs/assets/js/vendor/lunr.min.js b/docs/assets/js/vendor/lunr.min.js
new file mode 100644
index 0000000..9960ccd
--- /dev/null
+++ b/docs/assets/js/vendor/lunr.min.js
@@ -0,0 +1,6 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 1.0.0
+ * Copyright (C) 2017 Oliver Nightingale
+ * @license MIT
+ */
+!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="1.0.0",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return void 0===t||null===t?"":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(e){return arguments.length&&null!=e&&void 0!=e?Array.isArray(e)?e.map(function(e){return t.utils.asString(e).toLowerCase()}):e.toString().trim().toLowerCase().split(t.tokenizer.separator):[]},t.tokenizer.separator=/[\s\-]+/,t.tokenizer.load=function(t){var e=this.registeredFunctions[t];if(!e)throw new Error("Cannot load un-registered function: "+t);return e},t.tokenizer.label="default",t.tokenizer.registeredFunctions={"default":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing tokenizer: "+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 0!==o&&""!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e
n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();rp;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n as pathname".
+
+![]({{site.baseurl}}/assets/images/do-ms-osx-path-before.png){: width="60%" .center-image}
+
+![]({{site.baseurl}}/assets/images/do-ms-osx-path-after.png){: width="60%" .center-image}
+
+Paths must be absolute and start from the root of the filesystem. For Windows, this means starting from the disk ("C:\\", "D:\\", etc). For Mac OS/Linux, this means starting from the filesystem root ("/"). Also note that path separators are platform specific ("\\" for Windows, "/" for Mac OS/Linux)
+
+## Adding subfolders
+
+Instead of adding one folder at a time, you can select a parent folder and select either "Add Child Folders" or "Add Recursively".
+
+"Add Child Folders" only adds folders that are directly below the folder in the Folder Path textbox.
+
+"Add Recursively" adds *all* folders below the one specified, no matter how many levels below they are.
+
+## Next Steps
+
+Press the confirm button when you are finished entering in the folder path and optionally adding subfolders. The folder table should now populate with your selected folder(s). Click on a row or multiple rows to select them, and then scroll down to select file(s) and finally to start the import process.
\ No newline at end of file
diff --git a/docs/docs/automation.md b/docs/docs/automation.md
new file mode 100644
index 0000000..6137afa
--- /dev/null
+++ b/docs/docs/automation.md
@@ -0,0 +1,31 @@
+---
+layout: default
+title: Automating Report Generation
+nav_order: 4
+permalink: docs/automation
+---
+
+# Automating Report Generation
+
+Automated report generation is available via. the ```do-ms_cmd.R``` script. To generate a report, simply run:
+
+```
+Rscript do-ms_cmd.R config_file.yaml
+```
+
+### Configuration file
+
+The configuration file is specified in the YAML file format. An annotated example can be [found here](https://github.com/SlavovLab/DO-MS/blob/master/example/config_file.yaml)
+
+All files specified under ```input_files``` _must_ be specified in ```global.R``` as part of the available input file list. If you're using custom modules, or using a different search engine, please update the list in ```global.R``` first.
+
+For the fields ```include_files```, ```exclude_files```, ```pep_thresh```, ```remove_decoy```, and ```remove_contam```, if you don't wish to apply these filters, simply comment out the line in the config file by appending with the ```#``` character.
+
+Experiment short names specified in ```exp_names``` are applied _after_ filtering, i.e., to the list of raw files that survive the user-specified filters. If too few/too many names are listed, the program will assign them or ignore them accordingly. A map of short names to raw files can be outputted as a module.
+
+
+### Command-line arguments
+
+Some, but not all, of the fields in the configuration file can also be specified via. the command line. This is useful for automated pipelines where programatically editing the config file would be problematic. View the available arguments by running ```Rscript do-ms_cmd.R -h```
+
+Adding more options via. the command-line can be done by editing the beginning of the ```do-ms_cmd.R``` script. Or, open a GitHub issue.
\ No newline at end of file
diff --git a/docs/docs/build_your_own.md b/docs/docs/build_your_own.md
new file mode 100644
index 0000000..c489caf
--- /dev/null
+++ b/docs/docs/build_your_own.md
@@ -0,0 +1,185 @@
+---
+layout: default
+title: Building Your Own Modules
+nav_order: 5
+permalink: docs/build-your-own
+---
+
+# Building your own modules
+
+DO-MS is designed to allow easy customization to in-house proteomics workflows through a modular plotting and data display system. Modules are a type of data display, such as plots, tables, and text.
+
+Write your code once in the module format, apply it automatically to different datasets, and get consistent data display through the web interface or generated reports.
+
+**Table of Contents**
+
+* [Tabs](#tabs)
+ * [Tab Organization](#tab-organization)
+ * [Removing Tabs](#removing-tabs)
+* [Modules](#modules)
+ * [Module Organization](#module-organization)
+ * [Removing Modules](#removing-modules)
+* [Module Types](#module-types)
+ * [plot](#plot)
+ * [table](#table)
+ * [datatable](#datatable)
+ * [text](#text)
+* [Module Structure](#module-structure)
+ * [Metadata Fields](#metadata-fields)
+ * [Functions](#functions)
+ * [Additional Options (Web Interface)](#additional-options-web-interface)
+ * [Additional Options (Plot Type)](#additional-options-plot-type)
+ * [Additional Options (Datatable Type)](#additional-options-datatable-type)
+
+-----------
+
+## Tabs
+
+Modules are organized and grouped together through tabs, which are named folders under the ```modules/``` folder.
+
+```bash
+$ ls modules
+005_Summary
+010_Chromatography
+020_Instrument_Performance
+...
+```
+
+### Tab Organization
+
+Tabs are sorted alphabetically, so numerical prefixes to folder names allow for custom ordering of tabs, as done with the base set of tabs. When displaying the tab name in the interface/report, numerical prefixes are removed and the `_` character is replaced with a space.
+
+### Removing Tabs
+
+Deleting the tab folder will remove the tab and all of its child modules. Tabs can be "commented out" by appending the folder name with two underscores, like so: `__090_Hidden_Tab/`.
+
+----------
+
+## Modules
+
+Each module is its own `.R` file inside of a tab. The contents of the module are described below, and annotated, example modules can be found in the `examples/` folder. You can also use the base set of modules as a reference to build your own.
+
+### Module Organization
+
+Modules are displayed alphabetically in both the web interface and report. Numerical prefixes to the module file name allow for custom ordering, in the same system for tabs described above. Unlike tabs, module names are specified inside the file and are not derived from the file name.
+
+### Removing Modules
+
+Deleting a module will remove it. If you want to keep it without displaying it, you can "comment out" similar to tabs, by appending the module file name with two underscores like so: ```__hide_this_module.R```
+
+
+-----------
+
+
+
+## Module Types
+
+Modules can render into a variety of display types. Current options are listed below, but more are upcoming.
+
+### `plot`
+
+Render a plot image. The plot function should return a `ggplot` object or a vanilla R plot object recorded with the `recordPlot()` function.
+
+### `table`
+
+Render a static table. The plot function should return a matrix or datatable
+
+### `datatable`
+
+The same as the `table` type, except in the web interface and HTML report this table is displayed as a `DataTable` which allows searching, reordering, etc. More details on DataTables can be found here [https://datatables.net/reference/index](https://datatables.net/reference/index).
+
+
+### `text`
+
+Render a string. The plot function should return a string. Newlines should be done with two newline characters (`\n\n`) instead of one for proper display.
+
+------------
+
+
+## Module Structure
+
+Each module file specifies a function `init()` that takes in no arguments, and returns a list that provides both metadata about the module and function definitions that give the module its functionality.
+
+### Metadata Fields
+
+##### `type`
+
+Module type, as described above.
+
+##### `box_title`
+
+The name of the module, as displayed on the web interface and report
+
+##### `help_text`
+
+Description of the module, shown in the web interface and documentation tab
+
+##### `source_file`
+
+Description of the file(s) used for this module, displayed in the documentation tab
+
+### Functions
+
+##### `validate_func(data, input)`
+
+Function to validate whether or not the data required for this module is loaded. All implementations use `shiny`'s `validate` function internally.
+
+##### `plotdata_func(data, input)`
+
+Function to generate filtered and modified data to be used for display. Returns data, usually in tabular form. This is the data that will be given to the user when clicking the "Download Data" button in the interface
+
+##### `plot_func(data, input)`
+
+Function to generate a display object (plot, table, text) from the `plotdata` function.
+
+### Additional Options (web interface)
+
+##### `box_width`
+
+Width of the box in bootstrap column units (1-12, where 12 is the full page width).
+
+##### `box_height`
+
+Height of the box in pixels. By default the box height is the height of the plot object, or 400px if the display type is not a plot.
+
+### Additional Options (plot type)
+
+##### `dynamic_width`
+
+Value, in pixels, of the width of each experiment in the plot. For plots such as the vertical histograms used in the base set of DO-MS plots need to scale horizontally with the number of experiments.
+
+##### `dynamic_width_base`
+
+Value, in pixels, of the base width of a plot using the dynamic width. Useful for plots with elements taking up a fixed amount of horizontal space -- e.g., legends.
+
+##### `plot_height`
+
+Height, in pixels, of the plot. Default is 370px. Will also scale the box height, unless it is also user-defined.
+
+##### `report_plot_width`
+
+Width, in inches, of the plot in the generated report. Defaults to a global report plot width, which is by default 5 inches.
+
+##### `report_plot_height`
+
+Height, in inches, of the plot in the generated report. Defaults to a global report plot height, which is by default 5 inches.
+
+
+### Additional Options (datatable type)
+
+##### `datatable_options`
+
+A list of parameters to pass to DataTables. For example:
+
+```R
+datatable_options=list(
+ pageLength=10,
+ dom='lfptp',
+ lengthMenu=c(5, 10, 15, 20, 50)
+)
+```
+
+More details can be found in the R `DT` interface, [https://rstudio.github.io/DT/](https://rstudio.github.io/DT/) and on the DataTables reference page [https://datatables.net/reference/option/](https://datatables.net/reference/option/).
+
+
+
diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md
new file mode 100644
index 0000000..290e93d
--- /dev/null
+++ b/docs/docs/getting_started.md
@@ -0,0 +1,26 @@
+---
+layout: default
+title: Getting Started
+nav_order: 3
+permalink: docs/getting-started
+has_children: true
+---
+
+# Getting Started
+
+DO-MS can be run either from the command-line or as interactive application. Follow the links below to get started using the implementation of your choice. For more details on the data display, read the [DO-MS 2.0 article](https://www.biorxiv.org/content/10.1101/2023.02.02.526809v1).
+
+Before starting DO-MS the first time, the input data type has to be selected. DO-MS can work with both DDA results coming from MaxQuant as well as with DIA results coming from DIA-NN.
+The mode can be set in the config.yaml file. Open the file in R-Studio or your editor of choice.
+![]({{site.baseurl}}/assets/images/do-ms-dia_mode.png){: width="70%" .center-image}
+
+If You wish to analyze MaxQuant DDA results, change the parameter to `max_quant`, otherwise leave it as `dia-nn`. This setting needs to be changed before SO-MS is started or the R environment is initialized. It is also possible to keep both versionas in two separate folders simultanously.
+![]({{site.baseurl}}/assets/images/do-ms-dia_config.png){: width="70%" .center-image}
+
+# Generating DO-MS Reports
+Please read our detailed getting started guides:
+
+* [DIA Preprocessing]({{site.baseurl}}/docs/getting-started-preprocessing)
+* [DIA Reports using the app]({{site.baseurl}}/docs/getting-started-dia-app)
+* [DDA Reports using the app]({{site.baseurl}}/docs/getting-started-application)
+* [DDA Reports using the command line]({{site.baseurl}}/docs/getting-started-application)
\ No newline at end of file
diff --git a/docs/docs/getting_started_app.md b/docs/docs/getting_started_app.md
new file mode 100644
index 0000000..3d6c702
--- /dev/null
+++ b/docs/docs/getting_started_app.md
@@ -0,0 +1,168 @@
+---
+layout: default
+title: DDA Reports in the App
+nav_order: 3
+permalink: docs/getting-started-dda-app
+parent: Getting Started
+---
+
+# Getting Started -- DDA Reports in the App
+
+DO-MS is an application to visualize mass-spec data both in an interactive application and static reports generated via. the command-line. In this document we'll walk you through analyzing an example dataset in the interactive application.
+
+**Table of Contents**
+
+1. [Example Data](#example-data)
+2. [Installation](#installation)
+3. [Data Import](#data-import)
+ 1. [Adding Folders](#adding-folders)
+ 2. [Renaming Experiments](#renaming-experiments)
+4. [Subsetting Experiments](#subsetting-experiments)
+5. [Interacting with Modules](#interacting-with-modules)
+6. [Generate Report](#generate-report)
+
+
+
+## Example Data
+
+We have provided an example data set online, SQC68, which was used for the Apex Offset figure in the DO-MS paper. You can download a .zip bundle of it here: [https://drive.google.com/open?id=1hcWDtnD9MzTZbF-qc0rGEFUBZgtlEQTv](https://drive.google.com/open?id=1hcWDtnD9MzTZbF-qc0rGEFUBZgtlEQTv). The contents of the archive are some of the outputs of the `txt` folder from a MaxQuant search.
+
+The only constraint for data in DO-MS is that it must be from MaxQuant version >= 1.6.0.16.
+
+## Installation
+
+Please make sure that you installed DO-MS as descibed in the [installation]({{site.baseurl}}/docs/installation) section.
+Note that DO-MS has to be configured for MaxQuant data. [Find out More]({{site.baseurl}}/docs/getting-started)
+
+## Data Import
+
+![]({{site.baseurl}}/assets/images/import_page_empty.png){: width="90%" .center-image}
+
+### Adding Folders
+
+DO-MS is designed to load _folders_ of analyses rather than individual files. To allow quick access to your analyses, as well as to allow analyzing multiple searches simultaneously, DO-MS provides a searchable "folder table" for all of your analyses. To begin, we must first add some MaxQuant searches to the table.
+
+Start by clicking the "Add Folder" button at the top of the table
+
+![]({{site.baseurl}}/assets/images/do-ms-add-folder-btn.png){: width="70%" .center-image}
+
+Then add the path of your folder into the textbox, as shown:
+
+![]({{site.baseurl}}/assets/images/do-ms-enter-path.png){: width="70%" .center-image}
+
+A folder path is the folder's absolute location on your machine. On Windows, you can get the folder path by navigating to it in Explorer, clicking on the top file path bar, and copying the resulting text with Ctrl+C.
+
+![]({{site.baseurl}}/assets/images/do-ms-windows-path-before.png){: width="70%" .center-image}
+
+![]({{site.baseurl}}/assets/images/do-ms-windows-path-after.png){: width="70%" .center-image}
+
+On Mac/OSX, you can get the folder path by right clicking on the folder at the bottom of the Finder application and hitting "Copy = 1.6.0.16.
+
+
+## do-ms_cmd.R
+
+The entry point for the command-line report generation is `do-ms_cmd.R`. To begin run this directly as an executable or with the Rscript program.
+
+Windows:
+
+```bash
+Rscript.exe do-ms_cmd.R
+```
+
+Linux/Mac OS:
+
+```bash
+$ Rscript do-ms_cmd.R
+```
+
+If you are having trouble getting Rscript to run, please see [the Rscript section on the Known Issues Wiki page]({{site.baseurl}}/docs/known-issues#r-rscript-issues) for more details.
+
+Running `do-ms_cmd.R` alone should give the following usage help text:
+
+```
+usage: do-ms_cmd.R [-h] [-v] [-i INPUT_FOLDERS [INPUT_FOLDERS ...]]
+ [-o OUTPUT] [-f LOAD_INPUT_FILES [LOAD_INPUT_FILES ...]]
+ [--include-files INCLUDE_FILES]
+ [--exclude-files EXCLUDE_FILES]
+ [--exp_names EXP_NAMES [EXP_NAMES ...]]
+ [--pep_thresh PEP_THRESH]
+ config_file
+do-ms_cmd.R: error: the following arguments are required: config_file
+```
+
+## Configuration File
+
+The command-line DO-MS uses a configuration file to apply all of the various settings used for the report generation. Many but not all of these settings are analogous to the fields in the interactive application. An annotated configuration file describing each of the fields is given [in the examples folder as config_file.yaml](https://github.com/SlavovLab/DO-MS/blob/master/example/config_file.yaml).
+
+For the example data, we also provide a config file, [config_sqc68.yaml](https://github.com/SlavovLab/DO-MS/blob/master/example/config_sqc68.yaml). You may need to change the paths for both the input folder and output file, but the rest of the settings can be kept as-is.
+
+Run DO-MS with the example configuration file with:
+
+```
+$ Rscript do-ms_cmd.R example/config_sqc68.yaml
+...
+Output created: ~/Downloads/SQC68_DO-MS_report.html
+[1] "Report written to: ~/Downloads/SQC68_DO-MS_report.html"
+[1] "Done!"
+```
+
+An example generated report using this configuration file is available online here: [https://drive.google.com/open?id=1SKB639JXFIk-rOAMA1vBXaxyheQv9-bu](https://drive.google.com/open?id=1SKB639JXFIk-rOAMA1vBXaxyheQv9-bu)
+
+## Command-line Arguments
+
+As displayed in the usage text, many settings can be passed to `do-ms_cmd.R` via. the command-line rather than via. the configuration file. This is useful for workflows that want to change inputs/outputs but are incapable/unwilling to create a new configuration file for each run. Command-line arguments will also override any setting in the configuration file.
+
+```
+$ Rscript do-ms_cmd.R example/config_sqc68.yaml -i ~/Downloads/example_data_SQC68 -o ~/Downloads/SQC68_DO-MS_report.html --include-files SQC68D[1-3] --exp_names "250ms IT" "500ms IT" "1000ms IT"
+...
+Output created: ~/Downloads/SQC68_DO-MS_report.html
+[1] "Report written to: ~/Downloads/SQC68_DO-MS_report.html"
+[1] "Done!"
+```
diff --git a/docs/docs/getting_started_dia_app.md b/docs/docs/getting_started_dia_app.md
new file mode 100644
index 0000000..91d8b8e
--- /dev/null
+++ b/docs/docs/getting_started_dia_app.md
@@ -0,0 +1,100 @@
+---
+layout: default
+title: DIA Reports in the App
+nav_order: 2
+permalink: docs/getting-started-dia-app
+parent: Getting Started
+---
+
+# Getting Started -- DIA Reports in the App
+
+DO-MS is an application to visualize mass-spec data both in an interactive application and static reports generated via. the command-line. In this document we'll walk you through analyzing an example dataset in the interactive application.
+
+**Table of Contents**
+
+1. [Example Data](#example-data)
+2. [Installation](#installation)
+3. [Data Import](#data-import)
+ 1. [Adding Folders](#adding-folders)
+ 2. [Renaming Experiments](#renaming-experiments)
+4. [Interacting with Modules](#interacting-with-modules)
+5. [Generate Report](#generate-report)
+
+
+
+## Example Data
+
+We have provided an example data set online, which contains parts of the MS2 number optimization in the paper. This data can also be obtained by follwoing the guide on the preprocessing or can be downloaded as a zip file here: [https://drive.google.com/file/d/1BzWVKghIThtgYItgGy9vt6M214mHB74q/view?usp=share_link](https://drive.google.com/file/d/1BzWVKghIThtgYItgGy9vt6M214mHB74q/view?usp=share_link).
+
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-example.png){: width="70%" .center-image}
+
+## Installation
+
+Please make sure that you installed DO-MS as descibed in the [installation]({{site.baseurl}}/docs/installation) section.
+
+
+## Data Import
+Make sure DO-MS has been configured for DIA-NN data. [Find out More]({{site.baseurl}}/docs/getting-started)
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-overview.png){: width="90%" .center-image}
+
+### Adding Folders
+
+DO-MS is designed to load _folders_ of analyses rather than individual files. To allow quick access to your analyses, as well as to allow analyzing multiple searches simultaneously, DO-MS provides a searchable "folder table" for all of your analyses. We will start loading the folder with the example output.
+
+Start by clicking the "Add Folder" button at the top of the table
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-import.png){: width="70%" .center-image}
+
+Then add the path of your folder into the textbox, as shown:
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-foldername.png){: width="70%" .center-image}
+
+A folder path is the folder's absolute location on your machine. On Windows, you can get the folder path by navigating to it in Explorer, clicking on the top file path bar, and copying the resulting text with Ctrl+C. On Mac/OSX, you can get the folder path by right clicking on the folder while presing the 'option' key.
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-pathname.png){: width="70%" .center-image}
+
+Note that in the example above we checked "Add Single Folder" to add just the folder path we pasted in. If for example, you have a folder that contains many MaxQuant searches, you can select "Add Child Folders" to add all subfolders of the path specified, or "Add Recursively" to add _all_ folders that are below the path specified.
+
+Click "Confirm" and now you should see your folder added to the folder table. When you have multiple folders loaded into the table you can select more than one.
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-load.png){: width="70%" .center-image}
+
+Finally, load the files from the selected folders by scrolling down and clicking on the big "Load Data" button
+
+### Renaming Experiments
+
+An important aspect of data visualization is easy-to-read labels for your experiments. DO-MS provides an accessible interface for renaming your raw file names so that generated figures will be easier to interpret.
+
+Once your data is loaded, scroll down to the "Renaming Experiments" section. Here you will find a table of your loaded raw files and their associated "labels" that will be used when plotting. Double click a label and type enter the new labe:
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-rename.png){: width="100%" .center-image}
+
+Please rename all experiments as following:
+
+```
+wGW027 => 4 MS2
+wGW028 => 8 MS2
+wGW029 => 10 MS2
+```
+
+## Interacting with Modules
+
+Each module has a short description that can be accessed by hovering over the question mark icon next to the module title.
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-info.png){: width="70%" .center-image}
+
+You can also download the module plot as a PNG or PDF, by clicking on the download buttons below each module plot. You can also download the underlying data used for the plot by clicking on the "Download Data" button. This tab-delimited file can be imported into many other visualization packages.
+
+## Generate Report
+
+Click on "Generate Report" in the sidebar to access the report generation page.
+
+![]({{site.baseurl}}/assets/images/do-ms-dia-generate-report.png){: width="70%" .center-image}
+
+Here you will find some options to customize your report. While we support PDF reports and PDF images, we strongly recommend that you generate your reports in HTML format with PNG image plots. Other configurations may result in graphical glitches or unwanted behavior. In addition we recommend that you check your `pandoc` installation ([more details here]({{site.baseurl}}/docs/known-issues#pandoc-not-found)) as any issues will prevent the report generation.
+
+Click the "Download Report" button to begin generating the report. This takes a while as all plots have to be remade. A progress bar at the bottom of the page informs you of the progress.
+
+All images in the report are embedded in the markup, so feel free to share this single file to your colleagues/collaborators and don't worry about having to include anything else.
\ No newline at end of file
diff --git a/docs/docs/getting_started_preprocessing.md b/docs/docs/getting_started_preprocessing.md
new file mode 100644
index 0000000..1e9b6bf
--- /dev/null
+++ b/docs/docs/getting_started_preprocessing.md
@@ -0,0 +1,130 @@
+---
+layout: default
+title: DIA Preprocesing
+nav_order: 1
+permalink: docs/getting-started-preprocessing
+parent: Getting Started
+---
+
+# Getting Started -- DIA Preprocesing
+
+DO-MS is an application to visualize mass-spec data both in an interactive application and static reports generated via. the command-line. In this document we'll walk you through analyzing an example dataset in the interactive application.
+
+**Table of Contents**
+
+1. [Example Data](#example-data)
+2. [Installation](#installation)
+3. [Processing Raw Data](#processing-raw-data)
+4. [Command Line Interface](#command-line-interface)
+
+## Example Data
+We have provided an example data set online, which contains parts of the MS2 number optimization in the paper. You can download a .zip bundle of it here: [https://drive.google.com/file/d/1bjFzKqTFLk7ECUJOTy8LNxsCOD0Xf96Q/view?usp=share_link](https://drive.google.com/file/d/1bjFzKqTFLk7ECUJOTy8LNxsCOD0Xf96Q/view?usp=share_link). The contents of the archive are the main dia-nn report and the corresponding raw files.
+
+Your folder should look like this:
+![]({{site.baseurl}}/assets/images/preprocessing_input.png){: width="70%" .center-image}
+
+## Installation
+Please make sure that you installed DO-MS as descibed in the [installation]({{site.baseurl}}/docs/installation) section. For using the preprocessing pipeline it is necessary to install the ThermoRawFileParser and the Dinosaur feature detection.
+
+## Processing Raw Data
+Open a terminal and enter the base folder of your DO-MS installation.
+Make sure that your DO-MS environment is set up and activate it.
+```
+conda activate doms
+```
+
+For processing, the piplline module located at `pipeline/processing.py` will be called with the following parameters.
+
+```bash
+python pipeline/processing.py /location/to/example/report_filtered.tsv
+```
+
+the following additional options will be included:
+```bash
+# Activate Mono if using Mac or Linux. Mono is required to run the Thermo Raw File Parser on Linux and OSX.
+-m
+# location of the ThermoRawFileParser executeable
+--raw-parser-location /location/to/ThermoRawFileParser1.4.2/ThermoRawFileParser.exe
+# location of the Dinosaur .jar file
+--dinosaur-location /Users/georgwallmann/Library/CloudStorage/OneDrive-Personal/Studium/Northeastern/DO-MS-DIA/Dinosaur-1.2.0.free.jar
+# location of the example raw data
+-r /location/to/example
+```
+
+The full command needs to be a single line and will look like:
+```bash
+python pipeline/processing.py /location/to/example/report_filtered.tsv -m --raw-parser-location /location/to/ThermoRawFileParser1.4.2/ThermoRawFileParser.exe --dinosaur-location /Users/georgwallmann/Library/CloudStorage/OneDrive-Personal/Studium/Northeastern/DO-MS-DIA/Dinosaur-1.2.0.free.jar -r /location/to/example
+```
+
+After processing, the additional files should be part of your folder:
+![]({{site.baseurl}}/assets/images/preprocessing_output.png){: width="70%" .center-image}
+
+Temporary .mzML files can be deleted.
+
+## Command Line Interface
+The documentation for the various command line options can be found by typing `python pipeline/processing.py -h`
+
+```bash
+usage: processing.py [-h] --raw-parser-location RAW_PARSER_LOCATION
+ [--dinosaur-location DINOSAUR_LOCATION] [-m] [-d] [-v]
+ [-t TEMPORARY_FOLDER] [-r RAW_FILE_LOCATION]
+ [--no-feature-detection] [--no-fill-times] [--no-tic]
+ [--no-sn] [--no-mzml-generation]
+ [--mz-bin-size MZ_BIN_SIZE] [--rt-bin-size RT_BIN_SIZE]
+ [--resolution RESOLUTION] [-p PROCESSES] [--isotopes-sn]
+ report
+
+Command line tool for feature detection in shotgun MS experiments. Can be used
+together with DIA-NN to provide additional information on the peptide like
+features identified in the MS1 spectra.
+
+positional arguments:
+ report Location of the report.tsv output from DIA-NN which
+ should be used for analysis.
+
+options:
+ -h, --help show this help message and exit
+ --raw-parser-location RAW_PARSER_LOCATION
+ Path pointing to the ThermoRawFileParser executeable.
+ --dinosaur-location DINOSAUR_LOCATION
+ Path pointing to the dinosaur jar executeable.
+ -m, --mono Use mono for ThermoRawFileParser under Linux and OSX.
+ -d, --delete Delete generated mzML and copied raw files after
+ successfull feature generation.
+ -v, --verbose Show verbose output.
+ -t TEMPORARY_FOLDER, --temporary-folder TEMPORARY_FOLDER
+ Input Raw files will be temporarilly copied to this
+ folder. Required for use with Google drive.
+ -r RAW_FILE_LOCATION, --raw-file-location RAW_FILE_LOCATION
+ By default, raw files are loaded based on the
+ File.Name column in the report.tsv. With this option,
+ a different folder can be specified.
+ --no-feature-detection
+ All steps are performed as usual but Dinosaur feature
+ detection is skipped. No features.tsv file will be
+ generated.
+ --no-fill-times All steps are performed as usual but fill times are
+ not extracted. No fill_times.tsv file will be
+ generated.
+ --no-tic All steps are performed as usual but binned TIC is not
+ extracted. No tic.tsv file will be generated.
+ --no-sn Signal to Noise ratio is not estimated for precursors
+ --no-mzml-generation Raw files are not converted to .mzML. Nevertheless,
+ mzML files are expected in their theoretical output
+ location and loaded. Should be only be carefully used
+ for repeated calulcations or debugging
+ --mz-bin-size MZ_BIN_SIZE
+ Bin size over the mz dimension for TIC binning.
+ --rt-bin-size RT_BIN_SIZE
+ Bin size over the RT dimension for TIC binning in
+ minutes. If a bin size of 0 is provided, binning will
+ not be applied and TIC is given per scan.
+ --resolution RESOLUTION
+ Set the resolution used for estimating counts from S/N
+ data
+ -p PROCESSES, --processes PROCESSES
+ Number of Processes
+ --isotopes-sn Use all isototopes from the same scan as the highest
+ intensity datapoint for estimating the SN and copy
+ number.
+```
\ No newline at end of file
diff --git a/docs/docs/hosting_as_server.md b/docs/docs/hosting_as_server.md
new file mode 100644
index 0000000..f35eee1
--- /dev/null
+++ b/docs/docs/hosting_as_server.md
@@ -0,0 +1,20 @@
+---
+layout: default
+title: Hosting as a Server
+nav_order: 8
+permalink: docs/hosting-as-server
+---
+
+# Hosting as a Server
+
+This application requires a large amount of computational power (CPU), on-hand memory (RAM), and possibly the storage of large amounts of mass-spec data (Storage), so make sure your server has enough resources. We recommend using a desktop computer as a server, as opposed to hosting on a cloud server.
+
+### Internal (Organizational) Usage
+
+If you wish to host a server for internal usage, i.e., within an organizational intranet, you can change the host IP to "0.0.0.0" instead of "127.0.0.1", which exposes the server outside of the machine itself.
+
+### Public Access
+
+It is not recommended to upload this application to the [shinyapps.io](http://www.shinyapps.io/) host as this program requires a lot of bandwidth and it may quickly overrun the quotas of the free account.
+
+This server can instead be run locally on a powerful desktop machine, and then made available publicly using a reverse-proxy, such as [ngrok](https://ngrok.com/) or [frp](https://github.com/fatedier/frp). This solution requires a web server to set up the forwarding.
\ No newline at end of file
diff --git a/docs/docs/installation.md b/docs/docs/installation.md
new file mode 100644
index 0000000..6e5c877
--- /dev/null
+++ b/docs/docs/installation.md
@@ -0,0 +1,122 @@
+---
+layout: default
+title: Installation
+nav_order: 2
+permalink: docs/installation
+---
+
+**Table of Contents**
+
+1. [Interactive DO-MS App](#interactive-do-ms-app)
+ 1. [Installation](#installation)
+ 2. [Running](#running)
+2. [DIA Python Pipeline](#dia-python-pipeline)
+ 1. [Installation](#installation)
+ 2. [Running](#running)
+ 3. [Setup Custom Script ](#setup-custom-script)
+ 1. [Windows](#windows)
+ 2. [MacOS](#macos)
+
+# Interactive DO-MS App
+
+## Installation
+
+This application has been tested on R >= 3.5.0, OSX >= 10.14 / Windows 7/8/10/11. Make sure you have the mos recent version of R and R Studio installed. R can be downloaded from the main [R Project page](https://www.r-project.org/) or downloaded with the [RStudio Application](https://www.rstudio.com/products/rstudio/download/). All modules are maintained for MaxQuant >= 1.6.0.16.
+
+The application suffers from visual glitches when displayed on unsupported older browsers (such as IE9 commonly packaged with RStudio on Windows). Please use IE >= 11, Firefox, or Chrome for the best user experience.
+
+## Running
+
+The easiest way to run the app is directly through RStudio, by opening the `DO-MS.Rproj` Rproject file
+
+![]({{site.baseurl}}/assets/images/do-ms-proj.png){: width="70%" .center-image}
+
+and clicking the "Run App" button at the top of the application, after opening the `server.R` file. We recommend checking the "Run External" option to open the application in your default browser instead of the RStudio Viewer.
+
+![]({{site.baseurl}}/assets/images/do-ms-run.png){: width="70%" .center-image}
+
+You can also start the application by running the `start_server.R` script.
+
+More information on using the DO-MS application is provided [here]({{site.baseurl}}/docs/getting-started-application).
+
+# DIA Python Pipeline
+
+## Installation
+
+1. Please make sure that [Conda](https://docs.conda.io/en/latest/) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html) are installed.
+Use the provided conda configuration to create the environment with all required dependencies.
+```
+conda env create -f pipeline/env.yml
+```
+
+2. Activate the environment and check that the command can be run.
+```
+conda activate doms
+python pipeline/processing.py -h
+```
+
+3. For automatic conversion of Thermo Raw files to the open mzML format ThermoRawFileParser (Hulstaert et al. 2020) is required. Download the latest release of the [ThermoRawFileParser](https://github.com/compomics/ThermoRawFileParser) (version v1.4.0 or newer) and write down the location of the ```ThermoRawFileParser.exe``` file. Under OSX and Linux, [Mono](https://www.mono-project.com/download/stable/). Please make sure to use the option ```-m``` with the feature detection which will tell the script to use Mono.
+
+4. For feature detection Dinosaur (Teleman et al. 2016) is used. Download the latest release of the Dinosaur from [GitHub](https://github.com/fickludd/dinosaur) and install Java as recommended on your platform. Please write down the location of the ```Dinosaur-xx.jar``` file.
+
+5. Optional, create a custom script for your system.
+
+## Running
+
+```python pipeline/processing.py -h```
+
+More information on using the python pipeline is provided [here]({{site.baseurl}}/docs/getting-started-preprocessing).
+
+## Custom Script for Preprocessing
+
+Using the feature detection requires the correct conda environment, ThermoRawFileParser and Dinosaur location. If the tool is used frequently its more convenient to combine the configuration in a script which is added to the system ```PATH```. This will register a local command which can be used everywhere on the system and allows to set default options.
+
+### Windows
+
+1. Create a local folder for example under ```C:\Users\xxx\Documents\bin```.
+
+2. Create a file named ```processing.bat``` with the following content. Make sure that all three file paths are changed to the corresponding locations on your system.
+Further default options can be added to this file if needed. An overview of all command line options can be found [here]({{site.baseurl}}/docs/getting-started-preprocessing).
+
+```
+@echo off
+conda activate doms & ^
+python C:\Users\xxx\pipeline\processing.py %* ^
+--dinosaur-location "C:\Users\xxx\dinosaur-1.2\Dinosaur-1.2.0.free.jar" ^
+--raw-parser-location "C:\Users\xxx\thermo_raw_file_parser_1.3.4\ThermoRawFileParser.exe"
+```
+
+3. Search ```environment variables``` in the windows search and click ```Edit the system environment variables```.
+
+4. Click ```Environment Variables``` in the bottom right.
+
+5. Select the variable ```Path``` in the upper panel saying ```User variables ...``` and click ```Edit```.
+
+6. Click ```New``` and enter the location of the directory containing the ```processing.bat``` script.
+
+7. Now, the feature processing including the external tools can be called from anywhere on the machine with the ```processing``` command.
+
+
+### MacOS
+
+1. Create a local folder for example ```/Users/xxx/Documents/bin```.
+
+2. Create a file named ```processing``` with the following content. Make sure that all three file paths are changed to the corresponding locations on your system.
+```
+#!/bin/bash
+eval "$(conda shell.bash hook)"
+conda activate doms
+python /Users/xxx/pipeline/processing.py "$@" \
+-m \
+--dinosaur-location "/Users/xxx/Dinosaur/Dinosaur-1.2.0.free.jar" \
+--raw-parser-location "/Users/xxx/ThermoRawFileParser/ThermoRawFileParser.exe"
+```
+The first line makes conda available to the script ([known issue](https://github.com/conda/conda/issues/7980)). Please note how the mono option ```-m``` is used by default. Further default options can be added to this file if needed. An overview of all command line options can be found [here]({{site.baseurl}}/docs/getting-started-preprocessing).
+
+3. make the file executable with the following command ```chmod +x processing```.
+
+4. Navigate to the location of your bash profile file in your home directory. This will be ```/Users/{username}/.zshrc``` for zsh and ```/Users/{username}/.bash_profile``` for bash on macOS and ```/home/xxx/.bashrc``` for bash on linux. Open the file in a text editor of choice, for example vim ```vim .bash_profile```. Go into edit mode by pressing ```i```.
+
+5. Add the line ```export PATH="/Users/xxx/Documents/bin:$PATH"``` to the end of the file and save the file by pressing ```ESSC```, ```:wq```, ```Enter```.
+
+6. Restart your terminal.
diff --git a/docs/docs/known_issues.md b/docs/docs/known_issues.md
new file mode 100644
index 0000000..dd11545
--- /dev/null
+++ b/docs/docs/known_issues.md
@@ -0,0 +1,33 @@
+---
+layout: default
+title: Known Issues
+nav_order: 10
+permalink: docs/known-issues
+---
+
+# Known Issues
+
+Please refer to this document for any issues you encounter during install or usage. If what you have is not listed here, then use the [GitHub issue system](https://github.com/SlavovLab/DO-MS/issues) to contact the developers.
+
+## R, Rscript issues
+
+If running the server with the `start_server` scripts, then you may run into the following issues:
+
+- For OSX/Linux, `Rscript` must be available on the path, and for Windows, you will need to edit the `start_server.bat` script to point to the specific `Rscript.exe` executable.
+
+- If you are having trouble loading `shiny`, please confirm that you have installed the package in the "Installation" step. If so, then you may need to define a new environment variable, `R_LIBS_USER`, that points to the library path of your R installation. See [this StackOverflow answer](https://stackoverflow.com/a/19662905) for more details on this issue.
+
+## Rendering/Display issues
+
+Some users have reported issues with the package opening within RStudio's viewer pane, rather than within a separate browser window. Please make sure that you have the appropriate option checked in the dropdown menu of the 'Run App' button, if using RStudio.
+
+
+## pandoc not found
+
+This app uses `rmarkdown` which in turn uses `pandoc` to generate HTML/PDF reports. If you are launching this app from RStudio, then `pandoc` should be provided and should work out of the box.
+
+If not, then `pandoc` needs to be available either via an environment variable `RSTUDIO_PANDOC` or the system `PATH`. The application command line start script will attempt to find `pandoc` from some common paths, but will print a warning if it can't be found. It is then up to the user to link the binaries, and if RStudio is not installed, to install `pandoc` themselves.
+
+Instructions on how to make `pandoc` available from an existing RStudio installation can be [found here](https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md).
+
+`pandoc` can also be installed from [its project page](http://pandoc.org/installing.html)
\ No newline at end of file
diff --git a/docs/docs/other_search_engines.md b/docs/docs/other_search_engines.md
new file mode 100644
index 0000000..bac21ca
--- /dev/null
+++ b/docs/docs/other_search_engines.md
@@ -0,0 +1,75 @@
+---
+layout: default
+title: Adding Search Engines
+nav_order: 7
+permalink: docs/other-search-engines
+---
+
+# Integrating Other Search Engines
+
+This app was designed for and tested for MaxQuant >= 1.6.0.16. Much of the code is designed around the specific outputs from MaxQuant, such as the column names of the text output files, and the names of the files themselves (`evidence.txt`, `allPeptides.txt`, etc). In addition, the modules for this app are designed to take advantage of the features of MaxQuant outputs, such as the full-width at half-maximum of elution peaks outputted when selecting the "Calculate peak properties" option.
+
+## Backwards Compatibility
+
+We are aware that older versions of MaxQuant have different column headers for some of the outputs. We provide an editable list of column "aliases" (in `settings.yaml`) where users can map their column names to the ones used in DO-MS. For example, DO-MS references the raw file column with `Raw.file`. If your data has `Rawfile` instead, this can be mapped:
+
+```yaml
+aliases:
+ 'Raw.file':
+ - Rawfile
+```
+
+**If you come across any discrepancies, please let the authors know by opening a GitHub issue.** We want this software to be as smooth as possible, and would like to build in backwards-compatibility into the app.
+
+## Other search engines
+
+Adapting the core module technology of this application to the output of other search engines can conceptually be carried out in two ways:
+
+### Option 1: Convert output into MaxQuant-like files
+
+If you like the current modules and would like to keep their current display and features, the quickest strategy is to convert your search engine's output into tab-delimited text that shares the same structure (i.e., column names) as MaxQuant's output. This can be done via. our column aliasing system as mentioned above, with a third-party converter, or your own.
+
+Our application mainly uses six tab-delimited files from MaxQuant (for non-DIA searches):
+
+1. `allPeptides`, which describes ions on the MS1 level
+2. `msmsScans`, which describes MS2 scans
+3. `msms`, which describes PSMs
+4. `evidence`, which describes peptide-level data (combined PSMs)
+5. `parameters`, which describes MaxQuant search parameters
+6. `summary`, which summarizes search results per experiment
+
+These files are defined in `settings.yaml`:
+
+```yaml
+input_files:
+ evidence:
+ name: 'evidence'
+ file: 'evidence.txt'
+ help: 'MaxQuant evidence.txt file'
+ default_enabled: true
+ msms:
+ name: 'msms'
+ file: 'msms.txt'
+ help: 'MaxQuant msms.txt file'
+ default_enabled: true
+...
+```
+
+The base set of DO-MS modules reference MaxQuant files. As other search engines/pipelines have analogous files these definitions could be changed to accommodate that. Note that the column names also have to be taken into account.
+
+### Option 2: Rewrite Modules
+
+Very little of the static, server code is dependent on the MaxQuant names. The core dependencies are:
+
+1. In `server.R`, much of the design around selecting, filtering on, and renaming raw files are hard-coded to recognize the "Raw.file" column of MaxQuant output. Simply ensure that your search engine output is outputting the raw file name in each file (most should), and then change the specific "Raw.file" reference in the server code.
+2. In `global.R`, the four files as described in Option 1 above are hardcoded into a list that is then displayed on the import page and available to all of the modules. Simply change the definitions here to the files you want to load from your search engine. There is no limit here, and the only restriction is, as described in point 1, the presence of a raw file column in the text file.
+
+All of the modules provided in the application here reference column names from MaxQuant output files and expect data in the form provided by MaxQuant. For other search engines, the column references may need to just be renamed, but for others they may need a major overhaul.
+
+### Option 3: Write Your Own (recommended)
+
+If the base set of DO-MS modules is not useful to your analysis anyways (metabolomics, direct infusion, or other MS-related experiments), then you can simply write your own modules around your own data. See the [building your own modules]({{site.baseurl}}/docs/build-your-own) page for more details.
+
+## Help!
+
+For assistance on performing the above points, please open an issue on our [GitHub issues page](https://github.com/SlavovLab/DO-MS/issues) to directly contact the developers.
diff --git a/docs/docs/session_info.md b/docs/docs/session_info.md
new file mode 100644
index 0000000..e01b150
--- /dev/null
+++ b/docs/docs/session_info.md
@@ -0,0 +1,56 @@
+---
+layout: default
+title: Session Info
+nav_order: 9
+permalink: docs/session-info
+---
+
+# Session Info
+
+DO-MS is tested on Windows (7/8/10/11), OSX (12.5.1), and Linux (Ubuntu 14.04). Development sessions and package versions are listed below:
+
+```
+R version 4.2.2 (2022-10-31)
+Running under: macOS Monterey 12.5.1
+
+Matrix products: default
+LAPACK: /opt/homebrew/Cellar/r/4.2.2/lib/R/lib/libRlapack.dylib
+
+locale:
+[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+
+attached base packages:
+[1] stats graphics grDevices utils datasets methods base
+
+other attached packages:
+ [1] htmltools_0.5.3 viridis_0.6.2 MASS_7.3-58.1
+ [4] ggpubr_0.5.0 viridisLite_0.4.1 yaml_2.3.5
+ [7] stringr_1.4.1 DT_0.24 rmarkdown_2.16
+[10] readr_2.1.2 reshape2_1.4.4 tibble_3.1.8
+[13] knitr_1.40 lattice_0.20-45 ggplot2_3.4.0
+[16] tidyr_1.2.0 dplyr_1.0.10 shinydashboard_0.7.2
+[19] shinyWidgets_0.7.3 pacman_0.5.1 shiny_1.7.2
+
+loaded via a namespace (and not attached):
+ [1] sass_0.4.2 bit64_4.0.5 vroom_1.5.7
+ [4] jsonlite_1.8.0 carData_3.0-5 bslib_0.4.0
+ [7] pillar_1.8.1 backports_1.4.1 glue_1.6.2
+[10] digest_0.6.29 promises_1.2.0.1 ggsignif_0.6.3
+[13] colorspace_2.0-3 httpuv_1.6.5 plyr_1.8.7
+[16] pkgconfig_2.0.3 broom_1.0.1 purrr_0.3.4
+[19] xtable_1.8-4 scales_1.2.1 fontawesome_0.3.0
+[22] later_1.3.0 tzdb_0.3.0 farver_2.1.1
+[25] generics_0.1.3 car_3.1-1 ellipsis_0.3.2
+[28] cachem_1.0.6 withr_2.5.0 cli_3.5.0
+[31] magrittr_2.0.3 crayon_1.5.1 mime_0.12
+[34] memoise_2.0.1 evaluate_0.16 fansi_1.0.3
+[37] rstatix_0.7.2 tools_4.2.2 hms_1.1.2
+[40] lifecycle_1.0.3 munsell_0.5.0 compiler_4.2.2
+[43] jquerylib_0.1.4 rlang_1.0.6 grid_4.2.2
+[46] htmlwidgets_1.5.4 crosstalk_1.2.0 labeling_0.4.2
+[49] gtable_0.3.1 abind_1.4-5 R6_2.5.1
+[52] gridExtra_2.3 fastmap_1.1.0 bit_4.0.4
+[55] utf8_1.2.2 stringi_1.7.8 parallel_4.2.2
+[58] Rcpp_1.0.9 vctrs_0.5.1 tidyselect_1.2.0
+[61] xfun_0.32
+```
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..8d498c0
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,105 @@
+---
+layout: default
+title: Home
+nav_order: 1
+description: "DO-MS: Modular and extensible visualization of mass-spec data"
+permalink: /
+---
+
+# **DO-MS**
+{: .fs-9 }
+
+Data-Driven Optimization of Mass Spectrometry Methods
+{: .fs-6 .fw-300}
+
+![Python Package](https://github.com/SlavovLab/DO-MS-DIA/actions/workflows/python-package.yml/badge.svg)
+![GitHub release](https://img.shields.io/github/release/SlavovLab/DO-MS.svg)
+![GitHub](https://img.shields.io/github/license/SlavovLab/DO-MS.svg)
+
+[Get started now](#getting-started){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [Download](https://github.com/SlavovLab/DO-MS/releases/latest){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [JPR Articles](#research-articles){: .btn .fs-5 .mb-4 .mb-md-0 .mr-2 } [GitHub Repository](https://github.com/SlavovLab/DO-MS){: .btn .fs-5 .mb-4 .mb-md-0 }
+
+![]({{site.baseurl}}/assets/images/do-ms-dia_title_v2.png){: width="90%" .center-image}
+
+## Aim of DO-MS
+The performance of ultrasensitive liquid chromatography and tandem mass spectrometry (LC-MS/MS) methods, such as [single-cell proteomics by mass spectrometry](https://scope2.slavovlab.net/mass-spec/sensitive-mass-spectrometry-analysis) and [multiplexed data-independent acquisition experiments](https://plexdia.slavovlab.net/), depends on multiple interdependent parameters. This interdependence makes it challenging to specifically pinpoint the sources of problems in the LC-MS/MS methods.
+
+This applies to data-dependent acquisition (DDA) as well as to data-indepent acquisition (DIA) experiments. For example, a low signal at the MS2 level in a DDA experiment can be due to poor LC separation, ionization, apex targeting, ion transfer, or ion detection. DO-MS aims to specifically diagnose such problems by interactively visualizing data from all levels of bottom-up LC-MS/MS analysis.
+
+### Research articles
+The development and applications of DO-MS were described in two research articles published in the *Journal of Proteome Research*. The first version from 2019 focussed on DDA data and the second version from 2023 focussed on DIA data.
+
+1. Wallmann G., Leduc A., Slavov N. [Data-Driven Optimization of DIA Mass-Spectrometry by DO-MS](https://pubs.acs.org/doi/10.1021/acs.jproteome.3c00177), *J. Proteome Res.* doi: [10.1021/acs.jproteome.3c00177](https://doi.org/10.1021/acs.jproteome.3c00177) (2023) | [preprint](https://doi.org/10.1101/2023.02.02.526809) | [PDF](https://slavovlab.net/Slavov-Lab-Publications/2023_DO-MS_DIA_plexDIA_JPR.pdf)
+
+2. Huffman RG, Specht H, Chen AT, Slavov N. [DO-MS: Data-Driven Optimization of Mass Spectrometry Methods](https://pubs.acs.org/doi/10.1021/acs.jproteome.9b00039) *J. of Proteome Res.* doi: [10.1021/acs.jproteome.9b00039](https://doi.org/10.1021/acs.jproteome.9b00039) (2019) | [preprint](http://dx.doi.org/10.1101/512152) | [PDF](https://slavovlab.net/Slavov-Lab-Publications/2019_Huffman_Slavov_DO-MS.pdf)
+
+
+### Installation
+
+Install this application by downloading it from the [release page](https://github.com/SlavovLab/DO-MS/releases/latest) and by following the [installation instructions]({{site.baseurl}}/docs/installation).
+
+
+## Getting Started
+Please read our detailed getting started guides:
+* [Getting started with DIA preprocessing]({{site.baseurl}}/docs/getting-started-preprocessing)
+* [Getting started with DIA reports]({{site.baseurl}}/docs/getting-started-dia-app)
+* [Getting started with DDA reports]({{site.baseurl}}/docs/getting-started-dda-app)
+
+
+### Requirements
+This application has been tested on R >= 3.5.0, OSX 10.14 / Windows 7/8/10/11. R can be downloaded from the main [R Project page](https://www.r-project.org/) or downloaded with the [RStudio Application](https://www.rstudio.com/products/rstudio/download/). All modules are maintained for MaxQuant >= 1.6.0.16 and DIA-NN > 1.8.1.
+
+The application suffers from visual glitches when displayed on unsupported older browsers (such as IE9 commonly packaged with RStudio on Windows). Please use IE >= 11, Firefox, or Chrome for the best user experience.
+
+### Running the Interactive Application
+
+The easiest way to run the app is directly through RStudio, by opening the `DO-MS.Rproj` Rproject file
+
+![]({{site.baseurl}}/assets/images/do-ms-proj.png){: width="70%" .center-image}
+
+and clicking the "Run App" button at the top of the application, after opening the `server.R` file. We recommend checking the "Run External" option to open the application in your default browser instead of the RStudio Viewer.
+
+![]({{site.baseurl}}/assets/images/do-ms-run.png){: width="70%" .center-image}
+
+You can also start the application by running the `start_server.R` script.
+
+### Customization
+
+DO-MS is designed to be easily user-customizable for in-house proteomics workflows. Please see [Building Your Own Modules]({{site.baseurl}}/docs/build-your-own) for more details.
+
+### Hosting as a Server
+
+Please see [Hosting as a Server]({{site.baseurl}}/docs/hosting-as-server) for more details.
+
+### Supporting other Search Engines
+
+This application is currently maintained for [MaxQuant](https://www.nature.com/articles/nbt.1511) >= 1.6.0.16 and [DIA-NN](https://www.nature.com/articles/s41592-019-0638-x) >= 1.8. Adapting to other search engines is possible but not provided out-of-the-box. Please see [Integrating Other Search Engines ]({{site.baseurl}}/docs/other-search-engines) for more details.
+
+### Can I use this for Metabolomics, Lipidomics, etc... ?
+
+While the base library of modules are based around bottom-up proteomics by LC-MS/MS, this project is fundamentally compatible with _any delimited text files_ (CSV, TSV, etc). These implementations will require some programming work, but once it is done DO-MS gives you a extensible framework that can be used over-and-over again to generate shareable reports. See [Integrating Other Search Engines ]({{site.baseurl}}/docs/other-search-engines) for more details
+
+------------
+
+## About the project
+
+The manuscripts for this tool is published at the *[Journal of Proteome Research](https://do-ms.slavovlab.net/#research-articles)* and *[bioRxiv](https://do-ms.slavovlab.net/#research-articles)*. The research has been supported by funding from the [NIH Director's Award](https://projectreporter.nih.gov/project_info_description.cfm?aid=9167004&icde=31336575) by an [Allen Distinguished Investigator Award](https://alleninstitute.org/person/nikolai-slavov/) from the Paul G. Allen Frontiers Group.
+
+Contact the authors by email: [nslavov\{at\}northeastern.edu](mailto:nslavov@northeastern.edu).
+
+### License
+
+DO-MS is distributed by an [MIT license]({{site.github_link}}/blob/master/LICENSE).
+
+### Contributing
+
+Please feel free to contribute to this project by opening an issue or pull request in the [GitHub repository]({{site.github_link}}).
+
+### Data Availability
+DO-MS reports and example data can be found [Here]({{site.baseurl}}/docs/DO-MS_examples). All raw data and search engine results from the DO-MS DIA paper are avilable on MassIVE under the following id: MSV000091733.
+
+-------------
+
+## Help!
+
+For any bugs, questions, or feature requests,
+please use the [GitHub issue system](https://github.com/SlavovLab/DO-MS/issues) to contact the developers.
diff --git a/docs/just-the-docs.gemspec b/docs/just-the-docs.gemspec
new file mode 100644
index 0000000..27dfa9b
--- /dev/null
+++ b/docs/just-the-docs.gemspec
@@ -0,0 +1,21 @@
+# coding: utf-8
+
+Gem::Specification.new do |spec|
+ spec.name = "just-the-docs"
+ spec.version = "0.2.4"
+ spec.authors = ["Patrick Marsceill"]
+ spec.email = ["patrick.marsceill@gmail.com"]
+
+ spec.summary = %q{A modern, high customizable, responsive Jekyll theme for documention with built-in search.}
+ spec.homepage = "https://github.com/pmarsceill/just-the-docs"
+ spec.license = "MIT"
+
+ spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) }
+ spec.executables << 'just-the-docs'
+
+ spec.add_runtime_dependency "jekyll", "~> 3.8.5"
+ spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0"
+ spec.add_runtime_dependency "rake", "~> 12.3.1"
+
+ spec.add_development_dependency "bundler", "~> 2.0.1"
+end
diff --git a/docs/lib/tasks/search.rake b/docs/lib/tasks/search.rake
new file mode 100644
index 0000000..44ee417
--- /dev/null
+++ b/docs/lib/tasks/search.rake
@@ -0,0 +1,27 @@
+namespace :search do
+ desc 'Generate the files needed for search functionality'
+ task :init do
+ puts 'Creating search data json file...'
+ mkdir_p 'assets/js'
+ touch 'assets/js/search-data.json'
+ content = %Q[{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\\', ' ' | normalize_whitespace }}]
+ puts 'Done.'
+ puts 'Generating content...'
+
+ File.open('assets/js/search-data.json', 'w') do |f|
+ f.puts '---
+---
+{
+ {% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
+ "id": "{{ forloop.index0 }}",
+ "title": "{{ page.title | replace: \'&\', \'&\' }}",
+ "content": "'+content+'",
+ "url": "{{ page.url | absolute_url }}",
+ "relUrl": "{{ page.url }}"
+ }{% unless forloop.last %},{% endunless %}
+ {% endif %}{% endfor %}
+}'
+ end
+ puts 'Done.'
+ end
+end
diff --git a/docs/mass-spec/methods.md b/docs/mass-spec/methods.md
new file mode 100644
index 0000000..2b6b7f5
--- /dev/null
+++ b/docs/mass-spec/methods.md
@@ -0,0 +1,37 @@
+---
+layout: default
+title: Related methods
+nav_order: 11
+description: "Methods for for ultrasensitive mass-spec analysis and single-cell proteomics developed in the Slavov Laboratory, Northeastern University, Boston"
+permalink: mass-spec/methods
+
+---
+
+# Methods for ultrasensitive mass-spec analysis
+
+
+
+[Get started now](#getting-started){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [Download](https://github.com/SlavovLab/DO-MS/releases/latest){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [JPR Article](https://pubs.acs.org/doi/10.1021/acs.jproteome.9b00039){: .btn .fs-5 .mb-4 .mb-md-0 .mr-2 } [GitHub Repository](https://github.com/SlavovLab/DO-MS){: .btn .fs-5 .mb-4 .mb-md-0 }
+
+------------
+
+
+
+DO-MS supports related methods and technologies developed in the [Slavov Laboratory](http://slavovlab.net). These methods include:
+
+* [Single-Cell ProtEomics by Mass Spectrometry (SCoPE-MS)](https://scp.slavovlab.net/SCoPE-MS)
+* [Single-Cell ProtEomics by Mass Spectrometry (SCoPE2)](https://scope2.slavovlab.net)
+* [Data-driven Alignment of Retention Times for IDentification (DART-ID)](https://dart-id.slavovlab.net)
+* [Prioritized Single-Cell ProtEomics by Mass Spectrometry (pSCoPE)](https://scp.slavovlab.net/pSCoPE)
+* [Multiplexed DIA (plexDIA) ](https://scp.slavovlab.net/plexDIA)
+
+
+
+
+
+
+
+
+
+
+Read more about our [single-cell proteomics research](http://slavovlab.net/research.htm#SCoPE-MS) and the [single-cell proteomics conference](http://single-cell.net) that we organize.
diff --git a/docs/package-lock.json b/docs/package-lock.json
new file mode 100644
index 0000000..a27c097
--- /dev/null
+++ b/docs/package-lock.json
@@ -0,0 +1,5785 @@
+{
+ "name": "just-the-docs",
+ "version": "0.2.4",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz",
+ "integrity": "sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.4.4",
+ "@babel/helpers": "^7.4.4",
+ "@babel/parser": "^7.4.4",
+ "@babel/template": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.11",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz",
+ "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.11",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz",
+ "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz",
+ "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
+ "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz",
+ "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.4.4",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "@babel/types": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz",
+ "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.11",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "dev": true
+ },
+ "@primer/css": {
+ "version": "12.2.3",
+ "resolved": "https://registry.npmjs.org/@primer/css/-/css-12.2.3.tgz",
+ "integrity": "sha512-IhQHkxYiHBt0erXoPADWqgjcnM73NVK3I9tJX112JofwErhWsrJZbtvlpgIQ9WXDEsq74FEh1umSMQm5QuhYug=="
+ },
+ "@types/events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+ "dev": true
+ },
+ "@types/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "dev": true,
+ "requires": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "11.13.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.8.tgz",
+ "integrity": "sha512-szA3x/3miL90ZJxUCzx9haNbK5/zmPieGraZEe4WI+3srN0eGLiT22NXeMHmyhNEopn+IrxqMc7wdVwvPl8meg==",
+ "dev": true
+ },
+ "@types/unist": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
+ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
+ "dev": true
+ },
+ "@types/vfile": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
+ "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/unist": "*",
+ "@types/vfile-message": "*"
+ }
+ },
+ "@types/vfile-message": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
+ "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/unist": "*"
+ }
+ },
+ "JSONStream": {
+ "version": "0.8.4",
+ "resolved": "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz",
+ "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=",
+ "dev": true,
+ "requires": {
+ "jsonparse": "0.0.5",
+ "through": ">=2.2.7 <3"
+ }
+ },
+ "ajv": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+ "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+ "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"
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
+ "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "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": "^1.9.0"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.5.1.tgz",
+ "integrity": "sha512-KJSzkStUl3wP0D5sdMlP82Q52JLy5+atf2MHAre48+ckWkXgixmfHyWmA77wFDy6jTHU6mIgXv6hAQ2mf1PjJQ==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.5.4",
+ "caniuse-lite": "^1.0.30000957",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.14",
+ "postcss-value-parser": "^3.3.1"
+ }
+ },
+ "bail": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
+ "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "browserslist": {
+ "version": "4.5.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.6.tgz",
+ "integrity": "sha512-o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000963",
+ "electron-to-chromium": "^1.3.127",
+ "node-releases": "^1.1.17"
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "caller-callsite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "dev": true,
+ "requires": {
+ "callsites": "^2.0.0"
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "dev": true,
+ "requires": {
+ "caller-callsite": "^2.0.0"
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0",
+ "map-obj": "^2.0.0",
+ "quick-lru": "^1.0.0"
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000963",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000963.tgz",
+ "integrity": "sha512-5Qk1jSsqRY3dD7BAjU018y0MsznzYb+kMTKzGknue8vSWlHkw2S345vRnd0cVEerzZ6ugUfoKaUOOVbBxWLWCA==",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000963",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000963.tgz",
+ "integrity": "sha512-n4HUiullc7Lw0LyzpeLa2ffP8KxFBGdxqD/8G3bSL6oB758hZ2UE2CVK+tQN958tJIi0/tfpjAc67aAtoHgnrQ==",
+ "dev": true
+ },
+ "ccount": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
+ "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "character-entities": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
+ "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
+ "dev": true
+ },
+ "character-entities-html4": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
+ "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==",
+ "dev": true
+ },
+ "character-entities-legacy": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
+ "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
+ "dev": true
+ },
+ "character-reference-invalid": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
+ "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
+ "dev": true
+ },
+ "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
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.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
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "clone-regexp": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
+ "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
+ "dev": true,
+ "requires": {
+ "is-regexp": "^1.0.0",
+ "is-supported-regexp-flag": "^1.0.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collapse-white-space": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
+ "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-diff": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/color-diff/-/color-diff-0.1.7.tgz",
+ "integrity": "sha1-bbeM2UgqjkWdQIIer0tQMoPcuOI=",
+ "dev": true
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colorguard": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colorguard/-/colorguard-1.2.1.tgz",
+ "integrity": "sha512-qYVKTg626qpDg4/eBnPXidEPXn5+krbYqHVfyyEFBWV5z3IF4p44HKY/eE2t1ohlcrlIkDgHmFJMfQ8qMLnSFw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.1",
+ "color-diff": "^0.1.3",
+ "log-symbols": "^1.0.2",
+ "object-assign": "^4.0.1",
+ "pipetteur": "^2.0.0",
+ "plur": "^2.0.0",
+ "postcss": "^5.0.4",
+ "postcss-reporter": "^1.2.1",
+ "text-table": "^0.2.0",
+ "yargs": "^1.2.6"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reporter": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz",
+ "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "lodash": "^4.1.0",
+ "log-symbols": "^1.0.2",
+ "postcss": "^5.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "1.3.3",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
+ "integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=",
+ "dev": true
+ }
+ }
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.0.tgz",
+ "integrity": "sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.0",
+ "parse-json": "^4.0.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": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.3",
+ "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz",
+ "integrity": "sha1-3gzvFvTYqoIioyDVttfpu62nufY=",
+ "dev": true
+ },
+ "css-rule-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz",
+ "integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=",
+ "dev": true,
+ "requires": {
+ "css-tokenize": "^1.0.1",
+ "duplexer2": "0.0.2",
+ "ldjson-stream": "^1.2.1",
+ "through2": "^0.6.3"
+ },
+ "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": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "css-tokenize": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
+ "integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^1.0.33"
+ },
+ "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.1.14",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "dev": true,
+ "requires": {
+ "path-type": "^3.0.0"
+ }
+ },
+ "doiuse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-4.2.0.tgz",
+ "integrity": "sha512-FMptmRKtlEwlcP9KUQ1Vw4pdlcUchl5cWBZEfgZGDPO0WhiJ8sJf2UeuYO8FXlNmK45s3OyQvzJ7GIWzmDYEdQ==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.1.1",
+ "caniuse-lite": "^1.0.30000887",
+ "css-rule-stream": "^1.1.0",
+ "duplexer2": "0.0.2",
+ "jsonfilter": "^1.1.2",
+ "ldjson-stream": "^1.2.1",
+ "multimatch": "^2.0.0",
+ "postcss": "^7.0.4",
+ "source-map": "^0.7.3",
+ "through2": "^2.0.3",
+ "yargs": "^12.0.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "dom-serializer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
+ "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^1.3.0",
+ "entities": "^1.1.1"
+ }
+ },
+ "domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.1.9"
+ },
+ "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.1.14",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.127",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.127.tgz",
+ "integrity": "sha512-1o25iFRf/dbgauTWalEzmD1EmRN3a2CzP/K7UVpYLEBduk96LF0FyUdCcf4Ry2mAWJ1VxyblFjC93q6qlLwA2A==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "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": "^1.4.0"
+ }
+ },
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "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
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "execall": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
+ "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
+ "dev": true,
+ "requires": {
+ "clone-regexp": "^1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^2.1.0"
+ },
+ "dependencies": {
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "dev": true,
+ "requires": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "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-glob": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
+ "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ },
+ "dependencies": {
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ }
+ },
+ "flatted": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
+ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
+ "dev": true
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "gather-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz",
+ "integrity": "sha1-szmUr0V6gRVwDUEPMXczy+egkEs=",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "globby": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
+ "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^1.0.2",
+ "dir-glob": "^2.2.2",
+ "fast-glob": "^2.2.6",
+ "glob": "^7.1.3",
+ "ignore": "^4.0.3",
+ "pify": "^4.0.1",
+ "slash": "^2.0.0"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ }
+ }
+ },
+ "globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+ "dev": true
+ },
+ "gonzales-pe": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
+ "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "1.1.x"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
+ "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
+ "dev": true
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+ "dev": true
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "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
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
+ "html-tags": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+ "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
+ "dev": true
+ },
+ "htmlparser2": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+ "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^1.3.1",
+ "domhandler": "^2.3.0",
+ "domutils": "^1.5.1",
+ "entities": "^1.1.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^3.1.1"
+ }
+ },
+ "ignore": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.1.tgz",
+ "integrity": "sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "dev": true,
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
+ }
+ },
+ "import-lazy": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
+ "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
+ "dev": true
+ },
+ "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": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
+ "irregular-plurals": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
+ "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-alphabetical": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
+ "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
+ "dev": true
+ },
+ "is-alphanumeric": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+ "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
+ "dev": true
+ },
+ "is-alphanumerical": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
+ "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
+ "dev": true,
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-decimal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
+ "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "^2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
+ "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-supported-regexp-flag": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
+ "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-whitespace-character": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz",
+ "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "is-word-character": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz",
+ "integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+ "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "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
+ },
+ "json5": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "jsonfilter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/jsonfilter/-/jsonfilter-1.1.2.tgz",
+ "integrity": "sha1-Ie987cdRk4E8dZMulqmL4gW6WhE=",
+ "dev": true,
+ "requires": {
+ "JSONStream": "^0.8.4",
+ "minimist": "^1.1.0",
+ "stream-combiner": "^0.2.1",
+ "through2": "^0.6.3"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "jsonparse": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz",
+ "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "known-css-properties": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.13.0.tgz",
+ "integrity": "sha512-6VWDxNr7cQXPDtMdCWLZMK3E8hdLrpyPPRdx6RbyvqklqgM6/XNFsVopv8QOZ+hRB6iHG/urEDwzlWbmMCv/kw==",
+ "dev": true
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "ldjson-stream": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz",
+ "integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=",
+ "dev": true,
+ "requires": {
+ "split2": "^0.2.1",
+ "through2": "^0.6.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": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "longest-streak": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
+ "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
+ "dev": true
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
+ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "markdown-escapes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
+ "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==",
+ "dev": true
+ },
+ "markdown-table": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz",
+ "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
+ "dev": true
+ },
+ "math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
+ "dev": true
+ },
+ "mathml-tag-names": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz",
+ "integrity": "sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==",
+ "dev": true
+ },
+ "mdast-util-compact": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz",
+ "integrity": "sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "^1.1.0"
+ }
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "meow": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
+ "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^4.0.0",
+ "decamelize-keys": "^1.0.0",
+ "loud-rejection": "^1.0.0",
+ "minimist-options": "^3.0.1",
+ "normalize-package-data": "^2.3.4",
+ "read-pkg-up": "^3.0.0",
+ "redent": "^2.0.0",
+ "trim-newlines": "^2.0.0",
+ "yargs-parser": "^10.0.0"
+ }
+ },
+ "merge2": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
+ "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "minimist-options": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
+ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "multimatch": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
+ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
+ "dev": true,
+ "requires": {
+ "array-differ": "^1.0.0",
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "minimatch": "^3.0.0"
+ }
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.17",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.17.tgz",
+ "integrity": "sha512-/SCjetyta1m7YXLgtACZGDYJdCSIBAWorDWkGCGZlydP2Ll7J48l7j/JxNYZ+xsgSPbWfdulVS/aY+GdjUsQ7Q==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.3.0"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-selector": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onecolor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.1.0.tgz",
+ "integrity": "sha512-YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ==",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parse-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.1.tgz",
+ "integrity": "sha512-NBWYLQm1KSoDKk7GAHyioLTvCZ5QjdH/ASBBQTD3iLiAWJXS5bg1jEWI8nIJ+vgVvsceBVBcDGRWSo0KVQBvvg==",
+ "dev": true,
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "picomatch": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.5.tgz",
+ "integrity": "sha512-Zisqgaq/4P05ZclrU/g5XrzFqVo7YiJx+EP4haeVI9S7kvtZmZgmQMZfcvjEus9JcMhqZfQZObimT5ZydvKJGA==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pipetteur": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pipetteur/-/pipetteur-2.0.3.tgz",
+ "integrity": "sha1-GVV2CVno0aEcsqUOyD7sRwYz5J8=",
+ "dev": true,
+ "requires": {
+ "onecolor": "^3.0.4",
+ "synesthesia": "^1.0.1"
+ }
+ },
+ "plur": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
+ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
+ "dev": true,
+ "requires": {
+ "irregular-plurals": "^1.0.0"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
+ "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "postcss-html": {
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
+ "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^3.10.0"
+ }
+ },
+ "postcss-jsx": {
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.0.tgz",
+ "integrity": "sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g==",
+ "dev": true,
+ "requires": {
+ "@babel/core": ">=7.1.0"
+ }
+ },
+ "postcss-less": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
+ "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "postcss-markdown": {
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
+ "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
+ "dev": true,
+ "requires": {
+ "remark": "^10.0.1",
+ "unist-util-find-all-after": "^1.0.2"
+ }
+ },
+ "postcss-media-query-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+ "dev": true
+ },
+ "postcss-reporter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
+ "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "lodash": "^4.17.11",
+ "log-symbols": "^2.2.0",
+ "postcss": "^7.0.7"
+ }
+ },
+ "postcss-resolve-nested-selector": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+ "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+ "dev": true
+ },
+ "postcss-safe-parser": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
+ "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-sass": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
+ "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
+ "dev": true,
+ "requires": {
+ "gonzales-pe": "^4.2.3",
+ "postcss": "^7.0.1"
+ }
+ },
+ "postcss-scss": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
+ "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-sorting": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-4.1.0.tgz",
+ "integrity": "sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.4",
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-syntax": {
+ "version": "0.36.2",
+ "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
+ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+ "dev": true
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "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
+ },
+ "quick-lru": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
+ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "read-file-stdin": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz",
+ "integrity": "sha1-JezP86FTtoCa+ssj7hU4fbng7mE=",
+ "dev": true,
+ "requires": {
+ "gather-stream": "^1.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz",
+ "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "redent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
+ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^3.0.0",
+ "strip-indent": "^2.0.0"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "^0.1.3"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remark": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
+ "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+ "dev": true,
+ "requires": {
+ "remark-parse": "^6.0.0",
+ "remark-stringify": "^6.0.0",
+ "unified": "^7.0.0"
+ }
+ },
+ "remark-parse": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
+ "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "^1.0.2",
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "is-word-character": "^1.0.0",
+ "markdown-escapes": "^1.0.0",
+ "parse-entities": "^1.1.0",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^1.0.0",
+ "vfile-location": "^2.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "remark-stringify": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
+ "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.0",
+ "is-alphanumeric": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "longest-streak": "^2.0.1",
+ "markdown-escapes": "^1.0.0",
+ "markdown-table": "^1.1.0",
+ "mdast-util-compact": "^1.0.0",
+ "parse-entities": "^1.0.2",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "stringify-entities": "^1.0.1",
+ "unherit": "^1.0.4",
+ "xtend": "^4.0.1"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-from-string": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+ "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
+ "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "semver": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
+ "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
+ "dev": true
+ },
+ "specificity": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+ "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "split2": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
+ "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
+ "dev": true,
+ "requires": {
+ "through2": "~0.6.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": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "state-toggle": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz",
+ "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
+ "dev": true,
+ "requires": {
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
+ }
+ },
+ "string-width": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
+ "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
+ "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringify-entities": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
+ "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+ "dev": true,
+ "requires": {
+ "character-entities-html4": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+ "dev": true
+ },
+ "style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
+ "dev": true
+ },
+ "stylehacks": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-2.3.2.tgz",
+ "integrity": "sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.1.3",
+ "chalk": "^1.1.1",
+ "log-symbols": "^1.0.2",
+ "minimist": "^1.2.0",
+ "plur": "^2.1.2",
+ "postcss": "^5.0.18",
+ "postcss-reporter": "^1.3.3",
+ "postcss-selector-parser": "^2.0.0",
+ "read-file-stdin": "^0.2.1",
+ "text-table": "^0.2.0",
+ "write-file-stdout": "0.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reporter": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz",
+ "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "lodash": "^4.1.0",
+ "log-symbols": "^1.0.2",
+ "postcss": "^5.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "stylelint": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-10.0.1.tgz",
+ "integrity": "sha512-NbpD9BvQRmPe7QfaLB2OqhhDr5g6SAn43AAH2XLyqtQ9ZcioQECgadkIbormfhzxLhccAQWBZbVNiZz1oqEf8g==",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "^9.5.1",
+ "balanced-match": "^1.0.0",
+ "chalk": "^2.4.2",
+ "cosmiconfig": "^5.2.0",
+ "debug": "^4.1.1",
+ "execall": "^1.0.0",
+ "file-entry-cache": "^5.0.1",
+ "get-stdin": "^7.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^9.2.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^2.0.0",
+ "ignore": "^5.0.6",
+ "import-lazy": "^3.1.0",
+ "imurmurhash": "^0.1.4",
+ "known-css-properties": "^0.13.0",
+ "leven": "^3.1.0",
+ "lodash": "^4.17.11",
+ "log-symbols": "^2.2.0",
+ "mathml-tag-names": "^2.1.0",
+ "meow": "^5.0.0",
+ "micromatch": "^4.0.0",
+ "normalize-selector": "^0.2.0",
+ "pify": "^4.0.1",
+ "postcss": "^7.0.14",
+ "postcss-html": "^0.36.0",
+ "postcss-jsx": "^0.36.0",
+ "postcss-less": "^3.1.4",
+ "postcss-markdown": "^0.36.0",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-reporter": "^6.0.1",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^4.0.1",
+ "postcss-sass": "^0.3.5",
+ "postcss-scss": "^2.0.0",
+ "postcss-selector-parser": "^3.1.0",
+ "postcss-syntax": "^0.36.2",
+ "postcss-value-parser": "^3.3.1",
+ "resolve-from": "^5.0.0",
+ "signal-exit": "^3.0.2",
+ "slash": "^2.0.0",
+ "specificity": "^0.4.1",
+ "string-width": "^4.1.0",
+ "style-search": "^0.1.0",
+ "sugarss": "^2.0.0",
+ "svg-tags": "^1.0.0",
+ "table": "^5.2.3"
+ }
+ },
+ "stylelint-config-primer": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-primer/-/stylelint-config-primer-6.0.0.tgz",
+ "integrity": "sha512-sHTgPYNGWMDMq7BMEFLM+6K3M7f1la5saJEdQNPrhjWxhzvWt+r2OaHuKklkgeM6X6yK8+2+UWKKcuIGBCNjOA==",
+ "dev": true,
+ "requires": {
+ "stylelint-no-unsupported-browser-features": "^1.0.0",
+ "stylelint-order": "^2.0.0",
+ "stylelint-scss": "3.5.2",
+ "stylelint-selector-no-utility": "4.0.0"
+ }
+ },
+ "stylelint-no-unsupported-browser-features": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-1.0.1.tgz",
+ "integrity": "sha512-6uaoXV/WA5BLKo9bbjERFE3oAOA0UY4FgGDaQWarV9x3qrDLS2o2SJqk0TaxwAIAgROwj9RhbQ2FF1QKRzZBNw==",
+ "dev": true,
+ "requires": {
+ "doiuse": "^4.0.0",
+ "lodash": "^4.17.4",
+ "postcss": "^6.0.1",
+ "stylelint": ">=5.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "stylelint-order": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-2.2.1.tgz",
+ "integrity": "sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.10",
+ "postcss": "^7.0.2",
+ "postcss-sorting": "^4.1.0"
+ }
+ },
+ "stylelint-scss": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.5.2.tgz",
+ "integrity": "sha512-HL95s8Q6wihbJe7c7z6rL9GHVHOF3H3tXkVmGutitwn14LYR52JYMwCkcifqlf4nRsvXrUDaoH6OHOdilifyjw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.11",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-selector-parser": "^5.0.0",
+ "postcss-value-parser": "^3.3.1"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "stylelint-selector-no-utility": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-selector-no-utility/-/stylelint-selector-no-utility-4.0.0.tgz",
+ "integrity": "sha512-C3o1nTwTiRldiLwnN7H99GUJU3xjHGFY1SKc5d87Gljxr1I5EfD7V0/I6UNU/hxd5wWJg5o0XiqFEor+Rbwf1Q==",
+ "dev": true,
+ "requires": {
+ "stylelint": "^7.13.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "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": "^1.0.1"
+ }
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.7.6",
+ "caniuse-db": "^1.0.30000634",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^5.2.16",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "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": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ }
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ }
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cosmiconfig": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+ "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
+ "dev": true,
+ "requires": {
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.4.3",
+ "minimist": "^1.2.0",
+ "object-assign": "^4.1.0",
+ "os-homedir": "^1.0.1",
+ "parse-json": "^2.2.0",
+ "require-from-string": "^1.1.0"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doiuse": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-2.6.0.tgz",
+ "integrity": "sha1-GJLRC2Gpo1at2/K2FJM+gfi7ODQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.1.1",
+ "caniuse-db": "^1.0.30000187",
+ "css-rule-stream": "^1.1.0",
+ "duplexer2": "0.0.2",
+ "jsonfilter": "^1.1.2",
+ "ldjson-stream": "^1.2.1",
+ "lodash": "^4.0.0",
+ "multimatch": "^2.0.0",
+ "postcss": "^5.0.8",
+ "source-map": "^0.4.2",
+ "through2": "^0.6.3",
+ "yargs": "^3.5.4"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "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": "^0.1.0"
+ }
+ },
+ "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"
+ }
+ },
+ "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.2.1",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "dev": true,
+ "requires": {
+ "circular-json": "^0.3.1",
+ "graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
+ "write": "^0.2.1"
+ }
+ },
+ "get-stdin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
+ "dev": true
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "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-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "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": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "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": "^1.1.5"
+ }
+ },
+ "known-css-properties": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.2.0.tgz",
+ "integrity": "sha512-UTCzU28rRI9wkb8qSGoZa9pgWvxr4LjP2MEhi9XHb/1XMOJy0uTnIxaxzj8My/PORG+kQG6VzAcGvRw66eIOfA==",
+ "dev": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ }
+ },
+ "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.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "postcss-less": {
+ "version": "0.14.0",
+ "resolved": "http://registry.npmjs.org/postcss-less/-/postcss-less-0.14.0.tgz",
+ "integrity": "sha1-xjGwicbM5CK5oQ86lY0r7dOBkyQ=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.21"
+ }
+ },
+ "postcss-reporter": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-3.0.0.tgz",
+ "integrity": "sha1-CeoPN6RExWk4eGBuCbAY6+/3z48=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "lodash": "^4.1.0",
+ "log-symbols": "^1.0.2",
+ "postcss": "^5.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "postcss-scss": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-0.4.1.tgz",
+ "integrity": "sha1-rXcbgfD3L19IRdCKpg+TVXZT1Uw=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.2.13"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "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": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "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"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "specificity": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.3.2.tgz",
+ "integrity": "sha512-Nc/QN/A425Qog7j9aHmwOrlwX2e7pNI47ciwxwy4jOlvbbMHkNNJchit+FX+UjF3IAdiaaV5BKeWuDUnws6G1A==",
+ "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
+ },
+ "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
+ },
+ "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_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "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": "^0.2.0"
+ }
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ },
+ "dependencies": {
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ }
+ }
+ },
+ "stylelint": {
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-7.13.0.tgz",
+ "integrity": "sha1-ER+Xttpy53XICADWu29fhpmXeF0=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "^6.0.0",
+ "balanced-match": "^0.4.0",
+ "chalk": "^2.0.1",
+ "colorguard": "^1.2.0",
+ "cosmiconfig": "^2.1.1",
+ "debug": "^2.6.0",
+ "doiuse": "^2.4.1",
+ "execall": "^1.0.0",
+ "file-entry-cache": "^2.0.0",
+ "get-stdin": "^5.0.0",
+ "globby": "^6.0.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^2.0.0",
+ "ignore": "^3.2.0",
+ "imurmurhash": "^0.1.4",
+ "known-css-properties": "^0.2.0",
+ "lodash": "^4.17.4",
+ "log-symbols": "^1.0.2",
+ "mathml-tag-names": "^2.0.0",
+ "meow": "^3.3.0",
+ "micromatch": "^2.3.11",
+ "normalize-selector": "^0.2.0",
+ "pify": "^2.3.0",
+ "postcss": "^5.0.20",
+ "postcss-less": "^0.14.0",
+ "postcss-media-query-parser": "^0.2.0",
+ "postcss-reporter": "^3.0.0",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-scss": "^0.4.0",
+ "postcss-selector-parser": "^2.1.1",
+ "postcss-value-parser": "^3.1.1",
+ "resolve-from": "^3.0.0",
+ "specificity": "^0.3.0",
+ "string-width": "^2.0.0",
+ "style-search": "^0.1.0",
+ "stylehacks": "^2.3.2",
+ "sugarss": "^0.2.0",
+ "svg-tags": "^1.0.0",
+ "table": "^4.0.1"
+ }
+ },
+ "sugarss": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-0.2.0.tgz",
+ "integrity": "sha1-rDQjdWMyfG/4l7ZHQr9q7BkK054=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.2.4"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ },
+ "table": {
+ "version": "4.0.3",
+ "resolved": "http://registry.npmjs.org/table/-/table-4.0.3.tgz",
+ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.0.1",
+ "ajv-keywords": "^3.0.0",
+ "chalk": "^2.1.0",
+ "lodash": "^4.17.4",
+ "slice-ansi": "1.0.0",
+ "string-width": "^2.1.1"
+ }
+ },
+ "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.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "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": "^0.5.1"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.1",
+ "cliui": "^3.0.3",
+ "decamelize": "^1.1.1",
+ "os-locale": "^1.4.0",
+ "string-width": "^1.0.1",
+ "window-size": "^0.1.4",
+ "y18n": "^3.2.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "sugarss": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+ "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
+ "dev": true
+ },
+ "synesthesia": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/synesthesia/-/synesthesia-1.0.1.tgz",
+ "integrity": "sha1-XvlepUjA1cbm+btLDQcx3/hkp3c=",
+ "dev": true,
+ "requires": {
+ "css-color-names": "0.0.3"
+ }
+ },
+ "table": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz",
+ "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.9.1",
+ "lodash": "^4.17.11",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "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
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ },
+ "dependencies": {
+ "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": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "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": "~5.1.0"
+ }
+ }
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "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": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "trim": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
+ "dev": true
+ },
+ "trim-newlines": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
+ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "trim-trailing-lines": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz",
+ "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==",
+ "dev": true
+ },
+ "trough": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz",
+ "integrity": "sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==",
+ "dev": true
+ },
+ "unherit": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz",
+ "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "xtend": "^4.0.1"
+ }
+ },
+ "unified": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
+ "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "@types/vfile": "^3.0.0",
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-plain-obj": "^1.1.0",
+ "trough": "^1.0.0",
+ "vfile": "^3.0.0",
+ "x-is-string": "^0.1.0"
+ }
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "unist-util-find-all-after": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz",
+ "integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
+ "dev": true,
+ "requires": {
+ "unist-util-is": "^2.0.0"
+ }
+ },
+ "unist-util-is": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz",
+ "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==",
+ "dev": true
+ },
+ "unist-util-remove-position": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz",
+ "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "^1.1.0"
+ }
+ },
+ "unist-util-stringify-position": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
+ "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
+ "dev": true
+ },
+ "unist-util-visit": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz",
+ "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit-parents": "^2.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz",
+ "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==",
+ "dev": true,
+ "requires": {
+ "unist-util-is": "^2.1.2"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "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.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "vfile": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
+ "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^2.0.0",
+ "replace-ext": "1.0.0",
+ "unist-util-stringify-position": "^1.0.0",
+ "vfile-message": "^1.0.0"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
+ "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+ "dev": true
+ }
+ }
+ },
+ "vfile-location": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz",
+ "integrity": "sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==",
+ "dev": true
+ },
+ "vfile-message": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
+ "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
+ "dev": true,
+ "requires": {
+ "unist-util-stringify-position": "^1.1.1"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "write-file-stdout": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-stdout/-/write-file-stdout-0.0.2.tgz",
+ "integrity": "sha1-wlLXx8WxtAKJdjDjRTx7/mkNnKE=",
+ "dev": true
+ },
+ "x-is-string": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
+ "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ },
+ "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
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+}
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 0000000..35742f5
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "just-the-docs",
+ "version": "0.2.4",
+ "description": "A modern Jekyll theme for documentation",
+ "repository": "pmarsceill/just-the-docs",
+ "license": "MIT",
+ "bugs": "https://github.com/pmarsceill/just-the-docs/issues",
+ "devDependencies": {
+ "stylelint": "^10.0.1",
+ "stylelint-config-primer": "^6.0.0",
+ "stylelint-selector-no-utility": "^4.0.0"
+ },
+ "dependencies": {
+ "@primer/css": "^12.2.3"
+ },
+ "scripts": {
+ "test": "stylelint '**/*.scss'"
+ }
+}
diff --git a/docs/script/build b/docs/script/build
new file mode 100644
index 0000000..1198533
--- /dev/null
+++ b/docs/script/build
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+echo "Packaging gem... \n"
+gem build just-the-docs.gemspec
+
+echo "Cleaning up... \n"
+git add *.gem
+git commit -m 'Bump just-the-docs gem package'
diff --git a/docs/serve.sh b/docs/serve.sh
new file mode 100644
index 0000000..d8c3e15
--- /dev/null
+++ b/docs/serve.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+bundle exec jekyll serve
diff --git a/example/config_file.yaml b/example/config_file.yaml
new file mode 100644
index 0000000..af19c09
--- /dev/null
+++ b/example/config_file.yaml
@@ -0,0 +1,90 @@
+## DO-MS command line configuration
+## for use with do-ms_cmd.R
+
+## Input/Output
+
+# paths to folders with MaxQuant txt output
+input_folders:
+ - /path/to/MaxQuant/output/a
+ - /path/to/MaxQuant/output/b
+ - /path/to/MaxQuant/output/c
+
+# files to load from each folder
+load_input_files:
+ - evidence
+ - msms
+ - msmsScans
+ - allPeptides
+ - summary
+ - parameters
+
+# match up with misc_input_files list in global.R
+#misc_input_files:
+# inclusion_list: /path/to/inclusion_list.txt
+
+output: /path/to/report.html
+
+## Filters
+
+# regular expressions to match raw file names against
+include_files: '180614_S'
+exclude_files: '180614_S_A'
+
+# experiment name format string
+# %i -- index of raw file
+# %f -- folder name
+# %e -- raw file name
+exp_name_format: 'Exp %f %i'
+
+# optional regular expression pattern to extract
+# from the experiment names after applying the format string
+exp_name_pattern: '[0-9]{6}'
+
+# custom names for files
+exp_names:
+ - Control
+ - '2X'
+ - '4X'
+ - '10X'
+
+# custom order for files
+exp_order: [4,2,3,1]
+
+pep_thresh: 0.01
+pif_thresh: 0.7
+remove_decoy: REV_
+remove_contam: CON_
+
+## Figure rendering options
+
+ppi: 150
+
+# label font size
+figure_title_font_size: 16
+# axis tick label font size
+figure_axis_font_size: 12
+# facet label font size
+figure_facet_font_size: 12
+# line width
+figure_line_width: 1
+# show background grid
+figure_show_grid: true
+
+## Report options
+
+# choices: pdf, html
+report_format: html
+
+# choices: default, cerulean, flatly, darkly, readable,
+# spacelab, united, cosmo, lumen, paper, sandstone, simplex, yeti
+# previews: https://bootswatch.com/3/
+report_theme: readable
+
+# figure size (in inches)
+report_figure_width: 5
+report_figure_height: 5
+
+# figure format. choices: pdf, png
+report_figure_format: png
+
+
diff --git a/example/config_file_diann.yaml b/example/config_file_diann.yaml
new file mode 100644
index 0000000..163656f
--- /dev/null
+++ b/example/config_file_diann.yaml
@@ -0,0 +1,84 @@
+## DO-MS command line configuration
+## for use with do-ms_cmd.R
+
+## Input/Output
+
+# paths to folders with MaxQuant txt output
+input_folders:
+ - /Users/georgwallmann/Library/CloudStorage/OneDrive-Personal/Studium/Northeastern/DO-MS-DIA/supplementary_information/do_ms_testcase
+
+# files to load from each folder
+load_input_files:
+ - features
+ - report
+
+# match up with misc_input_files list in global.R
+#misc_input_files:
+# inclusion_list: /path/to/inclusion_list.txt
+
+output: /Users/georgwallmann/Library/CloudStorage/OneDrive-Personal/Studium/Northeastern/DO-MS-DIA/supplementary_information/do_ms_testcase/report.html
+
+## Filters
+
+# regular expressions to match raw file names against
+#include_files: '180614_S'
+#exclude_files: '180614_S_A'
+
+# experiment name format string
+# %i -- index of raw file
+# %f -- folder name
+# %e -- raw file name
+exp_name_format: 'Exp %f %i'
+
+# optional regular expression pattern to extract
+# from the experiment names after applying the format string
+exp_name_pattern: '[0-9]{6}'
+
+# custom names for files
+#exp_names:
+# - Control
+# - '2X'
+# - '4X'
+# - '10X'
+
+# custom order for files
+#exp_order: [4,2,3,1]
+
+#pep_thresh: 0.01
+#pif_thresh: 0.7
+#remove_decoy: REV_
+#remove_contam: CON_
+
+## Figure rendering options
+
+ppi: 150
+
+# label font size
+figure_title_font_size: 16
+# axis tick label font size
+figure_axis_font_size: 12
+# facet label font size
+figure_facet_font_size: 12
+# line width
+figure_line_width: 1
+# show background grid
+figure_show_grid: true
+
+## Report options
+
+# choices: pdf, html
+report_format: html
+
+# choices: default, cerulean, flatly, darkly, readable,
+# spacelab, united, cosmo, lumen, paper, sandstone, simplex, yeti
+# previews: https://bootswatch.com/3/
+report_theme: readable
+
+# figure size (in inches)
+report_figure_width: 5
+report_figure_height: 5
+
+# figure format. choices: pdf, png
+report_figure_format: png
+
+
diff --git a/example/config_sqc68.yaml b/example/config_sqc68.yaml
new file mode 100644
index 0000000..ce0e40b
--- /dev/null
+++ b/example/config_sqc68.yaml
@@ -0,0 +1,87 @@
+## DO-MS command line configuration
+## for use with do-ms_cmd.R
+
+## Input/Output
+
+# paths to folders with MaxQuant txt output
+input_folders:
+ - ~/Downloads/example_data_SQC68
+
+# files to load from each folder
+load_input_files:
+ - evidence
+ - msms
+ - msmsScans
+ - allPeptides
+ - summary
+ - parameters
+
+# match up with misc_input_files list in global.R
+#misc_input_files:
+# inclusion_list: /path/to/inclusion_list.txt
+
+output: ~/Downloads/SQC68_DO-MS_report.html
+
+## Filters
+
+# regular expressions to match raw file names against
+include_files: 'SQC68D[1-3]'
+exclude_files: ~
+
+# experiment name format string
+# %i -- index of raw file
+# %f -- folder name
+# %e -- raw file name
+exp_name_format: '%e'
+
+# optional regular expression pattern to extract
+# from the experiment names after applying the format string
+exp_name_pattern: 'SQC68[A-Z]{1}[0-9]{1}'
+
+# custom names for files
+exp_names:
+ - '250ms IT'
+ - '500ms IT'
+ - '1000ms IT'
+
+# custom order for files
+exp_order: [1,2,3]
+
+pep_thresh: 1
+pif_thresh: 0
+remove_decoy: REV_
+remove_contam: CON_
+
+## Figure rendering options
+
+ppi: 150
+
+# label font size
+figure_title_font_size: 16
+# axis tick label font size
+figure_axis_font_size: 12
+# facet label font size
+figure_facet_font_size: 12
+# line width
+figure_line_width: 1
+# show background grid
+figure_show_grid: true
+
+## Report options
+
+# choices: pdf, html
+report_format: html
+
+# choices: default, cerulean, flatly, darkly, readable,
+# spacelab, united, cosmo, lumen, paper, sandstone, simplex, yeti
+# previews: https://bootswatch.com/3/
+report_theme: readable
+
+# figure size (in inches)
+report_figure_width: 5
+report_figure_height: 5
+
+# figure format. choices: pdf, png
+report_figure_format: png
+
+
diff --git a/manuscript/PlotsForPub.RMD b/manuscript/PlotsForPub.RMD
new file mode 100644
index 0000000..95fbe25
--- /dev/null
+++ b/manuscript/PlotsForPub.RMD
@@ -0,0 +1,279 @@
+---
+title: "PlotsForPublication"
+author: "Gray Huffman"
+date: "September 19, 2018"
+output: html_document
+---
+
+```{r setup, include=FALSE}
+knitr::opts_chunk$set(echo = TRUE)
+```
+
+## R Markdown
+
+This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see .
+
+When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
+
+```{r}
+#Load Packages
+library(dplyr)
+library(plyr)
+library(ggplot2)
+library(reshape2)
+library(RColorBrewer)
+```
+
+```{r}
+#Global Variables
+textVar <- 1
+plot_col <- 'royalblue'
+plot_fill_col <- 'royalblue'
+
+plot_width <- 7
+plot_height <- 4
+plot_units <- "in"
+plot_rez <- 300
+
+theme_fig<-function(){
+
+theme(panel.background = element_rect(fill = "white",colour = "white"), panel.grid.major = element_line(size = .25, linetype = "solid",color="lightgrey"), panel.grid.minor = element_line(size = .25, linetype = "solid",color="lightgrey"),legend.position="none",axis.text.x = element_text(angle = 45, hjust = 1, margin=margin(r=45)), axis.title=element_text(size=rel(1.2*textVar),face="bold"), axis.text = element_text(size = rel(1.2*textVar)),strip.text = element_text(size=rel(1.2*textVar)), plot.title = element_text(size=20*textVar))
+
+}
+
+```
+
+
+```{r}
+############################################
+############################################
+# Clean-up Methods
+############################################
+############################################
+
+# Reading in data
+stageTip <- read.delim('G:/My Drive/2018_QC-MS/Fig_Data/Ids_Along_RT_U937/evidence.txt')
+
+# filter out contaminants
+stageTip_nC <- stageTip[ grep("CON", stageTip$Proteins, invert = TRUE) , ]
+stageTip_nCnR <- stageTip_nC[ grep("REV", stageTip_nC$Leading.razor.protein, invert = TRUE) , ]
+
+############################################
+# Data Subsetting
+############################################
+
+# Select Experiments
+list_of_ST_exps <- as.data.frame(levels(stageTip_nCnR$Raw.file))
+selected_ST_exps <- as.data.frame(list_of_ST_exps[c(1,3,6,7),1])
+names(selected_ST_exps) <- "expNames"
+stageTip_Selections <- stageTip_nCnR[stageTip_nCnR$Raw.file %in% selected_ST_exps$expNames,]
+
+histdata <- stageTip_Selections[,c("Raw.file","Retention.time","PEP")]
+#histdata <- histdata[histdata$PEP < input$slider,]
+lengthLev <- length(levels(histdata$Raw.file))
+
+# Renaming Levels
+levels(histdata$Raw.file) <- c("Stage Tip 3","ST3b","Stage Tip 2","ST2b","mPOP2","mPOP","Stage Tip 1","ST1b")
+maxRT <- max(histdata$Retention.time)
+
+# Changing Factor order
+histdata$Raw.file <- factor(histdata$Raw.file,levels=c("Stage Tip 1","ST1b","Stage Tip 2","ST2b","Stage Tip 3","ST3b","mPOP2","mPOP"))
+
+############################################
+# Plot generation
+############################################
+
+ggplot(histdata, aes(Retention.time)) + facet_wrap(~Raw.file, nrow = 1)+ geom_histogram(bins=100,color=plot_col, fill=plot_fill_col) + coord_flip() +
+
+theme_fig() +
+
+xlim(10, maxRT) + xlab("Retention Time (minutes)") + ylab("Number of IDs") + ggtitle("Peptide Identifications by Retention Time")
+
+# Saving Output Figure as .png
+ggsave("IDsByRetentionTime.png", width = plot_width, height = plot_height, units = "in", dpi = 300)
+
+```
+
+
+```{r}
+############################################
+############################################
+# Chemical Contaminants
+############################################
+############################################
+
+# Reading in data
+contam <- read.delim('G:/My Drive/2018_QC-MS/Fig_Data/PEG_Contam_QC44/allPeptides.txt')
+
+
+############################################
+# Data Subsetting
+############################################
+
+# Select Experiments
+list_of_Con_exps <- as.data.frame(levels(contam$Raw.file))
+selected_Con_exps <- as.data.frame(list_of_Con_exps[c(1,5),1])
+names(selected_Con_exps) <- "expNames"
+contam_Selections <- contam[contam$Raw.file %in% selected_Con_exps$expNames,]
+
+
+histdata <- contam_Selections[,c("Raw.file","Charge","Intensity","Retention.time")]
+lengthLev <- length(levels(histdata$Raw.file))
+
+histdata <- histdata[histdata$Charge == 1,]
+histdata$Retention.time <- floor(histdata$Retention.time)
+
+# Renaming Levels
+levels(histdata$Raw.file) <- c("Sample A - 817 IDs","2","3","4","Sample A - Contaminated - 383 IDs","6","7","8","9","10")
+maxRT <- max(histdata$Retention.time)
+
+# Changing Factor order
+#histdata$Raw.file <- factor(histdata$Raw.file,levels=c("Stage Tip 1","ST1b","Stage Tip 2","ST2b","Stage Tip 3","ST3b","mPOP2","mPOP"))
+ggplot(histdata, aes(x = Retention.time, y = Intensity)) + geom_bar(stat = 'identity', width= 1,color=plot_col, fill=plot_fill_col)+ facet_wrap(~Raw.file, nrow = 1) + coord_flip() +
+
+ theme_fig() +
+
+ xlab("Retention Time (min)") + ylab(expression(bold("Precursor Intensity"))) + ggtitle("Hydrophobicity of Contaminant Ions")
+
+
+# Saving Output Figure as .png
+ggsave("ContamsByRetentionTime.png", width = plot_width, height = plot_height, units = "in", dpi = 300)
+```
+
+
+
+```{r}
+
+############################################
+############################################
+# PEP cdf for Contam - maybe not necessary
+############################################
+############################################
+
+
+
+
+ # Plot:
+ contam <- read.delim('G:/My Drive/2018_QC-MS/Fig_Data/PEG_Contam_QC44/evidence.txt')
+
+
+
+ # Select Experiments
+list_of_Con_exps <- as.data.frame(levels(contam$Raw.file))
+selected_Con_exps <- as.data.frame(list_of_Con_exps[c(1,5),1])
+names(selected_Con_exps) <- "expNames"
+contam_Selections <- contam[contam$Raw.file %in% selected_Con_exps$expNames,]
+histdata <- contam_Selections
+
+ levels(histdata$Raw.file) <- c("Sample A - 817 IDs","2","3","4","Sample A - Contaminated - 383 IDs","6","7","8","9","10")
+
+
+
+ histdata_PEP <- count(histdata,c('Raw.file','PEP'))
+ DF.t <- ddply(histdata_PEP, .(Raw.file), transform, cy = cumsum(freq))
+
+
+
+ # Cut off for display
+ DF.t<-DF.t[DF.t$PEP<0.1,]
+
+
+ # Rank the Experiments by most number of peptides observed
+ maxnum<-c()
+ rawnames<-c()
+ for(X in unique(DF.t$Raw.file)){
+ maxnum<-c(maxnum, max(DF.t$cy[DF.t$Raw.file%in%X]) )
+ rawnames<-c(rawnames,X)
+ }
+ names(maxnum)<-rawnames
+ rankExp<-maxnum[order(maxnum, decreasing = T)]
+ rankExp_ord<-seq(1,length(rankExp),1); names(rankExp_ord)<-names(rankExp)
+ DF.t$rank_ord<-NA
+ for(X in unique(DF.t$Raw.file)){
+
+ DF.t$rank_ord[DF.t$Raw.file%in%X] <- rankExp_ord[X]
+
+ }
+
+ cc <- scales::seq_gradient_pal("red", "blue", "Lab")(seq(0,1,length.out=length(rankExp_ord)))
+
+ #ggplot(DF.t, aes(x=PEP, y=cy,group=Raw.file)) + geom_line(size = 1.2) + coord_flip() + scale_x_log10(limits = c(.00009,.1), breaks = c(.0001,.001,.01,.1), labels = scales::trans_format("log10", scales::math_format(10^.x))) + theme( panel.background = element_rect(fill = "white",colour = "white"), panel.grid.major = element_line(size = .25, linetype = "solid",color="lightgrey"), panel.grid.minor = element_line(size = .25, linetype = "solid",color="lightgrey"), axis.text.x = element_text(angle = 45, hjust = 1, margin=margin(r=45)), axis.title=element_text(size=rel(1.2),face="bold"), axis.text = element_text(size = rel(textVar)),strip.text = element_text(size=textVar)) + ylab("Number of IDs")
+ ggplot(DF.t, aes(x=PEP, color = factor(rank_ord), y=cy,group=Raw.file)) + geom_line(size = 1.2) +
+ scale_colour_manual(name = "Experiment", values=cc, labels = names(rankExp_ord)) +
+ coord_flip() + scale_x_log10(limits = c(.00009,.1), breaks = c(.0001,.001,.01,.1), labels = scales::trans_format("log10", scales::math_format(10^.x))) +
+ theme_fig() +
+ annotate("text", x=.00185, y=1250, label= paste0(unique(DF.t$Raw.file)[1]), color = "red", size = 5*textVar) +
+ annotate("text", x=.00055, y=1250, label= paste0(unique(DF.t$Raw.file)[2]), color = "blue", size = 5*textVar) +
+ ylab("Number of IDs")
+
+ ggsave("ContamsByPEP.png", width = plot_width, height = plot_height, units = "in", dpi = 300)
+
+
+```
+
+```{r}
+############################################
+############################################
+# Apex Offset
+############################################
+############################################
+
+# Reading in data
+apex <- read.delim('G:/My Drive/2018_QC-MS/Fig_Data/Apex_Offset_SQC68/msmsScans.txt')
+
+list_of_Apex_exps <- as.data.frame(levels(apex$Raw.file))
+selected_Apex_exps <- as.data.frame(list_of_Apex_exps[c(6,7,8),1])
+names(selected_Apex_exps) <- "expNames"
+apex_Selections <- apex[apex$Raw.file %in% selected_Apex_exps$expNames,]
+
+histdata <- apex_Selections[,c("Raw.file","Precursor.apex.offset.time")]
+lengthLev <- length(levels(histdata$Raw.file))
+levels(histdata$Raw.file) <- c("1","2","3","4","5","250ms fill time / Top 3","500ms fill time / Top 3","1000ms fill time / Top 3","9","10","11","12","13","14","15","16","17","18","19","20")
+histdata$Precursor.apex.offset.time <- histdata$Precursor.apex.offset.time*60
+histdata$Precursor.apex.offset.time[histdata$Precursor.apex.offset.time > 8] <- 9
+histdata$Precursor.apex.offset.time[histdata$Precursor.apex.offset.time < -8] <- -9
+
+ggplot(histdata, aes(Precursor.apex.offset.time)) + facet_wrap(~Raw.file, nrow = 1)+ geom_histogram(color=plot_col, fill=plot_fill_col) + coord_flip() +
+
+ theme_fig() +
+
+ xlab("Apex Offset (sec)") + ylab("MS2 Scans") + ggtitle("MS/MS Offset from Apex")
+
+# Saving Output Figure as .png
+ggsave("ApexOffset.png", width = plot_width, height = plot_height, units = "in", dpi = 300)
+
+
+```
+```{r}
+############################################
+############################################
+# Apex Offset
+############################################
+############################################
+
+# Reading in data
+apex <- read.delim('G:/My Drive/2018_QC-MS/Fig_Data/Apex_Offset_SQC68/msmsScans.txt')
+
+list_of_Apex_exps <- as.data.frame(levels(apex$Raw.file))
+selected_Apex_exps <- as.data.frame(list_of_Apex_exps[c(6,7,8),1])
+names(selected_Apex_exps) <- "expNames"
+apex_Selections <- apex[apex$Raw.file %in% selected_Apex_exps$expNames,]
+
+histdata <- apex_Selections[,c("Raw.file","Precursor.apex.offset.time")]
+lengthLev <- length(levels(histdata$Raw.file))
+levels(histdata$Raw.file) <- c("1","2","3","4","5","250ms fill time / Top 3","500ms fill time / Top 3","1000ms fill time / Top 3","9","10","11","12","13","14","15","16","17","18","19","20")
+histdata$Precursor.apex.offset.time <- histdata$Precursor.apex.offset.time*60
+histdata$Precursor.apex.offset.time[histdata$Precursor.apex.offset.time > 8] <- 9
+histdata$Precursor.apex.offset.time[histdata$Precursor.apex.offset.time < -8] <- -9
+
+ggplot(histdata, aes(Precursor.apex.offset.time)) + facet_wrap(~Raw.file, nrow = 1)+ geom_histogram(color=plot_col, fill=plot_fill_col) + coord_flip() +
+
+ theme_fig() +
+
+ xlab("Apex Offset (sec)") + ylab("MS2 Scans") + ggtitle("MS/MS Offset from Apex")
+
+# Saving Output Figure as .png
+ggsave("ApexOffset.png", width = plot_width, height = plot_height, units = "in", dpi = 300)
+
+
+```
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/01_charge_distribution_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/01_charge_distribution_TIMS.R
deleted file mode 100644
index d5ffeea..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/01_charge_distribution_TIMS.R
+++ /dev/null
@@ -1,82 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Features Identified by Charge'
- help_text <- 'Identified features are reported based on the charge.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt')))
- validate(need((nrow(data()[['allPeptides']]) > 1), paste0('No Rows selected')))
- }
-
- .get_label <- function(sequence, labelsdata){
-
- label = ''
-
- for (i in 1:length(labelsdata)){
- current_label <- labelsdata[[i]]
-
- if (grepl( current_label, sequence, fixed = TRUE)){
- label <- current_label
- }
-
- }
-
- return(label)
- }
-
- .plotdata <- function(data, input) {
- featuredata <- data()[['allPeptides']][,c('Raw.file', 'm.z', 'Charge')]
- labelsdata <- config[['ChemicalLabels']]
-
- featuredata$Charge[featuredata$Charge > 3] <- 4
-
- featuredata_total <- featuredata %>%
- dplyr::group_by(Raw.file, Charge) %>%
- dplyr::tally()
-
-
-
- return(featuredata_total)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
-
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- ggplot(plotdata) +
- geom_bar(aes(x=Charge, y=n, fill=factor(Charge), colour=factor(Charge)),
- stat='identity', position='dodge2', alpha=0.7) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
- labs(x='Charge State', y='Count', fill='Charge State') +
-
- theme_diann(input=input, show_legend=T) +
- theme(axis.text.x=element_blank(),
- axis.ticks.x=element_blank(),
- legend.position = "bottom") +
- scale_fill_manual(values = custom_colors)+
- scale_color_manual(values = custom_colors) +
- guides(fill = guide_legend(override.aes = list(color = NA)),
- color = 'none',
- shape = 'none')
-
-
-
- }
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
-
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/02_nIsotopes_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/02_nIsotopes_TIMS.R
deleted file mode 100644
index 8f49727..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/02_nIsotopes_TIMS.R
+++ /dev/null
@@ -1,61 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Isotopic Peaks Identified per Feature'
- help_text <- 'The number of isotopic peaks identified is shown for features detected in the MQ search.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'Number.of.isotopic.peaks')]
-
- plotdata$Number.of.isotopic.peaks[plotdata$Number.of.isotopic.peaks > 5] <- 5
-
- plotdata <- plotdata %>%
- dplyr::group_by(Raw.file, Number.of.isotopic.peaks) %>%
- dplyr::tally()
-
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- maxIsotopes <- max(plotdata$Number.of.isotopic.peaks)
-
- ggplot(plotdata) +
- geom_bar(aes(x=Number.of.isotopic.peaks, y=n, fill=factor(Number.of.isotopic.peaks), colour=factor(Number.of.isotopic.peaks)),
- stat='identity', position='dodge2', alpha=0.7) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
- labs(x='Number of Isotopic Peaks', y='Features identified', fill='Isotopes') +
- scale_fill_manual(values = custom_colors)+
- scale_color_manual(values = custom_colors)+
- theme(axis.text.x=element_blank(),
- axis.ticks.x=element_blank(),
- legend.position = "bottom") +
- theme_diann(input=input, show_legend=T) +
- guides(fill = guide_legend(override.aes = list(color = NA)),
- color = 'none',
- shape = 'none')
-
-
-
- }
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/041_IDs_by_RT_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/041_IDs_by_RT_TIMS.R
deleted file mode 100644
index facaaa2..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/041_IDs_by_RT_TIMS.R
+++ /dev/null
@@ -1,61 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Features Identified across Gradient'
- help_text <- 'The frequency of feature identifications based on the MaxQuant search is plotted across the chromatographic gradient.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'Charge', 'Retention.time', 'Retention.length')]
- plotdata$Retention.length <- as.numeric(plotdata$Retention.length)
- plotdata$Retention.time <- as.numeric(plotdata$Retention.time)
-
- plotdata <- dplyr::mutate(plotdata, RT.Start = Retention.time)
- plotdata <- dplyr::mutate(plotdata, RT.End = RT.Start + Retention.length)
-
- # Apply retention time filter as specified in settings.yaml
- plotdata <- plotdata %>%
- filter(RT.Start > config[['RT.Start']]) %>%
- filter(RT.End < config[['RT.End']])
-
- plotdata$Category = 'z = 1'
- plotdata$Category[plotdata$Charge > 1] <- 'z > 1'
-
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- maxRT <- max(plotdata$Retention.time)
-
- ggplot(plotdata, aes(x=Retention.time, color = Category)) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
- stat_bin(aes(y=..count..), size = 0.8, bins=100,position = "identity",geom="step")+
- coord_flip() +
- labs(x='Retention Time (min)', y='Number of Features') +
- scale_color_manual(name='Charge:', values=c(custom_colors[[1]], custom_colors[[6]]))+
- theme_diann(input=input, show_legend=T)+
- theme(legend.position = "bottom")
-
- }
-
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/042_IDs_by_mz_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/042_IDs_by_mz_TIMS.R
deleted file mode 100644
index 30c3a36..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/042_IDs_by_mz_TIMS.R
+++ /dev/null
@@ -1,51 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Features Identified across m/z'
- help_text <- 'The frequency of feature identifications based on the MaxQuant search is plotted across the mass to charge ratio.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'm.z', 'Charge')]
- plotdata$Category = 'z = 1'
- plotdata$Category[plotdata$Charge > 1] <- 'z > 1'
-
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- maxMZ <- max(plotdata$m.z)
- minMZ <- max(plotdata$m.z)
-
- ggplot(plotdata, aes(x=m.z, color = Category)) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
-
- stat_bin(aes(y=..count..), size = 0.8, bins=100,position = "identity",geom="step")+
- coord_flip() +
- labs(x='m/z', y='Number of Features') +
- theme_diann(input=input, show_legend=T) +
- scale_color_manual(name='Charge:', values=c(custom_colors[[1]], custom_colors[[6]]))+
- theme(legend.position = "bottom")
-
- }
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/043_MW_by_RT_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/043_MW_by_RT_TIMS.R
deleted file mode 100644
index 6788161..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/043_MW_by_RT_TIMS.R
+++ /dev/null
@@ -1,76 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- '# of Amino Acids in the Features Identified'
- help_text <- 'This provides the estimated molecular weight of the features identified. The assumed weight of an amino acid is 110Da and is used to divide the reported mass.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'Charge', 'Retention.time', 'Retention.length', 'Mass')]
- plotdata$Retention.length <- as.numeric(plotdata$Retention.length)
- plotdata$Retention.time <- as.numeric(plotdata$Retention.time)
- plotdata$Mass <- as.numeric(plotdata$Mass)
-
- plotdata <- dplyr::mutate(plotdata, RT.Start = Retention.time)
- plotdata <- dplyr::mutate(plotdata, RT.End = RT.Start + Retention.length)
-
- # Apply retention time filter as specified in settings.yaml
- plotdata <- plotdata %>%
- filter(RT.Start > config[['RT.Start']]) %>%
- filter(RT.End < config[['RT.End']])
-
- plotdata$Category = 'z = 1'
- plotdata$Category[plotdata$Charge > 1] <- 'z > 1'
-
- # Assume amino acid weight is 110Da and make new column of # of AA's
- plotdata <- dplyr::mutate(plotdata, AACount = Mass / 110)
- plotdata$AACount <- round(plotdata$AACount)
-
- # Thresholding data at 1 and 99th percentiles
- ceiling <- quantile(plotdata$AACount, probs=.99, na.rm = TRUE)
- floor <- quantile(plotdata$AACount, probs=.01, na.rm = TRUE)
-
- plotdata <- dplyr::filter(plotdata, is.finite(AACount))
- if(nrow(plotdata) > 0){
- plotdata[plotdata$AACount >= ceiling, 2] <- ceiling
- plotdata[plotdata$AACount <= floor, 2] <- floor
- }
-
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- maxRT <- max(plotdata$Retention.time)
-
- ggplot(plotdata, aes(x = AACount, fill = Category)) +
- geom_bar(stat = 'count', alpha = 0.5) +
- coord_flip() +
- xlim(0, 40) +
- labs(x='# of Amino Acids', y='Number of Features') +
- scale_color_manual(name='Charge:', values=c(custom_colors[[1]], custom_colors[[6]]))+
- theme_diann(input=input, show_legend=T)+
- theme(legend.position = "bottom")
-
- }
-
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/04_RT_length_base_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/04_RT_length_base_TIMS.R
deleted file mode 100644
index d220bfc..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/04_RT_length_base_TIMS.R
+++ /dev/null
@@ -1,71 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Retention Length of Features at Base'
- help_text <- 'Plotting the retention length of identified features at the base. Excluding +1 features and features with Intensity < 1000.'
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'Retention.time', 'Retention.length', 'Charge', 'Intensity')]
- plotdata$Retention.length <- as.numeric(plotdata$Retention.length)
- plotdata$Retention.time <- as.numeric(plotdata$Retention.time)
- plotdata$Charge <- as.numeric(plotdata$Charge)
- plotdata$Intensity <- as.numeric(plotdata$Intensity)
-
- plotdata <- dplyr::mutate(plotdata, RT.Start = Retention.time)
- plotdata <- dplyr::mutate(plotdata, RT.End = RT.Start + Retention.length)
-
- # Apply retention time filter as specified in settings.yaml
- plotdata <- plotdata %>%
- filter(RT.Start > config[['RT.Start']]) %>%
- filter(RT.End < config[['RT.End']])
-
-
- # Filter out +1 Features and Features less than 1000 intensity
- plotdata <- plotdata[plotdata$Charge > 1, ]
- plotdata <- plotdata[plotdata$Intensity >= 1000, ]
-
- plotdata <- dplyr::mutate(plotdata, RT.Length = (Retention.length)*60)
-
- # Thresholding data at 1 and 99th percentiles
- ceiling <- quantile(plotdata$RT.Length, probs=.99, na.rm = TRUE)
- floor <- quantile(plotdata$RT.Length, probs=.01, na.rm = TRUE)
-
- plotdata <- dplyr::filter(plotdata, is.finite(RT.Length))
-
- plotdata[plotdata$RT.Length >= ceiling, "RT.Length"] <- ceiling
- plotdata[plotdata$RT.Length <= floor, "RT.Length"] <- floor
-
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
- validate(need((nrow(plotdata) > 1), paste0('No Rows selected')))
-
- ggplot(plotdata, aes(RT.Length)) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
- geom_histogram(bins=50, fill=custom_colors[[6]]) +
- coord_flip() +
- labs(x='Retention Lengths at base (sec)', y='Features identified') +
- theme_diann(input=input, show_legend=T)
-
- }
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/modules/dia-nn/070_Feature_Detection_TIMS/05_intensity_distribution_TIMS.R b/modules/dia-nn/070_Feature_Detection_TIMS/05_intensity_distribution_TIMS.R
deleted file mode 100644
index 1249d32..0000000
--- a/modules/dia-nn/070_Feature_Detection_TIMS/05_intensity_distribution_TIMS.R
+++ /dev/null
@@ -1,53 +0,0 @@
-init <- function() {
-
- type <- 'plot'
- box_title <- 'Feature Intensity Distribution'
- help_text <- 'The distribution of intensities is shown for identified features. '
- source_file <- 'allPeptides'
-
- .validate <- function(data, input) {
- validate(need(data()[['allPeptides']], paste0('Upload allPeptides.txt file')))
- }
-
- .plotdata <- function(data, input) {
- plotdata <- data()[['allPeptides']][,c('Raw.file', 'Intensity')]
- plotdata$Intensity <- log10(plotdata$Intensity)
-
- # Thresholding data at 1 and 99th percentiles
- ceiling <- quantile(plotdata$Intensity, probs=.99, na.rm = TRUE)
- floor <- quantile(plotdata$Intensity, probs=.01, na.rm = TRUE)
-
- plotdata <- dplyr::filter(plotdata, is.finite(Intensity))
- if(nrow(plotdata) > 0){
- plotdata[plotdata$Intensity >= ceiling, 2] <- ceiling
- plotdata[plotdata$Intensity <= floor, 2] <- floor
- }
- return(plotdata)
- }
-
- .plot <- function(data, input) {
- .validate(data, input)
- plotdata <- .plotdata(data, input)
-
- ggplot(plotdata, aes(x=Intensity )) +
- facet_wrap(~Raw.file, nrow = 1, scales = "free_x") +
- geom_histogram(bins=50, fill=custom_colors[[6]]) +
- coord_flip() +
- labs(x=expression(bold('Log'[10]*'Feature Intensity')), y='Number of Features') +
- theme_diann(input=input, show_legend=T)
-
-
- }
-
- return(list(
- type=type,
- box_title=box_title,
- help_text=help_text,
- source_file=source_file,
- validate_func=.validate,
- plotdata_func=.plotdata,
- plot_func=.plot,
- dynamic_width=200,
- dynamic_width_base=50
- ))
-}
diff --git a/pipeline/env.yml b/pipeline/env.yml
new file mode 100644
index 0000000..8bc63ee
--- /dev/null
+++ b/pipeline/env.yml
@@ -0,0 +1,57 @@
+name: doms
+channels:
+ - conda-forge
+ - defaults
+dependencies:
+ - appdirs=1.4.4=pyh9f0ad1d_0
+ - brotlipy=0.7.0=py311he2be06e_1005
+ - bzip2=1.0.8=h3422bc3_4
+ - ca-certificates=2022.12.7=h4653dfc_0
+ - certifi=2022.12.7=pyhd8ed1ab_0
+ - cffi=1.15.1=py311hae827db_3
+ - charset-normalizer=2.1.1=pyhd8ed1ab_0
+ - codecov=2.1.12=pyhd8ed1ab_0
+ - colorama=0.4.6=pyhd8ed1ab_0
+ - coverage=7.2.1=py311he2be06e_0
+ - cryptography=39.0.1=py311h507f6e9_0
+ - idna=3.4=pyhd8ed1ab_0
+ - libblas=3.9.0=16_osxarm64_openblas
+ - libcblas=3.9.0=16_osxarm64_openblas
+ - libcxx=15.0.7=h75e25f2_0
+ - libffi=3.4.2=h3422bc3_5
+ - libgfortran=5.0.0=11_3_0_hd922786_28
+ - libgfortran5=11.3.0=hdaf2cc0_28
+ - liblapack=3.9.0=16_osxarm64_openblas
+ - libopenblas=0.3.21=openmp_hc731615_3
+ - libsqlite=3.40.0=h76d750c_0
+ - libzlib=1.2.13=h03a7124_4
+ - llvm-openmp=15.0.7=h7cfbb63_0
+ - ncurses=6.3=h07bb92c_1
+ - numpy=1.24.2=py311h60f8152_0
+ - openssl=3.0.8=h03a7124_0
+ - packaging=23.0=pyhd8ed1ab_0
+ - pandas=1.5.3=py311h4eec4a9_0
+ - pip=23.0.1=pyhd8ed1ab_0
+ - pooch=1.6.0=pyhd8ed1ab_0
+ - pycparser=2.21=pyhd8ed1ab_0
+ - pyopenssl=23.0.0=pyhd8ed1ab_0
+ - pysocks=1.7.1=pyha2e5f31_6
+ - python=3.11.0=h3ba56d0_1_cpython
+ - python-dateutil=2.8.2=pyhd8ed1ab_0
+ - python_abi=3.11=3_cp311
+ - pytz=2022.7.1=pyhd8ed1ab_0
+ - readline=8.1.2=h46ed386_0
+ - requests=2.28.2=pyhd8ed1ab_0
+ - scipy=1.10.1=py311h0bcca16_0
+ - setuptools=67.4.0=pyhd8ed1ab_0
+ - six=1.16.0=pyh6c4a22f_0
+ - tk=8.6.12=he1e0b03_0
+ - tomli=2.0.1=pyhd8ed1ab_0
+ - tqdm=4.64.1=pyhd8ed1ab_0
+ - tzdata=2022g=h191b570_0
+ - urllib3=1.26.14=pyhd8ed1ab_0
+ - wheel=0.38.4=pyhd8ed1ab_0
+ - xz=5.2.6=h57fd34a_0
+ - pip:
+ - pymzml==2.5.2
+ - regex==2022.10.31
\ No newline at end of file
diff --git a/pipeline/env_loose.yml b/pipeline/env_loose.yml
new file mode 100644
index 0000000..11ab3d2
--- /dev/null
+++ b/pipeline/env_loose.yml
@@ -0,0 +1,14 @@
+name: doms
+channels:
+ - conda-forge
+ - defaults
+dependencies:
+ - python>=3.8
+ - pip
+ - tqdm
+ - codecov
+ - pandas
+ - numpy
+ - scipy
+ - pip:
+ - pymzml
\ No newline at end of file
diff --git a/pipeline/test_processing.py b/pipeline/test_processing.py
new file mode 100644
index 0000000..e2caeb0
--- /dev/null
+++ b/pipeline/test_processing.py
@@ -0,0 +1,2 @@
+def test_processing():
+ print('hey')
\ No newline at end of file
diff --git a/resources/inclusion_list_example.csv b/resources/inclusion_list_example.csv
new file mode 100644
index 0000000..b50acd8
--- /dev/null
+++ b/resources/inclusion_list_example.csv
@@ -0,0 +1,1371 @@
+Sequence,mz,Charge,RTstart,RTend
+GGGGGGGGGAPR,543.28611,2,1.7,3.7
+SGNFGGSR,505.76447,2,1.7,3.7
+SVSSSSYR,551.29052,2,1.7,3.7
+EDAANNYAR,626.80961,2,1.8,3.8
+YEEEEEQSR,714.32803,2,1.8,3.8
+EYEEEER,606.78273,2,1.8,3.8
+EMQPTHPIR,451.90973,3,20.5,22.5
+GLQTSQDAR,602.8278,2,20.9,22.9
+VGPDTER,501.77451,2,21.9,23.9
+GTVQQADE,538.77471,2,22.1,24.1
+AAATSAK,539.33705,2,22.2,24.2
+AAGAGAAK,537.83722,2,22.4,24.4
+GSSAGFDR,513.26431,2,22.8,24.8
+AAAAAGTATSQR,673.86492,2,23,25
+IAGEASR,466.77177,2,23.1,25.1
+ATGDETGAK,654.364,2,23.2,25.2
+AAVAASSSS,490.26652,2,23.2,25.2
+GLSEDTR,503.77197,2,23.2,25.2
+IASEASR,481.77705,2,23.3,25.3
+AVTEQGHELSNEER,609.97266,3,23.3,25.3
+TDTGEPMGR,596.79511,2,23.3,25.3
+DTPASGK,567.33197,2,23.4,25.4
+DQGGFGDR,540.76721,2,23.6,25.6
+MGSGVER,482.7578,2,23.7,25.7
+YGGGGYGR,508.26157,2,23.9,25.9
+AQQAADK,616.35597,2,23.9,25.9
+DSYGGPPR,539.27996,2,24,26
+SATSPEGK,617.85581,2,24,26
+TVQEKEN,653.37436,2,24,26
+GGDAPAAGEDA,580.27507,2,24.1,26.1
+YYGGGSEGGR,616.29888,2,24.2,26.2
+TEADAEK,611.33999,2,24.2,26.2
+ASGYQSSQK,707.39054,2,24.3,26.3
+GPPPSYGGSSR,645.83563,2,24.4,26.4
+AGAHLQGGAK,456.61017,3,24.4,26.4
+AAGGATPK,565.85033,2,24.4,26.4
+LSPANQR,507.79832,2,24.4,26.4
+AASGEGKPK,511.31855,3,24.4,26.4
+AAESPDQK,652.36654,2,24.4,26.4
+EAEDSLR,524.77725,2,24.4,26.4
+ELAQTTR,524.30343,2,24.4,26.4
+GNVAGDSK,603.34815,2,24.6,26.6
+KAAATSAK,478.97976,3,24.7,26.7
+TATADDKK,512.9782,3,24.7,26.7
+DTDSEEEIR,661.8173,2,24.8,26.8
+RMMMQSGEAK,837.92251,2,24.8,26.8
+AVPTDEAR,544.30089,2,25.1,27.1
+AAANEQLTR,601.83817,2,25.1,27.1
+LTPQGQR,514.80614,2,25.2,27.2
+ALDDTAR,495.77451,2,25.3,27.3
+DQITAGNAAR,623.34108,2,25.4,27.4
+KAAGGATPK,496.65528,3,25.4,27.4
+AGGPGLER,493.28504,2,25.4,27.4
+HEANNPQLK,503.62437,3,25.5,27.5
+AASGEAKPK,515.99044,3,25.5,27.5
+YDDYSSSR,611.28289,2,25.6,27.6
+EEASNFR,541.27741,2,25.6,27.6
+AAEEPQQQK,764.92221,2,25.6,27.6
+TTHFVEGGDAGNR,530.6005,3,25.7,27.7
+GFGSEEGSR,577.7856,2,25.7,27.7
+EVQTAVR,516.30597,2,25.8,27.8
+VISSANR,488.29287,2,25.9,27.9
+QEMQEVQSSR,725.86152,2,25.9,27.9
+KLTPQGQR,462.62582,3,25.9,27.9
+APQAAGK,550.84505,2,25.9,27.9
+AEASLER,502.78233,2,26,28
+AAATQPDAK,665.89018,2,26,28
+HGVYNPNK,462.93465,3,26,28
+SYVTTSTR,572.314,2,26.1,28.1
+EAELGAR,487.77705,2,26.1,28.1
+DSGPPTK,580.33979,2,26.1,28.1
+GKPDAAK,458.62884,3,26.1,28.1
+KDPNAPK,486.30788,3,26.1,28.1
+NDKSEEEQSSSSVK,747.73196,3,26.2,28.2
+SVSDNDIR,567.80125,2,26.2,28.2
+ATGAATPK,587.86343,2,26.2,28.2
+GSPQQIDHAK,513.62789,3,26.3,28.3
+DSYESYGNSR,703.82292,2,26.3,28.3
+ESESVDK,626.34527,2,26.4,28.4
+VVVSGGR,451.78468,2,26.4,28.4
+EGIPPDQQR,634.84345,2,26.7,28.7
+EAGEQGDIEPR,715.35966,2,26.7,28.7
+LSPSPSSR,530.30343,2,26.7,28.7
+GAAVDGGK,566.83996,2,26.7,28.7
+AAATPAK,544.34742,2,26.7,28.7
+DVESDSAK,654.856,2,26.8,28.8
+AEMTAAAEER,662.32424,2,26.8,28.8
+GEGQLGPAER,621.83563,2,26.9,28.9
+EAENPEGEEK,795.40659,2,26.9,28.9
+VEADRPGK,686.40346,2,26.9,28.9
+EMAGDNK,611.82873,2,26.9,28.9
+TATPQQAQEVHEK,642.3546,3,27.1,29.1
+KPTTEEK,507.31481,3,27.1,29.1
+AAPEASGTPSSDAVSR,577.96187,3,27.2,29.2
+AAPEASGTPSSDAVSR,866.43917,2,27.2,29.2
+LGIHEDSQNR,466.58267,3,27.2,29.2
+DDGYSTK,622.33216,2,27.2,29.2
+DYAPPPR,522.78742,2,27.2,29.2
+GYDDRDYYSR,513.57395,3,27.3,29.3
+ASFNNPDR,575.29614,2,27.3,29.3
+RPDQQLQGEGK,571.99312,3,27.4,29.4
+KEEPSNNVK,578.01179,3,27.4,29.4
+AKPAPSK,462.64097,3,27.4,29.4
+SAAQAAAQTNSNAAGK,640.34974,3,27.5,29.5
+IQNDAGVR,551.31433,2,27.5,29.5
+DGEEAGAYDGPR,733.34147,2,27.5,29.5
+EETKEDAEEKQ,675.03146,3,27.5,29.5
+EAEEVYR,562.7929,2,27.5,29.5
+KPATAAGTK,511.33068,3,27.5,29.5
+KDETNVK,507.64656,3,27.5,29.5
+EGTTPKPK,515.65869,3,27.5,29.5
+VTGGAASK,574.85561,2,27.6,29.6
+KVDAGGK,454.62884,3,27.6,29.6
+YKAEDEVQR,532.6313,3,27.7,29.7
+SSVPGVR,465.78214,2,27.7,29.7
+EEFEHQQK,511.60849,3,27.7,29.7
+SDLYSSGR,557.29052,2,27.8,29.8
+EMEEQMR,591.27824,2,27.8,29.8
+QHVIDGEK,461.93806,3,27.8,29.8
+EETKEDAEEK,632.34527,3,27.9,29.9
+KVEQDTETK,589.0152,3,27.9,29.9
+LGIHEDSTNR,457.57904,3,28,30
+ATQASQEY,563.78253,2,28,30
+KPAGATPK,486.32,3,28,30
+ISGGNDK,574.83742,2,28,30
+ATTATMATSGSAR,748.88245,2,28.1,30.1
+AFHNEAQVNPER,547.61626,3,28.1,30.1
+VSTEVDAR,553.30617,2,28.1,30.1
+SSTAAQEVK,689.90075,2,28.1,30.1
+ESKDPADETEAD,882.93062,2,28.1,30.1
+KADGYNQPDSK,637.35773,3,28.2,30.2
+QMADTGK,604.8391,2,28.2,30.2
+EDIYSGGGGGGSR,720.84946,2,28.3,30.3
+KYEEVAR,451.60279,3,28.3,30.3
+KPAAAAGAK,491.32364,3,28.3,30.3
+AQAYQTGK,662.8849,2,28.3,30.3
+KPAAAAGAK,736.48182,2,28.3,30.3
+DAASVDK,582.33725,2,28.4,30.4
+ETNEPVK,637.87146,2,28.4,30.4
+GGEQINK,602.35852,2,28.4,30.4
+ISSPTETER,624.83529,2,28.5,30.5
+ELTDEEAER,660.82767,2,28.5,30.5
+EVYQQQQYGSGGR,864.92878,2,28.5,30.5
+EAGGGGVGGPGAK,736.41709,2,28.5,30.5
+KLEAAEER,468.61347,3,28.5,30.5
+QDVDNASLAR,659.35164,2,28.6,30.6
+VAPAQPSEEGPGR,762.40441,2,28.6,30.6
+TVDGPSGK,609.85835,2,28.6,30.6
+VNVGAGSHPNK,513.29988,3,28.6,30.6
+SINNAEK,617.3638,2,28.6,30.6
+GVKPQAK,472.31648,3,28.6,30.6
+AQQELEEQTR,730.88076,2,28.7,30.7
+KPEENPASK,563.00463,3,28.7,30.7
+GEQQIQK,644.8849,2,28.7,30.7
+YAEAVTR,519.7927,2,28.7,30.7
+YKAEDEK,523.97456,3,28.8,30.8
+KDISQNK,507.31855,3,28.8,30.8
+GYADSPSK,641.85581,2,28.9,30.9
+AMKDEEK,513.30028,3,28.9,30.9
+EAEVQAK,616.86617,2,28.9,30.9
+GLGDRPAPK,456.9503,3,28.9,30.9
+ATAAGVK,538.34742,2,28.9,30.9
+KAQQELEEQTR,606.67557,3,29,31
+AYAQGISR,547.81142,2,29,31
+SAPATGGVK,623.38199,2,29,31
+EAEGSSAEYK,764.8984,2,29,31
+DGGAWGTEQR,653.32289,2,29,31
+DKDAVDK,493.29916,3,29,31
+TVLSSAR,481.79524,2,29.1,31.1
+SPEDLER,537.78507,2,29.1,31.1
+HTGPNSPDTANDGFVR,638.64829,3,29.2,31.2
+VSSAEGAAK,639.37691,2,29.2,31.2
+DNMALQR,538.78963,2,29.2,31.2
+DAASVEK,589.34507,2,29.2,31.2
+GQDGIGSK,610.35597,2,29.2,31.2
+AAQNISK,595.36888,2,29.2,31.2
+EMDEEDK,677.33405,2,29.2,31.2
+DKQPYEQK,575.00463,3,29.3,31.3
+ATVEDEK,625.35564,2,29.3,31.3
+EIEDPEDR,616.30383,2,29.3,31.3
+AVEHINK,634.88998,2,29.4,31.4
+GITEQQK,631.37945,2,29.4,31.4
+KAEVEGK,483.30776,3,29.4,31.4
+GPGPLQER,541.81142,2,29.4,31.4
+EAAQEAVK,652.38473,2,29.5,31.5
+KPVGAAK,453.30933,3,29.5,31.5
+DAEDAVYGR,612.80654,2,29.6,31.6
+EVYPEAR,546.79798,2,29.6,31.6
+KPATSYVR,460.61855,3,29.7,31.7
+KSSTPEEVK,564.6764,3,29.7,31.7
+GQSEEIQK,688.89292,2,29.7,31.7
+TAEAGGVTGK,674.89546,2,29.7,31.7
+SNVSDAVAQSTR,732.38621,2,29.8,31.8
+ISEQSDAK,668.37965,2,29.8,31.8
+SLSDSESDDSK,814.40679,2,29.8,31.8
+KGQSEEIQK,578.68367,3,29.8,31.8
+EEEPVKK,515.98669,3,29.8,31.8
+ETIGKGK,473.97613,3,29.8,31.8
+KTSATVGPK,526.00608,3,29.9,31.9
+GAVQSGVDK,659.89018,2,29.9,31.9
+DKDPVNK,501.64304,3,29.9,31.9
+SAAETVTK,632.87928,2,30,32
+SESPKEPEQLR,586.66478,3,30,32
+KGESGQSWPR,530.63152,3,30,32
+ATMDAGK,576.32837,2,30,32
+GAGSGELK,588.85307,2,30,32
+STESLQANVQR,731.39658,2,30.1,32.1
+QVHPDTGISSK,542.9787,3,30.1,32.1
+EAAEQDVEK,738.90094,2,30.1,32.1
+TPGPGAQSALR,642.3671,2,30.1,32.1
+GVEEEEEDGEMRE,883.88304,2,30.2,32.2
+ENTQTTIK,696.90857,2,30.2,32.2
+AAVTPGKK,486.99189,3,30.2,32.2
+GESPVDYDGGR,690.83328,2,30.3,32.3
+KVAGAATPK,510.67093,3,30.3,32.3
+GTESISK,590.3529,2,30.3,32.3
+EIQTAVR,523.3138,2,30.4,32.4
+SMPEQTGEK,732.89206,2,30.4,32.4
+GEVAPDAK,622.86617,2,30.4,32.4
+FEETTADGR,627.81182,2,30.5,32.5
+NDEELNK,660.364,2,30.5,32.5
+DYDDMSPR,614.2793,2,30.6,32.6
+SHEAEVLK,457.60631,3,30.6,32.6
+KPAAAGVK,476.98837,3,30.6,32.6
+AAVTPGK,551.35525,2,30.6,32.6
+RYDDPEVQK,536.6313,3,30.7,32.7
+EAAEMGK,597.33365,2,30.7,32.7
+INYTEGR,541.29561,2,30.8,32.8
+GTFPDAR,496.77177,2,30.8,32.8
+EAPAPPK,584.36053,2,30.8,32.8
+EEASGSSVTAEEAK,618.32286,3,30.9,32.9
+ESFDGSVR,563.29052,2,30.9,32.9
+AAPAVQTK,622.39236,2,30.9,32.9
+MGANSLER,553.79492,2,30.9,32.9
+NAESNAELK,717.40365,2,30.9,32.9
+YASENVNK,691.88764,2,30.9,32.9
+EMGTPDVR,567.29475,2,31,33
+HLTGEFEK,473.60631,3,31,33
+LQNDAQLR,593.84071,2,31,33
+AAEDDEDDDVDTKK,751.71609,3,31.1,33.1
+EIEVGGGR,523.29561,2,31.1,33.1
+AGFAGDDAPR,603.30925,2,31.1,33.1
+DGDGTITTK,683.38493,2,31.1,33.1
+AIQMASR,503.28927,2,31.1,33.1
+DPSAVAK,573.35016,2,31.1,33.1
+AVTTPGK,566.36053,2,31.2,33.2
+STAGDTHLGGEDFDNR,640.96769,3,31.3,33.3
+QEYDESGPSIVHR,582.62672,3,31.3,33.3
+DMEESIR,554.77893,2,31.3,33.3
+LGGAGMER,510.2789,2,31.3,33.3
+MKDTDSEEEIR,604.31342,3,31.4,33.4
+ETIEQEK,667.88202,2,31.4,33.4
+EGQEDQGLTK,781.92495,2,31.4,33.4
+EYVEHTVK,488.28172,3,31.4,33.4
+SKGQESFK,533.32207,3,31.4,33.4
+GAVAEDGDELR,680.84893,2,31.5,33.5
+DAVTYTEHAK,531.62766,3,31.5,33.5
+AADEVAEGK,674.37965,2,31.5,33.5
+VEKPDTK,501.98317,3,31.5,33.5
+SSQPLASK,638.38727,2,31.6,33.6
+EKVESELR,483.28887,3,31.6,33.6
+KDDEVQVVR,515.97154,3,31.6,33.6
+GSGGFGSTGK,656.86671,2,31.6,33.6
+ITDSEDK,633.3531,2,31.6,33.6
+TQAPAVATT,544.81109,2,31.6,33.6
+KITAASK,469.31637,3,31.6,33.6
+KVQSGNINAAK,606.37858,3,31.7,33.7
+MMMQSGR,535.26134,2,31.7,33.7
+DDEVQVVR,594.82473,2,31.7,33.7
+GTGASGSFK,635.3638,2,31.8,33.8
+ETAQALK,609.87654,2,31.8,33.8
+LDSEDKDK,546.31688,3,31.8,33.8
+LQSIGTENTEENRR,625.99558,3,31.9,33.9
+ALSTGEK,582.35544,2,31.9,33.9
+SVTEQGAELSNEER,593.29703,3,32,34
+SVEETLR,531.80327,2,32,34
+SVDEALR,509.79016,2,32,34
+SVTEQGAELSNEER,889.44191,2,32.1,34.1
+GPAYGLSR,525.30069,2,32.1,34.1
+YEITEQR,584.314,2,32.1,34.1
+MQPASAK,616.8573,2,32.1,34.1
+KGDSSAEELK,584.34331,3,32.2,34.2
+TEADVNPK,687.38747,2,32.2,34.2
+EIQVQHPAAK,526.98378,3,32.2,34.2
+DPGVLDR,500.78488,2,32.2,34.2
+AVTEQGAELSNEER,881.44446,2,32.3,34.3
+EDTEEYNLR,699.34094,2,32.3,34.3
+EKYEITEQR,551.97859,3,32.3,34.3
+NSTWSGESK,727.388,2,32.3,34.3
+GAGSVFR,461.76903,2,32.3,34.3
+KLEDGPK,491.97965,3,32.3,34.3
+ATAGDTHLGGEDFDNR,635.63605,3,32.4,34.4
+ATEEQLK,638.87928,2,32.4,34.4
+VLENAEGAR,594.33272,2,32.4,34.4
+LATATGAK,595.87909,2,32.4,34.4
+AYEKPPEK,550.33409,3,32.4,34.4
+SLESINSR,567.81945,2,32.5,34.5
+LAEEENK,645.86891,2,32.5,34.5
+GMGTVQK,589.85201,2,32.5,34.5
+ALAGNPK,564.8607,2,32.5,34.5
+KGTVVAEK,506.99893,3,32.5,34.5
+DSYVGDEAQSK,828.92769,2,32.6,34.6
+DSYVGDEAQSK,552.95422,3,32.6,34.6
+ELSEQIQR,616.34583,2,32.6,34.6
+VDNDENEHQLSLR,599.96914,3,32.7,34.7
+AVADAIR,472.78996,2,32.7,34.7
+NKEEAAEYAK,614.01883,3,32.7,34.7
+SVSDYDGK,664.85855,2,32.7,34.7
+LAGESESNLR,652.85402,2,32.7,34.7
+ASYGVSK,585.35016,2,32.7,34.7
+MVNDAEK,632.85221,2,32.7,34.7
+GILNGQK,594.37925,2,32.7,34.7
+EGLQNMEAR,638.82949,2,32.8,34.8
+YRPGTVALR,631.38255,2,32.8,34.8
+TAVAPIER,543.32945,2,32.8,34.8
+GTSSFGK,571.33451,2,32.8,34.8
+AAFNSGK,576.8425,2,32.8,34.8
+ATVVESSEK,704.4084,2,32.9,34.9
+LQEETGAK,667.39001,2,32.9,34.9
+EKEELMER,507.94975,3,32.9,34.9
+GTDSQAMEEEKPEGHV,734.69648,3,32.9,34.9
+ALTQTGGPHVK,522.98378,3,33,35
+GANPVEIR,542.81925,2,33,35
+KDDTDDEIAK,613.01011,3,33,35
+QASEGPLK,644.38727,2,33,35
+SDEMNVK,640.84967,2,33,35
+VDIAEGR,494.78488,2,33,35
+MGPAIER,501.78382,2,33,35
+AMQGLTGR,531.8,2,33.1,35.1
+DGYDYDGYR,676.80145,2,33.1,35.1
+KGESQTDIEITR,612.34734,3,33.2,35.2
+SEGFDTYR,602.2958,2,33.2,35.2
+DLEGSDIDTR,675.34094,2,33.2,35.2
+KAEAQIAAK,539.6816,3,33.2,35.2
+KYEEIDNAPEER,651.01061,3,33.3,35.3
+DDPSTIEK,681.87948,2,33.3,35.3
+VMTDESGK,662.86277,2,33.3,35.3
+GIWHNDNK,481.26992,3,33.3,35.3
+ELEVQHPAAK,527.31179,3,33.3,35.3
+LKEEAEK,511.98669,3,33.3,35.3
+MEVKPPPGRPQPDSGR,750.0806,3,33.5,35.5
+DNNLLGR,515.79577,2,33.5,35.5
+DETNYGIPQR,711.36475,2,33.5,35.5
+DYNVTANSK,735.40365,2,33.5,35.5
+GGAGVGSMTK,661.87876,2,33.5,35.5
+AAVDYQK,626.86872,2,33.5,35.5
+ETEGDVTSVK,761.92187,2,33.6,35.6
+AAQASDLEK,695.90075,2,33.6,35.6
+AQVIYTR,540.32417,2,33.6,35.6
+VDEEQMK,668.86277,2,33.6,35.6
+GAFGKPQGTVAR,549.66293,3,33.7,35.7
+AAQEEYVK,698.39784,2,33.7,35.7
+GADINAPDK,679.88764,2,33.7,35.7
+IANPVEGSSGR,658.36201,2,33.8,35.8
+DAIAQAVR,536.81925,2,33.8,35.8
+ANPFGGASHAK,505.62084,3,33.8,35.8
+QQYESVAAK,741.42184,2,33.8,35.8
+MVQEAEK,646.86786,2,33.8,35.8
+EDQTEYLEER,770.87006,2,33.9,35.9
+EATDAIGHLDR,476.25444,3,33.9,35.9
+GSTPYGGVK,662.38727,2,33.9,35.9
+APNVVVTR,542.83744,2,33.9,35.9
+ANLNALDR,558.32216,2,33.9,35.9
+ALLQSSASR,581.34309,2,34,36
+EVEEDEYK,749.8875,2,34,36
+LYAVHQEGNK,539.64354,3,34,36
+GGPLDGTYR,582.81416,2,34,36
+DGVTVAK,574.35799,2,34,36
+ITITNDQNR,652.36201,2,34.1,36.1
+AGELTEDEVER,738.87261,2,34.2,36.2
+SLQSVAEER,624.34329,2,34.2,36.2
+GPPPSWGR,541.80086,2,34.2,36.2
+GHLENNPALEK,560.65421,3,34.2,36.2
+GTVEPQLEAR,664.87221,2,34.2,36.2
+KFAETQPK,546.00608,3,34.2,36.2
+AFEDEKK,518.64292,3,34.2,36.2
+ADKDYHFK,570.99759,3,34.3,36.3
+WQDEDGKK,564.98898,3,34.3,36.3
+ETADAITK,653.88456,2,34.3,36.3
+KGAAIPAK,481.66025,3,34.3,36.3
+KLLEGEESR,506.96791,3,34.4,36.4
+DAAEAIK,588.35544,2,34.4,36.4
+LQSEPESIR,644.35894,2,34.4,36.4
+GSSNSYAIK,692.89546,2,34.5,36.5
+EKNPDMVAGEK,635.69547,3,34.5,36.5
+AMQDAEVSK,718.89461,2,34.5,36.5
+SPPPGMGLNQNR,748.89569,2,34.6,36.6
+MYSYPAR,558.7891,2,34.6,36.6
+QMSGAQIK,660.88913,2,34.6,36.6
+EHGAFDAVK,477.93806,3,34.6,36.6
+KEDMTYAVR,524.29363,3,34.7,36.7
+GKDSLYAQGK,585.35203,3,34.7,36.7
+KLELSDNR,478.28898,3,34.7,36.7
+VTLTSEEEAR,682.36696,2,34.8,36.8
+AAPGAEFAPNKR,562.99457,3,34.8,36.8
+KLELSENR,482.96087,3,34.8,36.8
+NTTIPTK,616.88437,2,34.8,36.8
+AGIIASAR,494.31106,2,34.9,36.9
+AENYDIPSADR,740.36749,2,34.9,36.9
+GEEILSGAQR,644.85656,2,34.9,36.9
+GVNTFSPEGR,646.84345,2,34.9,36.9
+KDGADFAK,513.64304,3,34.9,36.9
+ASEELQK,652.87674,2,35,37
+IANPVEGSTDR,694.37258,2,35,37
+GQPDEELKPK,610.03096,3,35,37
+AQLGGPEAAK,700.41911,2,35,37
+ATLSSIR,488.80307,2,35.1,37.1
+YKPESEELTAER,637.34723,3,35.1,37.1
+AYGELPEHAK,524.96439,3,35.1,37.1
+RPQYSNPPVQGEVMEGADNQGAGEQGR,1034.16165,3,35.1,37.1
+DVNQQEFVR,682.36201,2,35.2,37.2
+RFPGYDSESK,548.6313,3,35.2,37.2
+KPNEGADGQWK,639.69809,3,35.2,37.2
+DALTAEK,603.36073,2,35.2,37.2
+EMLQQSK,661.38113,2,35.2,37.2
+GAAIPAK,543.35779,2,35.2,37.2
+QIDNPDYK,725.90075,2,35.3,37.3
+HQGVMVGMGQK,543.97049,3,35.3,37.3
+QAGPASVPLR,612.86673,2,35.3,37.3
+KVGDDIAK,511.65869,3,35.3,37.3
+IYEDGDDDMKR,605.63801,3,35.4,37.4
+EAESSPFVER,690.35385,2,35.4,37.4
+EAGGAFGK,597.84778,2,35.4,37.4
+VEQATKPSFESGR,632.01933,3,35.5,37.5
+EGVHGGLINK,494.63286,3,35.5,37.5
+GTLVQTK,602.88691,2,35.5,37.5
+DLLAQAR,508.30852,2,35.5,37.5
+KVTAAMGK,498.32113,3,35.5,37.5
+LSKEEIER,487.96075,3,35.5,37.5
+LEKEAVK,501.9953,3,35.5,37.5
+LGVIEDHSNR,456.91928,3,35.6,37.6
+VPVHDVTDASK,542.64695,3,35.6,37.6
+ESTAEKDEL,740.40077,2,35.6,37.6
+GGGQIIPTAR,599.85891,2,35.6,37.6
+HLIPAANTGESK,565.99798,3,35.7,37.7
+EVQTNDLK,702.90857,2,35.7,37.7
+DSLYAQGK,670.38473,2,35.7,37.7
+VAEIEHAEK,495.28887,3,35.7,37.7
+AYTNFDAER,658.32764,2,35.7,37.7
+TAAESFK,606.35544,2,35.7,37.7
+DGADFAK,591.33197,2,35.7,37.7
+LQSIGTENTEENR,860.43917,2,35.8,37.8
+EKIETELR,492.63264,3,35.8,37.8
+DTYIENEK,735.39804,2,35.8,37.8
+KLNVTEQEK,592.69932,3,35.9,37.9
+YKEETIEK,576.34465,3,35.9,37.9
+ITPEEAK,623.37638,2,35.9,37.9
+MYEEHLK,469.9284,3,35.9,37.9
+FKDPNAPK,535.33068,3,35.9,37.9
+MVPTSDK,618.35713,2,35.9,37.9
+KDEEVLK,516.65857,3,35.9,37.9
+LLEGEESR,581.31928,2,36,38
+LSYNTASNK,728.41402,2,36,38
+DITSDTSGDFR,721.85167,2,36,38
+FAETQPK,639.87654,2,36,38
+LGNDFHTNK,501.94885,3,36,38
+ETAENYLGHTAK,597.99289,3,36.1,38.1
+ETIMNQEK,725.90243,2,36.1,38.1
+AQAAAPASVPAQAPK,612.6963,3,36.2,38.2
+GSAPPGPVPEGSIR,775.43042,2,36.2,38.2
+VGGTSDVEVNEK,564.64538,3,36.2,38.2
+VGGTSDVEVNEK,846.46444,2,36.2,38.2
+DQVANSAFVER,732.88585,2,36.3,38.3
+TPVEPEVAIHR,492.95058,3,36.3,38.3
+TVGVEPAADGK,751.43495,2,36.3,38.3
+AVDFAER,518.78488,2,36.3,38.3
+EPSEVPTPK,721.41877,2,36.3,38.3
+SGYLAGDK,634.86617,2,36.3,38.3
+GTVVTGTLER,631.3693,2,36.4,38.4
+ESIESEIR,596.32456,2,36.4,38.4
+SAINEVVTR,609.3562,2,36.4,38.4
+QVDQLTNDK,759.93003,2,36.4,38.4
+SAVEDEGLK,703.40058,2,36.4,38.4
+KAYGQALAK,546.34996,3,36.4,38.4
+EHYVDLK,454.59916,3,36.4,38.4
+EQVANSAFVER,739.89367,2,36.5,38.5
+EAMEDGEIDGNK,883.43756,2,36.5,38.5
+AAQLAIR,486.3136,2,36.5,38.5
+VYEGERPLTK,550.65908,3,36.5,38.5
+SQDIYLR,562.31908,2,36.5,38.5
+LQDAEIAR,572.82981,2,36.5,38.5
+SQKPVMVK,535.34393,3,36.5,38.5
+EAMEDGEIDGNK,589.29413,3,36.6,38.6
+SDLNQGAWAR,673.85435,2,36.6,38.6
+HTLNQIDSVK,538.31894,3,36.6,38.6
+TDYNASVSVPDSSGPER,1005.48431,2,36.7,38.7
+GGGHVAQIYAIR,490.9508,3,36.7,38.7
+STTTGHLIYK,526.98004,3,36.7,38.7
+AELDDTPMR,638.82387,2,36.7,38.7
+KVVVSPTK,515.68294,3,36.7,38.7
+AFEEAEK,641.35818,2,36.7,38.7
+VNKPPYPK,544.01469,3,36.7,38.7
+VITEEEK,653.38694,2,36.8,38.8
+SEHPGLSIGDTAK,590.66478,3,36.8,38.8
+LLEGEEER,602.32456,2,36.8,38.8
+LVEVDSGR,552.31654,2,36.8,38.8
+LTSDDVK,618.36601,2,36.8,38.8
+GASQAGMTGYGMPR,806.89229,2,36.9,38.9
+EALLQASR,558.83236,2,36.9,38.9
+SLDALGIDSR,638.35894,2,36.9,38.9
+AEDGENYDIK,806.41696,2,36.9,38.9
+GYSFTTTAER,681.34857,2,37,39
+DLDELSR,538.7929,2,37,39
+ALPSEELNR,629.35365,2,37,39
+IEGVYAR,518.80307,2,37,39
+IDVGEAEPR,607.83255,2,37,39
+KGEDFVK,503.97965,3,37,39
+GGGGNFGPGPGSNFR,803.89982,2,37.1,39.1
+GGGGNFGPGPGSNFR,536.26897,3,37.1,39.1
+VVDRDSEEAEIIR,587.31777,3,37.1,39.1
+ATVQQLEGR,636.8591,2,37.1,39.1
+VTDALNATR,595.34055,2,37.1,39.1
+GKEDALVTK,550.01313,3,37.1,39.1
+SQAEFEK,669.86891,2,37.2,39.2
+VTQDELK,645.88711,2,37.2,39.2
+DLGEEHFK,478.26607,3,37.2,39.2
+IAGQVAAANK,700.93492,2,37.2,39.2
+FYGDEEKDK,606.6678,3,37.3,39.3
+HQEGEIFDTEK,597.64902,3,37.3,39.3
+AADAEAEVASLNR,773.40715,2,37.4,39.4
+LLADQAEAR,608.34837,2,37.4,39.4
+MPSGEFAR,562.29201,2,37.4,39.4
+EDLTEIR,552.80855,2,37.4,39.4
+GEFVTTVQQR,697.38549,2,37.5,39.5
+AWAGSPK,587.85287,2,37.5,39.5
+SETAPAAPAAPAPAEK,990.04613,2,37.6,39.6
+EDKYEEEIK,624.01861,3,37.6,39.6
+SKEYFSK,525.98317,3,37.6,39.6
+VKLPSGSK,501.66729,3,37.6,39.6
+SETAPAAPAAPAPAEK,660.36651,3,37.7,39.7
+IGHPAPNFK,480.29055,3,37.7,39.7
+GVQVETISPGDGR,772.41751,2,37.8,39.8
+RPAEDMEEEQAFK,680.01537,3,37.8,39.8
+EFHLNESGDPSSK,635.66333,3,37.8,39.8
+GGSGSGPTIEEVD,717.35151,2,37.8,39.8
+TKPIWTR,453.95528,3,37.8,39.8
+ALVATPGKK,524.68658,3,37.9,39.9
+NPADLPK,606.87126,2,37.9,39.9
+GDATVSYEDPPTAK,637.00335,3,38,40
+ASGNYATVISHNPETK,716.38808,3,38,40
+MQASIEK,632.8704,2,38,40
+ASSDIQVK,674.39784,2,38,40
+EPMQTGIK,681.39678,2,38,40
+AAVVVSK,566.37872,2,38,40
+LNVTEQEK,709.9164,2,38.1,40.1
+ADEGISFR,562.30089,2,38.1,40.1
+IDEPLEGSEDR,744.87261,2,38.2,40.2
+ELGTVMR,517.79693,2,38.2,40.2
+ALELEQER,608.84038,2,38.2,40.2
+SLGTADVHFER,487.59469,3,38.2,40.2
+LSDLDSETR,632.83275,2,38.2,40.2
+GMGTALK,568.34911,2,38.2,40.2
+IEVGAEK,602.37109,2,38.2,40.2
+AVVGVVAGGGR,585.86145,2,38.3,40.3
+ALEENNNFSK,812.44077,2,38.3,40.3
+GGDLMAYDR,613.80548,2,38.3,40.3
+IDDVVNTR,580.82727,2,38.3,40.3
+VVEVGSK,588.37364,2,38.3,40.3
+VVTDTDETELAR,789.41464,2,38.4,40.4
+GGNFGFGDSR,621.80687,2,38.4,40.4
+GSAITGPVAK,679.92402,2,38.4,40.4
+NIGVDNPAAK,728.92984,2,38.4,40.4
+LAQYESK,648.88182,2,38.4,40.4
+HFELGGDK,454.25902,3,38.4,40.4
+LTIAEER,530.81363,2,38.5,40.5
+AYGQALAK,640.39236,2,38.5,40.5
+FSTPEQAAK,718.91111,2,38.5,40.5
+DTAAWTVGR,603.32744,2,38.5,40.5
+AHSIQIMK,462.61615,3,38.5,40.5
+SNYNLPMHK,521.29022,3,38.5,40.5
+KDEDLFR,460.93443,3,38.5,40.5
+AENQVLAMR,630.85022,2,38.6,40.6
+GSGTAEVELK,724.92168,2,38.7,40.7
+TVSLGAGAK,631.39764,2,38.7,40.7
+EATNPPVIQEEKPK,756.44532,3,38.7,40.7
+KPALVAK,471.99686,3,38.7,40.7
+SKIETEIK,545.68138,3,38.7,40.7
+QHYIDLK,458.94304,3,38.7,40.7
+AALLTER,501.81089,2,38.7,40.7
+ELVLDNSR,587.8351,2,38.8,40.8
+NFSDNQLQEGK,869.46223,2,38.8,40.8
+ADYEIASK,677.88456,2,38.8,40.8
+YHPGYFGK,476.26763,3,38.8,40.8
+GSDSLIK,589.36327,2,38.8,40.8
+HYGGLTGLNK,506.63286,3,38.9,40.9
+VGEFSGANK,683.89018,2,38.9,40.9
+GPSSVEDIK,695.40312,2,38.9,40.9
+AEVSELK,617.37638,2,38.9,40.9
+KLGDALK,477.98825,3,38.9,40.9
+AGGAAVVITEPEHTK,646.70687,3,39,41
+VLNTNIDGR,615.85382,2,39,41
+DNIQGITK,673.90583,2,39,41
+QAVDVSPLR,607.35874,2,39,41
+YAISMAR,520.79165,2,39,41
+STLEPVEK,680.90804,2,39,41
+EALQDVEDENQ,759.85969,2,39,41
+ISAVSVAER,580.84546,2,39,41
+EGVMVAK,596.36221,2,39,41
+SIEVIENR,594.84292,2,39.1,41.1
+HFMLQIALK,520.32297,3,39.1,41.1
+GAEAANVTGPGGVPVQGSK,718.73548,3,39.2,41.2
+VEILANDQGNR,729.39912,2,39.2,41.2
+YYPTEDVPR,684.85349,2,39.2,41.2
+LAPEYEAAATR,710.88532,2,39.2,41.2
+GGIVSQVK,623.40018,2,39.2,41.2
+TIIQNPTDQQK,582.00502,3,39.2,41.2
+KGVITVK,478.00038,3,39.2,41.2
+ETGVDLTK,660.89239,2,39.2,41.2
+MTPSYEIR,613.32605,2,39.2,41.2
+NLQTVNVDEN,687.85676,2,39.2,41.2
+IIAPPER,512.82126,2,39.2,41.2
+AAEVLNK,601.87909,2,39.3,41.3
+IGVITNR,501.31889,2,39.3,41.3
+MEGVEEK,661.35732,2,39.3,41.3
+KIESFGSK,528.33057,3,39.3,41.3
+EGNPEEDLTADK,888.45681,2,39.4,41.4
+APGIIPR,476.8107,2,39.4,41.4
+ELSGTIK,603.37892,2,39.5,41.5
+NTDEMVELR,668.34243,2,39.5,41.5
+HLQLAIR,540.34798,2,39.5,41.5
+AVVIVDDR,558.33473,2,39.6,41.6
+LDPITGR,500.80307,2,39.6,41.6
+ELSEALTR,574.32965,2,39.6,41.6
+VSDYEMK,665.35987,2,39.6,41.6
+LELQGPR,521.31634,2,39.7,41.7
+AEPVEVVAPR,648.37967,2,39.7,41.7
+ELAQQIQK,708.43476,2,39.7,41.7
+SMIEISR,532.80221,2,39.7,41.7
+SLDEMEK,655.35732,2,39.7,41.7
+VIADNVK,608.88691,2,39.7,41.7
+ANAQAAALYK,739.9402,2,39.8,41.8
+VSSFEEK,642.36601,2,39.8,41.8
+VINEEYK,676.89493,2,39.8,41.8
+VVPGYGHAVLR,466.28026,3,39.9,41.9
+HFVALSTNTTK,559.66271,3,39.9,41.9
+GTTAVLTEK,689.42131,2,39.9,41.9
+IASDGLK,581.36581,2,39.9,41.9
+DGLEMEK,640.35204,2,39.9,41.9
+AVELAANTK,687.92148,2,40,42
+VEQLGAEGNVEESQK,692.37221,3,40,42
+TGYTLDVTTGQR,770.91206,2,40,42
+ILNDVQDR,601.34055,2,40,42
+LKEEISK,511.99882,3,40,42
+DTLYEAVR,598.32965,2,40.1,42.1
+MINTDLSR,589.82367,2,40.1,42.1
+ESEAVEWQQK,846.45387,2,40.1,42.1
+LTQDQDVDVK,809.95625,2,40.1,42.1
+GKFEDMAK,538.31604,3,40.1,42.1
+KVEDMMK,523.31001,3,40.1,42.1
+QVFGEATK,669.3951,2,40.1,42.1
+KLDPGSEETQTLVR,677.72106,3,40.2,42.2
+LTPEELER,608.34275,2,40.2,42.2
+GGVVGIK,544.36561,2,40.2,42.2
+GTLDPVEK,658.89493,2,40.3,42.3
+ALVATPGK,607.89728,2,40.3,42.3
+DVVQAYPEVR,702.88786,2,40.3,42.3
+SKFDEMAK,548.31956,3,40.3,42.3
+AVGPEITK,636.90002,2,40.3,42.3
+VPVPEDK,621.37892,2,40.3,42.3
+VAIEHLDK,461.61844,3,40.4,42.4
+DGIVLGADTR,623.35365,2,40.4,42.4
+ATEGMVVADK,739.91808,2,40.4,42.4
+VVLDSPR,507.81089,2,40.4,42.4
+DLEAEHVEVEDTTLNR,700.35332,3,40.5,42.5
+IASNAGSIA,516.79798,2,40.5,42.5
+YFSEADK,659.35818,2,40.5,42.5
+SSSISSFK,650.87928,2,40.6,42.6
+IVQAEGEAEAAK,837.47735,2,40.6,42.6
+YESLTDPSK,499.94488,3,40.6,42.6
+DYPLASK,626.37109,2,40.6,42.6
+KAEAGAGSATEFQFR,676.702,3,40.7,42.7
+SLYASSPGGVYATR,829.44099,2,40.7,42.7
+YESLTDPSK,749.41369,2,40.7,42.7
+MIYASSK,629.3675,2,40.7,42.7
+MGESDDSILR,676.33989,2,40.8,42.8
+GGEIQPVSVK,736.44786,2,40.8,42.8
+VEEIAASK,652.89493,2,40.8,42.8
+ILAEGGGAK,637.39764,2,40.8,42.8
+VGTVIGSNK,666.9162,2,40.8,42.8
+IQFKPDDGTTPER,654.69474,3,40.8,42.8
+SLDQQIK,645.3951,2,40.8,42.8
+SDAAVDTSSEITTK,963.00941,2,40.9,42.9
+AAIISAEGDSK,760.44023,2,40.9,42.9
+DLPEHAVLK,493.96936,3,40.9,42.9
+IFVNDDR,554.30343,2,40.9,42.9
+DNSTMGYMAAK,823.91775,2,41,43
+AIASSLK,574.37618,2,41,43
+GETDLIQK,681.40566,2,41,43
+TPAQYDASELK,840.96407,2,41.1,43.1
+ALAPEYAK,660.90002,2,41.1,43.1
+AGEVFIHK,453.6114,3,41.1,43.1
+VVSSIEQK,674.41603,2,41.2,43.2
+ITITNDK,631.88965,2,41.2,43.2
+IQEAGTEVVK,766.45843,2,41.2,43.2
+GISQEQMQEFR,791.39827,2,41.2,43.2
+FVETPGQK,682.40292,2,41.2,43.2
+DNNLLGK,616.37417,2,41.2,43.2
+KADIDLTK,531.00597,3,41.2,43.2
+ALTSELANAR,637.86693,2,41.3,43.3
+EEAENTLQSFR,776.89387,2,41.3,43.3
+ISDSEGFK,670.87674,2,41.3,43.3
+EYTINIHK,492.6256,3,41.3,43.3
+HIYYITGETK,561.65544,3,41.3,43.3
+GGAEQFMEETER,806.87736,2,41.3,43.3
+LTDADAMK,661.87314,2,41.3,43.3
+EIVSGMK,611.3675,2,41.3,43.3
+ELAEDGYSGVEVR,826.92009,2,41.4,43.4
+GISEETTTGVHNLYK,703.0527,3,41.4,43.4
+RFEELGVK,479.29396,3,41.4,43.4
+RFDDAVVQSDMK,623.66953,3,41.4,43.4
+GVTIPYRPK,496.9816,3,41.4,43.4
+ADLAEEYSK,742.40586,2,41.4,43.4
+GDDLQAIK,659.39256,2,41.4,43.4
+EQISDIDDAVR,745.38842,2,41.5,43.5
+GGSDDSSKDPIDVNYEK,838.43733,3,41.5,43.5
+LQEEMLQR,638.35006,2,41.5,43.5
+NLDIERPTYTNLNR,650.01984,3,41.6,43.6
+AMVASGSELGK,754.43136,2,41.6,43.6
+SEMTPEELQK,825.44466,2,41.6,43.6
+AAVPSIK,572.37872,2,41.6,43.6
+FLEQQNK,682.90055,2,41.6,43.6
+GLSEDTTEETLK,890.98266,2,41.7,43.7
+GNLANVIR,543.33507,2,41.7,43.7
+DGYNYTLSK,759.91385,2,41.7,43.7
+FQTMEEK,685.87314,2,41.7,43.7
+EQIYDVYR,657.8482,2,41.7,43.7
+ASLPGVK,565.3709,2,41.7,43.7
+VAFSVAR,489.80033,2,41.8,43.8
+VYNYNHLMPTR,546.28709,3,41.8,43.8
+LAQFEPSQR,652.86165,2,41.8,43.8
+VSISEGDDKIEYR,657.02626,3,41.9,43.9
+AHSSMVGVNLPQK,609.35014,3,41.9,43.9
+AEIIADK,609.37892,2,41.9,43.9
+GMGYMPK,621.34297,2,41.9,43.9
+VGLIAAR,464.8107,2,42,44
+SGKPAELLK,544.02174,3,42,44
+AYLQQLR,560.83744,2,42,44
+DNIQGITKPAIR,595.36466,3,42.1,44.1
+EFSGNPIK,675.3951,2,42.1,44.1
+VPPPPPIAR,586.87129,2,42.1,44.1
+GIIDPTK,601.38146,2,42.1,44.1
+EFGTNIK,633.87654,2,42.1,44.1
+TGIGGMLR,517.30492,2,42.1,44.1
+LAYIAHPK,457.62353,3,42.1,44.1
+MVINHLEK,481.29156,3,42.2,44.2
+LIGDAAK,573.36835,2,42.2,44.2
+HWGGNVLGPK,508.30133,3,42.2,44.2
+MAQFDAK,634.8573,2,42.2,44.2
+LIEVDDER,609.33239,2,42.3,44.3
+EAVAMESYAK,778.92336,2,42.3,44.3
+EVSTYIK,649.39202,2,42.3,44.3
+GATQQILDEAER,780.41497,2,42.3,44.3
+AAGLALK,551.37344,2,42.3,44.3
+GDYPLEAVR,624.84292,2,42.4,44.4
+ALQASALK,630.40801,2,42.4,44.4
+KEEELQAALAR,572.67338,3,42.4,44.4
+LAHEVGWK,466.61503,3,42.4,44.4
+IVADKDYSVTANSK,733.42604,3,42.5,44.5
+GEHPGLSIGDVAK,580.0015,3,42.5,44.5
+KMPFTEK,523.32102,3,42.5,44.5
+QWGWTQGR,624.32777,2,42.6,44.6
+HIMGQNVADYMR,555.27972,3,42.6,44.6
+VAPAPAVVK,655.43403,2,42.6,44.6
+VPAGLEK,586.37618,2,42.6,44.6
+FAAATGATPIAGR,716.90913,2,42.7,44.7
+DLYDAGVK,669.88711,2,42.7,44.7
+EETQPPVALK,785.46625,2,42.7,44.7
+LGLDYEER,612.3271,2,42.7,44.7
+SQIHDIVLVGGSTR,570.99485,3,42.8,44.8
+VATVSLPR,536.33982,2,42.8,44.8
+ILLSSGR,487.81344,2,42.8,44.8
+EAIEGTYIDKK,652.05365,3,42.8,44.8
+VEYSEEELK,792.43207,2,42.8,44.8
+DVMPEVNK,695.39424,2,42.8,44.8
+EDMAALEK,682.87842,2,42.8,44.8
+EQIVPKPEEEVAQK,771.12072,3,42.9,44.9
+AVDDGVNTFK,762.42713,2,42.9,44.9
+SSGPYGGGGQYFAK,917.48042,2,43,45
+SSGPYGGGGQYFAK,611.98937,3,43,45
+YSLDPENPTK,811.44552,2,43,45
+EIAENALGK,701.91894,2,43,45
+TLLSDPTYR,647.86385,2,43,45
+DGLILTSR,552.33473,2,43,45
+VEFMDDTSR,664.82133,2,43.1,45.1
+YIDQEELNK,805.44552,2,43.1,45.1
+QMVETELK,718.41517,2,43.1,45.1
+DPEEIEKEEQAAAEK,801.76679,3,43.2,45.2
+VELQELNDR,672.86967,2,43.2,45.2
+EAPPMEKPEVVK,681.07054,3,43.2,45.2
+SLVSVTK,596.38929,2,43.2,45.2
+EKLEMEMEAAR,598.98799,3,43.2,45.2
+YLSEVASGDNK,547.63471,3,43.2,45.2
+YALTGDEVK,727.41877,2,43.2,45.2
+LSVDYGK,620.37109,2,43.2,45.2
+GPLATGGIK,636.40801,2,43.2,45.2
+TPAQFDADELR,746.38568,2,43.2,45.2
+VELSQLR,537.32945,2,43.2,45.2
+QTATQLLK,680.93185,2,43.2,45.2
+APSVPAAEPEYPK,605.34152,3,43.2,45.2
+QVLEPSFR,602.84801,2,43.2,45.2
+MLAEDELR,603.32351,2,43.3,45.3
+ADILEDKDGK,597.68708,3,43.3,45.3
+AEAGAGSATEFQFR,835.92042,2,43.4,45.4
+FADLSEAANR,661.84874,2,43.4,45.4
+SEMEVQDAELK,868.96067,2,43.4,45.4
+STELLIR,530.83183,2,43.5,45.5
+AGNLGGGVVTIER,736.42514,2,43.5,45.5
+IVEMSTSK,676.89662,2,43.5,45.5
+AVFVSEGK,647.89219,2,43.5,45.5
+ALAAGGYDVEK,776.44278,2,43.5,45.5
+IIEDQQESLNK,592.33655,3,43.5,45.5
+IIEDQQESLNK,888.00119,2,43.5,45.5
+FLNAENAQK,746.92984,2,43.5,45.5
+DVAYQYVK,722.41603,2,43.5,45.5
+LVIEEAER,594.3453,2,43.5,45.5
+TFLVGER,525.81089,2,43.5,45.5
+KGDIVDIK,525.67434,3,43.5,45.5
+AAAAAAALQAK,707.94275,2,43.6,45.6
+ISQLEMAR,588.83404,2,43.6,45.6
+NDLAVVDVR,615.3562,2,43.6,45.6
+FIDTTSK,635.37638,2,43.6,45.6
+LVPQQLAH,567.84527,2,43.6,45.6
+IEEELGSK,681.89767,2,43.7,45.7
+AAAAAAALQAK,472.29759,3,43.7,45.7
+TPVPSDIDISR,714.89843,2,43.7,45.7
+GEENLMDAQVK,846.45556,2,43.7,45.7
+TIGISVDPR,593.85329,2,43.7,45.7
+TLLVADPR,557.3451,2,43.7,45.7
+EGLELPEDEEEKK,744.74532,3,43.8,45.8
+VVLIGGKPDR,504.66064,3,43.8,45.8
+TLVSVTK,603.39711,2,43.8,45.8
+EAESLIAK,659.90276,2,43.8,45.8
+DGVVEITGK,688.41349,2,43.8,45.8
+QPTIFQNK,717.42947,2,43.8,45.8
+EIAQDFK,654.88182,2,43.8,45.8
+VLEVNPQNK,749.95331,2,43.8,45.8
+GMLPDPK,608.36221,2,43.8,45.8
+GALALEEK,644.89747,2,43.9,45.9
+IGKPAPDFK,554.01821,3,43.9,45.9
+VHSFPTLK,462.95516,3,43.9,45.9
+VMLYPSR,547.81512,2,43.9,45.9
+HNDDEQYAWESSAGGSFTVR,829.04544,3,44,46
+GVAINMVTEEDKR,640.69234,3,44,46
+TLSDYNIQK,770.44278,2,44,46
+TLSDYNIQK,513.96428,3,44,46
+GSDQAIITLR,651.88258,2,44,46
+AVLGEVK,587.384,2,44,46
+KEVGMIDGK,555.33885,3,44,46
+GYDVIAQAQSGTGK,618.34382,3,44.1,46.1
+VNVPVIGGHAGK,535.99954,3,44.1,46.1
+VVFEQTK,654.90002,2,44.1,46.1
+VLVDMSR,524.80475,2,44.2,46.2
+SDKPDMAEIEK,996.54996,2,44.2,46.2
+SDKPDMAEIEK,664.7024,3,44.2,46.2
+APIIAVTR,535.35019,2,44.2,46.2
+EFTEAVEAK,741.41623,2,44.2,46.2
+ELALQPK,628.90256,2,44.2,46.2
+DFTVSAMHGDMDQK,680.66921,3,44.3,46.3
+VLTPTQVK,672.43677,2,44.3,46.3
+ADGYEPPVQESV,760.37752,2,44.3,46.3
+SLLNKPK,765.00513,2,44.3,46.3
+MDDREDLVYQAK,992.01651,2,44.4,46.4
+EILSEVER,602.34275,2,44.4,46.4
+TLETVPLER,643.8795,2,44.4,46.4
+SADFTNFDPR,699.84619,2,44.5,46.5
+EQLAALK,615.89474,2,44.5,46.5
+LPEGDLGK,643.88965,2,44.5,46.5
+GSVSDEEMMELR,806.38143,2,44.6,46.6
+EAAENSLVAYK,826.96662,2,44.6,46.6
+MDKNELVQK,917.5392,2,44.6,46.6
+EAAENSLVAYK,551.64684,3,44.6,46.6
+SDQDYILK,720.41095,2,44.6,46.6
+FEPYANPTK,762.92676,2,44.6,46.6
+QFVTATDVVR,682.8904,2,44.6,46.6
+VTVDEIEK,695.91332,2,44.6,46.6
+DVFRDPALK,506.97299,3,44.6,46.6
+AKHDELTYF,527.96075,3,44.6,46.6
+LKDDEVAQLK,616.04661,3,44.7,46.7
+GTGIVSAPVPK,495.31313,3,44.7,46.7
+KESYSVYVYK,651.71486,3,44.7,46.7
+GTGIVSAPVPK,742.46606,2,44.7,46.7
+LELAQYR,561.32945,2,44.7,46.7
+ALIAAQYSGAQVR,526.30514,3,44.8,46.8
+ALIAAQYSGAQVR,788.95407,2,44.8,46.8
+WLHNEDQMAVEK,653.34505,3,44.8,46.8
+SNTPILVDGK,751.45314,2,44.8,46.8
+AIGSASEGAQSSLQEVYHK,807.43224,3,44.9,46.9
+SLDFYTR,565.80581,2,44.9,46.9
+HPDVEVDGFSELR,576.96333,3,44.9,46.9
+ELNITAAK,659.41075,2,44.9,46.9
+KDWYDVK,547.65869,3,44.9,46.9
+VMLGETNPADSKPGTIR,748.75226,3,45,47
+GLDVEDVK,666.89239,2,45,47
+EAIEGTYIDK,798.94789,2,45,47
+NYYEQWGK,773.40874,2,45,47
+AEEILEK,645.38948,2,45,47
+IMGPNYTPGK,768.43644,2,45,47
+AEAGDNLGALVR,707.89622,2,45.1,47.1
+AAQGEPQVQFK,851.98006,2,45.1,47.1
+LILDSAR,508.81872,2,45.1,47.1
+GLQDVLR,515.31634,2,45.1,47.1
+MFSSSAK,629.3493,2,45.1,47.1
+TTPSYVAFTDTER,858.93574,2,45.2,47.2
+ADDGRPFPQVIK,601.01726,3,45.2,47.2
+FFPASADR,570.30597,2,45.2,47.2
+KEELTLEGIR,549.33448,3,45.2,47.2
+YEWDVAEAR,684.34329,2,45.2,47.2
+ATQALVLAPTR,685.42187,2,45.2,47.2
+KFGDPVVQSDMK,680.05852,3,45.3,47.3
+ATNFLAHEK,765.93766,2,45.3,47.3
+IFAPNHVVAK,518.65712,3,45.3,47.3
+QLLLTADDR,637.3693,2,45.4,47.4
+IGAEVYHNLK,534.65203,3,45.4,47.4
+VAYVSFGPHAGK,564.32755,3,45.4,47.4
+LMEDLDR,560.79713,2,45.4,47.4
+VGDVYIPR,574.33728,2,45.4,47.4
+LITEDVQGK,730.93987,2,45.5,47.5
+VLSSIEQK,681.42386,2,45.5,47.5
+EVFEMATR,606.31823,2,45.5,47.5
+IEDVTPIPSDSTR,829.94356,2,45.6,47.6
+ALAAAGYDVEK,783.4506,2,45.6,47.6
+ALAAAGYDVEK,522.63616,3,45.6,47.6
+YLAEVAAGDDKK,656.3854,3,45.6,47.6
+ELTAVVQK,673.4264,2,45.6,47.6
+ALGQNPTNAEVLK,907.03282,2,45.6,47.6
+GYGFVHFETQEAAER,657.32504,3,45.6,47.6
+ALYETELADAR,740.89588,2,45.6,47.6
+YDDMAAAMK,737.37773,2,45.6,47.6
+HVFGESDELIGQK,639.68758,3,45.7,47.7
+DVNVNFEK,711.90329,2,45.7,47.7
+HLVDEPQNLIK,588.68551,3,45.7,47.7
+DALQGFK,618.87126,2,45.7,47.7
+EVDEQMLNVQNK,635.67658,3,45.8,47.8
+VLEDSDLK,688.9055,2,45.8,47.8
+ATFDAISK,655.88965,2,45.8,47.8
+DFDTALK,634.36855,2,45.8,47.8
+EGLELPEDEEEK,937.9854,2,45.9,47.9
+EVDEQMLNVQNK,953.01123,2,45.9,47.9
+YLMEEDEDAYKK,741.06037,3,45.9,47.9
+EGLELPEDEEEK,625.65936,3,45.9,47.9
+TGPNLHGLFGR,466.59988,3,45.9,47.9
+QTVAVGVIK,686.95004,2,45.9,47.9
+LKGDDLQAIK,596.71145,3,46,48
+EDLYLKPIQR,578.35024,3,46,48
+YESSTASALVA,664.35078,2,46,48
+AFSQFGK,621.86598,2,46,48
+AIADTGANVVVTGGK,611.02783,3,46.1,48.1
+AQIHDLVLVGGSTR,565.66321,3,46.1,48.1
+DYFEQYGK,754.3953,2,46.1,48.1
+VDATEESDLAQQYGVR,670.67076,3,46.2,48.2
+GNFGGSFAGSFGGAGGHAPGVAR,755.37679,3,46.2,48.2
+GGYIGSTYFER,739.87749,2,46.2,48.2
+VDATEESDLAQQYGVR,1005.5025,2,46.2,48.2
+LLQDLDK,651.9053,2,46.2,48.2
+TFEGIDPK,682.89493,2,46.2,48.2
+DPLNPIK,627.89474,2,46.2,48.2
+ELISNSSDALDK,875.48537,2,46.3,48.3
+ELISNSSDALDK,583.99267,3,46.3,48.3
+QIFLGGVDKR,530.99591,3,46.3,48.3
+VLDSGAPIK,679.4264,2,46.3,48.3
+GSTDNLMDDIER,797.88265,2,46.4,48.4
+FYEEVHDLER,522.5981,3,46.4,48.4
+ELIEQLR,565.34256,2,46.4,48.4
+KELNYFAK,567.34985,3,46.4,48.4
+VMEHFIK,454.60537,3,46.4,48.4
+LVSIDSK,610.38674,2,46.4,48.4
+GLVLMSR,502.80984,2,46.5,48.5
+FSVSPVVR,560.33982,2,46.6,48.6
+ATAVMPDGQFK,541.63739,3,46.6,48.6
+AGLVIGK,558.38126,2,46.6,48.6
+EVGSIIGK,630.90002,2,46.6,48.6
+AVDSQILPK,714.94496,2,46.6,48.6
+SGKYDLDFK,587.34477,3,46.6,48.6
+HFSVEGQLEFR,526.61397,3,46.7,48.7
+ATAVMPDGQFK,811.95245,2,46.7,48.7
+GFDEYMK,674.35459,2,46.7,48.7
+AVFPSIVGRPR,476.62766,3,46.8,48.8
+VAGQDGSVVQFK,564.99435,3,46.8,48.8
+LKGEATVSFDDPPSAK,783.78048,3,46.8,48.8
+IDISNVK,623.89219,2,46.8,48.8
+TLGLYGK,605.384,2,46.8,48.8
+GLTSVINQK,709.44258,2,46.9,48.9
+ANLSLLR,508.32671,2,46.9,48.9
+VAGQDGSVVQFK,846.98788,2,46.9,48.9
+DIVSGLK,595.38146,2,46.9,48.9
+DPFAHLPK,461.6114,3,46.9,48.9
+KLGEMWSEQSAK,694.39379,3,47,49
+IGGIGTVPVGR,627.89021,2,47,49
+LNFAVASR,553.82962,2,47,49
+DNSTMGYMMAK,853.91944,2,47.1,49.1
+ILGPQGNTIK,749.9715,2,47.1,49.1
+VGEVIVTK,651.92349,2,47.1,49.1
+TIAMDGTEGLVR,746.40556,2,47.2,49.2
+DYFEEYGK,754.8873,2,47.2,49.2
+MVPAGMGAGLER,709.37829,2,47.2,49.2
+AEDKEWMPVTK,674.383,3,47.2,49.2
+EDLRLPEGDLGK,600.68043,3,47.2,49.2
+NIILEEGK,687.42386,2,47.2,49.2
+LYEQLSGK,698.41603,2,47.2,49.2
+ELLTLDEKDPR,596.34868,3,47.2,49.2
+AASDIAMTELPPTHPIR,683.70486,3,47.3,49.3
+GAWSNVLR,566.32724,2,47.3,49.3
+VLLGETGK,637.90784,2,47.3,49.3
+LLLQVQHASK,532.33968,3,47.3,49.3
+KESYSIYVYK,656.38674,3,47.3,49.3
+SSLGPVGLDK,715.93459,2,47.3,49.3
+AEFVEVTK,690.91058,2,47.3,49.3
+QFSQYIK,686.40547,2,47.3,49.3
+VLATVTKPVGGDK,658.08517,3,47.4,49.4
+ATISNDGATILK,831.49554,2,47.4,49.4
+EVFEDAAEIR,704.3695,2,47.4,49.4
+GYSSLLK,613.38146,2,47.4,49.4
+KLEVEANNAFDQYR,719.05645,3,47.4,49.4
+IIFEDDR,568.81109,2,47.5,49.5
+AWTVEQLR,616.35346,2,47.5,49.5
+LTGMAFR,512.79419,2,47.5,49.5
+EAYPGDVFYLHSR,594.97193,3,47.6,49.6
+IVVVTAGVR,571.87657,2,47.6,49.6
+LQTQVFK,661.41583,2,47.6,49.6
+VFGNEIK,632.88691,2,47.6,49.6
+MAVLNEQVK,745.44427,2,47.6,49.6
+EAIDSYIK,698.90804,2,47.6,49.6
+ELEEWYAR,662.84038,2,47.6,49.6
+LVGMPAK,587.37512,2,47.6,49.6
+LAEALPK,600.39183,2,47.6,49.6
+GELLGFGR,539.31634,2,47.6,49.6
+EQQEAIEHIDEVQNEIDR,808.73286,3,47.7,49.7
+ESYSVYVYK,798.4397,2,47.7,49.7
+RAEDGSVIDYELIDQDAR,765.38691,3,47.7,49.7
+DLAPIGIR,542.33982,2,47.7,49.7
+FSELTAEK,691.90021,2,47.7,49.7
+VAAGLQIK,629.41838,2,47.7,49.7
+ESYSVYVYK,532.62889,3,47.7,49.7
+KGDIFLVR,469.30256,3,47.7,49.7
+AGLQFPVGR,587.35072,2,47.8,49.8
+QLIVGVNK,664.93693,2,47.8,49.8
+AALSLPAK,614.9051,2,47.8,49.8
+KVPQVSTPTLVEVSR,700.09272,3,47.9,49.9
+TPIVGQPSIPGGPVR,568.67171,3,47.9,49.9
+TEWLDGK,653.874,2,47.9,49.9
+TKPYIQVDIGGGQTK,764.7892,3,47.9,49.9
+IMDPNIVGSEHYDVAR,682.34896,3,47.9,49.9
+ATAVVDGAFK,718.92931,2,47.9,49.9
+TPIVGQPSIPGGPVR,852.50392,2,48,50
+VTVAGLAGK,637.41583,2,48,50
+ALVAYYQK,707.42894,2,48.1,50.1
+TFIAIKPDGVQR,601.70127,3,48.1,50.1
+LQLLEDDKENR,611.0157,3,48.1,50.1
+NAGVEGSLIVEK,837.49554,2,48.1,50.1
+TDAAVSFAK,705.40566,2,48.1,50.1
+FVLSSGK,598.37618,2,48.1,50.1
+GILAADESTGSIAK,896.01684,2,48.2,50.2
+GILAADESTGSIAK,597.68032,3,48.2,50.2
+YYVTIIDAPGHR,545.3015,3,48.2,50.2
+EVDIGIPDATGR,736.40133,2,48.2,50.2
+LTSLNVK,616.90256,2,48.2,50.2
+STGGAPTFNVTVTK,919.52483,2,48.3,50.3
+QITVNDLPVGR,720.92224,2,48.3,50.3
+VITIMQNPR,650.88407,2,48.3,50.3
+FPDENFK,677.874,2,48.3,50.3
+GLGVEIAK,622.90256,2,48.3,50.3
+DILIQYDR,632.85857,2,48.3,50.3
+EGRPSGEAFVELESEDEVK,855.77433,3,48.4,50.4
+AIEINPDSAQPYK,635.35583,3,48.4,50.4
+DISLSDYK,699.89767,2,48.4,50.4
+STGGAPTFNVTVTK,613.35231,3,48.4,50.4
+DNLAEDIMR,653.33715,2,48.4,50.4
+LQDEIQNMK,788.94209,2,48.4,50.4
+INVYYNEATGGK,893.99062,2,48.5,50.5
+YGVSGYPTLK,771.95024,2,48.5,50.5
+EVDIYTVK,712.92369,2,48.5,50.5
+INVYYNEATGGK,596.32951,3,48.6,50.6
+KLYDIDVAK,584.70066,3,48.6,50.6
+FIMESGAK,670.88605,2,48.6,50.6
+YLAEVATGEK,769.94515,2,48.6,50.6
+PYQYPALTPEQK,631.68892,3,48.6,50.6
+KASGPPVSELITK,672.0887,3,48.7,50.7
+ASGVAVSDGVIK,801.97698,2,48.7,50.7
+LMIEMDGTENK,585.64048,3,48.7,50.7
+NLQYYDISAK,836.96916,2,48.7,50.7
+AWEEYYK,723.88711,2,48.7,50.7
+LMIEMDGTENK,877.95708,2,48.7,50.7
+IPVGPETLGR,634.38221,2,48.7,50.7
+YLYEIAR,578.83183,2,48.7,50.7
+VHVIFNYK,493.30256,3,48.7,50.7
+DDAMLLK,632.37278,2,48.7,50.7
+DLTEYLSR,613.33493,2,48.8,50.8
+VETFSGVYK,744.42914,2,48.8,50.8
+LIVENLSSR,630.37967,2,48.8,50.8
+GSGNLEAIHIIK,570.68199,3,48.8,50.8
+ALDVIQAGK,686.93185,2,48.8,50.8
+IMSSPLSK,660.9017,2,48.8,50.8
+TILMMGR,525.8037,2,48.9,50.9
+EVSFQSTGESEWK,986.50683,2,48.9,50.9
+EVSFQSTGESEWK,658.00698,3,48.9,50.9
+DVIATDKEDVAFK,713.41525,3,48.9,50.9
+GFVVINQK,681.92911,2,48.9,50.9
+GEFGGFGSVSGK,793.93258,2,48.9,50.9
+IVVNLTGR,550.85309,2,48.9,50.9
+LAPEFAK,617.384,2,48.9,50.9
+AAIGLLAR,507.33708,2,49,51
+KEPAVLELEGK,634.06226,3,49,51
+EPISVSSEQVLK,592.01693,3,49,51
+AFFSEVER,607.32436,2,49,51
+AMTGVEQWPYR,783.90045,2,49,51
+FDDAVVQSDMK,856.95011,2,49,51
+VNFTVDQIR,660.8773,2,49.1,51.1
+LNEQASEEILK,866.49828,2,49.1,51.1
+MEQVNELK,745.91808,2,49.1,51.1
+GGIMLPEK,651.89642,2,49.1,51.1
+DLALAIR,500.82126,2,49.1,51.1
+YQLDPTASISAK,876.50082,2,49.1,51.1
+LAAFGQLHK,481.63431,3,49.1,51.1
+LSKDPNIVIAK,629.0745,3,49.1,51.1
+ADRDESSPYAAMLAAQDVAQR,832.07797,3,49.2,51.2
+GGIVDEGALLR,664.8904,2,49.2,51.2
+YLAEFATGNDR,743.3804,2,49.2,51.2
+ISVYYNEATGGK,587.32587,3,49.2,51.2
+FGDPVVQSDMK,840.95519,2,49.2,51.2
+MLVSGAGDIK,724.93099,2,49.2,51.2
+ISVYYNEATGGK,880.48517,2,49.3,51.3
+SIYYITGESK,809.95826,2,49.3,51.3
+SIYYITGESK,540.30793,3,49.3,51.3
+GNKPWISLPR,542.66791,3,49.3,51.3
+TIAPALVSK,679.44459,2,49.3,51.3
+GAIILAK,572.39691,2,49.3,51.3
+ELQEMDKDDESLIK,794.101,3,49.4,51.4
+YDEMVESMK,795.40141,2,49.4,51.4
+VSELKEELK,588.03582,3,49.4,51.4
+GLGLDESGLAK,759.4506,2,49.4,51.4
+TVDLKPDWGK,616.03956,3,49.4,51.4
+KVDWLTEK,569.35337,3,49.4,51.4
+APLVLKD,607.39965,2,49.4,51.4
+VISESMDILFRIR,603.34824,3,49.4,51.4
+AAPFSLEYR,641.85329,2,49.5,51.5
+VAVGELTDEDVK,866.99029,2,49.5,51.5
+ELAEDDSILK,795.95317,2,49.5,51.5
+LLDVVHPAAK,507.65701,3,49.5,51.5
+YGVIILDEAHER,548.63666,3,49.5,51.5
+LGDVYVNDAFGTAHR,621.98988,3,49.6,51.6
+SIQEIQELDKDDESLR,792.76013,3,49.6,51.6
+YALYDATYETK,898.47956,2,49.6,51.6
+FVIATSTK,662.91567,2,49.6,51.6
+LDQPMTEIVSR,759.41339,2,49.6,51.6
+AVVLMGK,588.38295,2,49.6,51.6
+AQFLVEK,646.90256,2,49.6,51.6
+LVQDVANNTNEEAGDGTTTATVLAR,930.47534,3,49.7,51.7
+SHTILLVQPTK,869.03738,2,49.7,51.7
+DIPGLTDTTVPR,757.42481,2,49.7,51.7
+EQFLDGDGWTSR,820.39932,2,49.7,51.7
+TLVDIAK,609.39711,2,49.7,51.7
+LDIDSPPITAR,713.90879,2,49.8,51.8
+IISSIEQK,688.43168,2,49.8,51.8
+LITPAVVSER,657.40315,2,49.8,51.8
+LTGVFAPR,545.33454,2,49.8,51.8
+ALIEMEK,646.38843,2,49.8,51.8
+LLVVTDPR,571.36075,2,49.8,51.8
+EVPAVPETLK,770.97117,2,49.8,51.8
+GVVDSDDLPLNVSR,857.96229,2,49.9,51.9
+IQASTMAFK,727.92571,2,49.9,51.9
+APAMFNIR,574.82602,2,49.9,51.9
+GIVPLAK,578.39691,2,49.9,51.9
+FANYIDK,664.88437,2,49.9,51.9
+SKPGAAMVEMADGYAVDR,776.06937,3,50,52
+KLFNLSK,513.00754,3,50,52
+NFDEILR,568.31908,2,50,52
+FPGQLNADLR,680.38275,2,50,52
+EVGVYEALK,733.43696,2,50,52
+FYEQFSK,703.88965,2,50,52
+ELNYFAK,671.89219,2,50,52
+SLPLNPK,634.90256,2,50,52
+VLAVNQENEHLMEDYEK,840.43325,3,50,52
+ARHRNVR,590.35466,2,50,52
+YQILPLHSQIPR,565.33655,3,50.1,52.1
+GTVTDFPGFDER,785.39096,2,50.1,52.1
+ALEIIPR,520.83691,2,50.1,52.1
+SVNELIYK,712.43168,2,50.2,52.2
+LVTDLTK,624.40239,2,50.2,52.2
+AIFAGYK,614.37872,2,50.2,52.2
+LSIVPVR,506.83945,2,50.2,52.2
+VATPVDWK,687.41329,2,50.2,52.2
+TLADLIR,515.82654,2,50.2,52.2
+GIYAYGFEKPSAIQQR,762.75974,3,50.3,52.3
+VIDPATATSVDLR,793.95119,2,50.3,52.3
+LIGEYGLR,575.3451,2,50.3,52.3
+ILGPGLNK,635.41838,2,50.3,52.3
+AVLLGPPGAGK,719.46332,2,50.3,52.3
+DFLLTAR,532.81872,2,50.3,52.3
+LQAYHTQTTPLIEYYR,742.73006,3,50.3,52.3
+LQQLPADFGR,687.39057,2,50.3,52.3
+GAVYSFDPVGSYQR,887.95172,2,50.4,52.4
+AVDSLVPIGR,628.38221,2,50.4,52.4
+GVQYLNEIK,761.45569,2,50.4,52.4
+VFEGNRPTNSIVFTK,723.0807,3,50.4,52.4
+DETEFYLGK,780.42151,2,50.4,52.4
+EIAEAYLGK,726.42914,2,50.4,52.4
+GDSVIVVLR,593.87148,2,50.4,52.4
+ETNLDSLPLVDTHSK,709.72811,3,50.5,52.5
+YYTSASGDEMVSLK,1005.01872,2,50.5,52.5
+ELISNASDALDK,578.66103,3,50.5,52.5
+ELISNASDALDK,867.48791,2,50.5,52.5
+TEQAISFAK,747.93205,2,50.5,52.5
+DVNAAIATIK,491.97288,3,50.5,52.5
+MLEQLDMR,632.83319,2,50.5,52.5
+ESYSIYVYK,537.30078,3,50.5,52.5
+FIEIAAR,524.82126,2,50.5,52.5
+AGGFLMK,591.35947,2,50.5,52.5
+MPSLPSYK,690.9017,2,50.5,52.5
+VSHVSTGGGASLELLEGK,733.75102,3,50.6,52.6
+NPDDITNEEYGEFYK,1146.55725,2,50.6,52.6
+TIAQDYGVLK,783.46879,2,50.6,52.6
+ESYSIYVYK,805.44753,2,50.6,52.6
+LSEDYGVLK,741.43442,2,50.6,52.6
+FVMQEEFSR,701.35534,2,50.6,52.6
+AGLMLQEADK,775.43664,2,50.6,52.6
+NPDDITNEEYGEFYK,764.70726,3,50.7,52.7
+TAVVVGTITDDVR,787.95119,2,50.7,52.7
+VLSIGDGIAR,615.37439,2,50.7,52.7
+SGVSLAALK,652.42112,2,50.7,52.7
+KLFVGGLK,517.01967,3,50.7,52.7
+AFSYYGPLR,651.85583,2,50.7,52.7
+GTWVQLK,645.40273,2,50.7,52.7
+GLVQALQTK,708.45295,2,50.7,52.7
+KVVNPLFEK,587.7129,3,50.8,52.8
+RAPFDLFENR,498.60693,3,50.8,52.8
+TGAAPIIDVVR,670.9086,2,50.8,52.8
+EMWTEVPK,739.40989,2,50.8,52.8
+QWYESHYALPLGR,616.99133,3,50.8,52.8
+LQMEAPHIIVGTPGR,616.68362,3,50.9,52.9
+LVLVGDGGTGK,737.45569,2,50.9,52.9
+YPMAVGLNK,725.92825,2,50.9,52.9
+LGDLYEEEMR,742.36864,2,50.9,52.9
+LSPEDYTLK,762.4397,2,50.9,52.9
+ELLPEIR,549.83965,2,50.9,52.9
+KSDIDEIVLVGGSTR,683.06483,3,51,53
+GDVTITNDGATILK,938.54322,2,51,53
+VATWFNQPAR,709.89074,2,51,53
+AFGYYGPLR,636.85055,2,51,53
+IDIIPNPQER,712.40896,2,51,53
+SLTNDWEDHLAVK,662.69474,3,51.1,53.1
+EALTYDGALLGDR,811.933,2,51.1,53.1
+KLDELYGTWR,580.33459,3,51.1,53.1
+AVSDWIDEQEK,889.47226,2,51.1,53.1
+AGVIFPVGR,572.85564,2,51.1,53.1
+QFAEMYVAK,772.93099,2,51.1,53.1
+GVVVVIK,586.41256,2,51.1,53.1
+ILGADTSVDLEETGR,902.97813,2,51.2,53.2
+NPDDITQEEYGEFYK,769.37914,3,51.2,53.2
+ESLIDGIK,666.91058,2,51.2,53.2
+IIALDGDTK,702.42914,2,51.2,53.2
+EITALAPSTMK,810.47576,2,51.2,53.2
+IGNFSTDIK,726.92676,2,51.2,53.2
+SGWESYYK,760.3953,2,51.2,53.2
+GVTFNVTTVDTK,870.50082,2,51.3,53.3
+DLSLEEIQK,766.95043,2,51.3,53.3
+LQLWDTAGQER,773.41477,2,51.3,53.3
+NPDDITQEEYGEFYK,1153.56508,2,51.3,53.3
+EITALAPSTMK,540.65293,3,51.3,53.3
+LQLEIDQK,722.94241,2,51.3,53.3
+FTDEEVDELYR,822.90136,2,51.3,53.3
+YPDPLIK,652.40494,2,51.3,53.3
+MVNHFIAEFK,570.65316,3,51.3,53.3
+FNPFVTSDR,656.34837,2,51.4,53.4
+YGEPGEVFINK,855.97698,2,51.4,53.4
+AGQAVDDFIEK,825.95879,2,51.4,53.4
+VLAAVYK,611.4022,2,51.4,53.4
+KSDVEAIFSK,604.36757,3,51.4,53.4
+KFDQLLAEEK,636.71849,3,51.4,53.4
+VNPIQGLASK,742.96368,2,51.4,53.4
+GTGGVDTAAVGGVFDVSNADR,1097.55052,2,51.5,53.5
+HFIDVGAGVIDEDYR,645.66517,3,51.5,53.5
+KDLYANTVLSGGTTMYPGIADR,939.83342,3,51.5,53.5
+VTLATLK,602.40748,2,51.5,53.5
+ALMDEVVK,681.90699,2,51.5,53.5
+NLQEAEEWYK,884.46952,2,51.5,53.5
+HALIIYDDLSK,582.67825,3,51.5,53.5
+LDVTSVEDYK,813.95317,2,51.5,53.5
+ISEQFTAMFR,737.88172,2,51.5,53.5
+EGEFVAQFK,756.92676,2,51.5,53.5
+AFLIEEQK,718.43168,2,51.6,53.6
+DEILPTTPISEQK,965.05088,2,51.6,53.6
+LVQGSILK,658.43931,2,51.6,53.6
+IETIEVMEDR,732.38429,2,51.6,53.6
+DLFPYEESK,793.42934,2,51.6,53.6
+LLSISGK,588.39183,2,51.6,53.6
+GDDLSTAILK,745.94515,2,51.6,53.6
+NFEDVAFDEK,836.43515,2,51.6,53.6
+NIGLGFK,603.88417,2,51.6,53.6
+VDFSITK,634.38674,2,51.6,53.6
+ADVQSIIGLQR,714.92224,2,51.7,53.7
+ELGVGIALR,578.8662,2,51.7,53.7
+SPYQEFTDHLVK,641.35231,3,51.7,53.7
+VNFAMNVGK,719.41805,2,51.7,53.7
+VWQVTIGTR,644.88238,2,51.7,53.7
+IGQGYLIK,675.43148,2,51.7,53.7
+DSPSVWAAVPGK,557.98719,3,51.8,53.8
+DSPSVWAAVPGK,836.47715,2,51.8,53.8
+LSDGVAVLK,680.43422,2,51.8,53.8
+SQIFSTASDNQPTVTIK,765.75807,3,51.8,53.8
+VVDPFSK,625.38146,2,51.8,53.8
+LPDGYEFK,713.90276,2,51.8,53.8
+EAATLEVERPLPMEVEK,800.44672,3,51.9,53.9
+GTIQVITQGTSLK,902.55085,2,51.9,53.9
+VYNVTQHAVGIVVNK,700.41743,3,51.9,53.9
+LVLDSVK,616.40494,2,51.9,53.9
+DFMIQGGDFTR,758.3768,2,51.9,53.9
+FGPALSVK,638.9051,2,51.9,53.9
+YVPLADVK,681.92349,2,51.9,53.9
+APQVLVLAPTR,697.44006,2,52,54
+ASLSLIEK,659.92095,2,52,54
+SAHLQWMVVR,749.41352,2,52,54
+ILDSVGIEADDDR,823.92537,2,52.1,54.1
+ILENEKDLEEAEEYK,847.12972,3,52.1,54.1
+GPLQSVQVFGR,708.91167,2,52.1,54.1
+VAGMDVELTVEER,838.93996,2,52.1,54.1
+KAPDFVFYAPR,590.3432,3,52.1,54.1
+LQVVDQPLPVR,746.95608,2,52.1,54.1
+LLGLGQK,593.89982,2,52.1,54.1
+LLVGVDEK,665.92095,2,52.1,54.1
+GFSLEELR,590.33219,2,52.2,54.2
+SVPTSTVFYPSDGVATEK,781.75432,3,52.2,54.2
+DLSTIEPLK,737.45007,2,52.2,54.2
+LVPVGYGIR,601.87657,2,52.2,54.2
+ISGLIYEETR,705.39552,2,52.2,54.2
+YTPSGQAGAAASESLFVSNHAY,819.73431,3,52.2,54.2
+IFGGEIK,611.384,2,52.2,54.2
+VAPEEHPVLLTEAPLNPK,804.80161,3,52.3,54.3
+AVFPSIVGR,587.86092,2,52.3,54.3
+ASGPPVSELITK,829.00046,2,52.3,54.3
+FVIKPIDK,549.69859,3,52.3,54.3
+GIYAYGFEK,753.42386,2,52.3,54.3
+GVVDSEDLPLNISR,871.97794,2,52.4,54.4
+IEDLSQQAQLAAAEK,691.72458,3,52.4,54.4
+GALQNIIPASTGAAK,624.04359,3,52.4,54.4
+LIPDSIGK,650.91567,2,52.4,54.4
+GALQNIIPASTGAAK,935.56175,2,52.4,54.4
+VLLPEYGGTK,767.96589,2,52.4,54.4
+DLTDYLMK,736.90718,2,52.4,54.4
+AELNEFLTR,661.3693,2,52.4,54.4
+VGINYQPPTVVPGGDLAK,761.77528,3,52.5,54.5
+ADKPDMGEIASFDK,1127.10563,2,52.5,54.5
+GDLGIEIPAEK,800.47153,2,52.5,54.5
+YPIEHGIITNWDDMEK,807.08378,3,52.5,54.5
+EHALLAYTLGVK,591.69401,3,52.5,54.5
+FYEAFSK,675.37892,2,52.5,54.5
+IPAMTIAK,651.91461,2,52.5,54.5
+EGLELLK,630.40239,2,52.6,54.6
+SYELPDGQVITIGNER,1010.53106,2,52.6,54.6
+LPLQDVYK,717.44205,2,52.6,54.6
+FEDENFILK,806.95298,2,52.7,54.7
+LFVGGLK,596.39691,2,52.7,54.7
+YFDEKIAK,851.01315,2,52.7,54.7
+ALLFIPR,529.84982,2,52.8,54.8
+VFLENVIR,609.87402,2,52.8,54.8
+EIIDLVLDR,657.89515,2,52.9,54.9
+LDQLIYIPLPDEK,1008.09509,2,52.9,54.9
+LISQIVSSITASLR,859.02469,2,53.3,55.3
+MFLVNSFLK,799.97266,2,53.7,55.7
+TLWTVLDAIDQMWLPVVR,795.77825,3,53.7,55.7
+MTQIMFETFNTPAMYVAIQAVLSLYASGR,1161.59564,3,53.8,55.8
+TLIDLYEQVVLELIELR,763.44867,3,53.9,55.9
+LLIVVELLLGEIPDR,641.06936,3,53.9,55.9
+SQDDEIGDGTTGVVVLAGALLEEAEQLLDR,1114.90865,3,54,56
+AALQEELSDVLIYLVALAAR,796.46309,3,54,56
+GYFEELITMLEAALGLER,762.07473,3,54.1,56.1
+SLYAIFSQFGQILDILVSR,800.45605,3,54.1,56.1
+AAVILESIFLK,852.53922,2,54.2,56.2
+DLFLDLIADVMFGVPSVIVAR,840.47635,3,54.2,56.2
+VGAGAPVYMAAVLEYLTAEILELAGNAAR,1054.9072,3,54.6,56.6
+IGVGAPVYMAAVLEYLTAEILELAGNAAR,1068.92285,3,54.8,56.8
diff --git a/start_server.bat b/start_server.bat
new file mode 100644
index 0000000..000b551
--- /dev/null
+++ b/start_server.bat
@@ -0,0 +1,3 @@
+"C:\Program Files\R\R-3.5.1\bin\Rscript.exe" start_server.R
+
+pause
\ No newline at end of file
diff --git a/start_server.sh b/start_server.sh
new file mode 100644
index 0000000..3d56189
--- /dev/null
+++ b/start_server.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# TODO: check if R is installed to the system PATH
+
+Rscript ./start_server.R
\ No newline at end of file