diff --git a/node_modules/resolve-options/LICENSE b/node_modules/resolve-options/LICENSE
new file mode 100644
index 0000000..b8fc743
--- /dev/null
+++ b/node_modules/resolve-options/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Blaine Bublitz <blaine.bublitz@gmail.com>, Eric Schoffstall <yo@contra.io> and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/resolve-options/README.md b/node_modules/resolve-options/README.md
new file mode 100644
index 0000000..60efcb3
--- /dev/null
+++ b/node_modules/resolve-options/README.md
@@ -0,0 +1,104 @@
+<p align="center">
+  <a href="http://gulpjs.com">
+    <img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
+  </a>
+</p>
+
+# resolve-options
+
+[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]
+
+Resolve an options object based on configuration.
+
+## Usage
+
+```js
+// This example assumes a Vinyl file
+
+var createResolver = require('resolve-options');
+
+var config = {
+  cwd: {
+    type: 'string',
+    default: process.cwd
+  },
+  sourcemaps: {
+    type: 'boolean',
+    default: false
+  },
+  since: {
+    type: ['date', 'number']
+  },
+  read: {
+    type: 'boolean'
+  }
+};
+
+var options = {
+  sourcemaps: true,
+  since: Date.now(),
+  read: function(file) {
+    return (file.extname !== '.mp4');
+  }
+};
+
+var resolver = createResolver(config, options);
+
+var cwd = resolver.resolve('cwd', file);
+// cwd === process.cwd()
+
+var sourcemaps = resolver.resolve('sourcemaps', file);
+// sourcemaps === true
+
+var read = resolver.resolve('read', file);
+// Given .mp4, read === false
+// Given .txt, read === true
+```
+
+## API
+
+### `createResolver([config,] [options])`
+
+Takes a `config` object that describes the options to accept/resolve and an `options` object (usually passed by a user) to resolve against the `config`. Returns a `resolver` that contains a `resolve` method for realtime resolution of options.
+
+The `config` object takes the following structure:
+```graphql
+config {
+  [optionKey] {
+    type // string, array or function
+    default // any value or function
+  }
+}
+```
+
+Each option is represented by its `optionKey` in the `config` object. It must be an object with a `type` property.
+
+The `type` property must be a string, array or function which will be passed to the [`value-or-function`][value-or-function] module (functions will be bound to the resolver to allow for dependent options).
+
+A `default` property may also be specified as a fallback if the option isn't available or is invalid. The `default` value can be any value or a function (functions will be bound to the resolver to allow for dependent defaults). __Note:__ `default` values are not type-validated by the `value-or-function` module.
+
+### `resolver.resolve(optionKey, [...arguments])`
+
+Takes an `optionKey` string and any number of `arguments` to apply if an option is a function. Returns the resolved value for the `optionKey`.
+
+## License
+
+MIT
+
+[value-or-function]: https://github.com/gulpjs/value-or-function
+
+[downloads-image]: http://img.shields.io/npm/dm/resolve-options.svg
+[npm-url]: https://npmjs.com/package/resolve-options
+[npm-image]: http://img.shields.io/npm/v/resolve-options.svg
+
+[travis-url]: https://travis-ci.org/gulpjs/resolve-options
+[travis-image]: http://img.shields.io/travis/gulpjs/resolve-options.svg?label=travis-ci
+
+[appveyor-url]: https://ci.appveyor.com/project/gulpjs/resolve-options
+[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/resolve-options.svg?label=appveyor
+
+[coveralls-url]: https://coveralls.io/r/gulpjs/resolve-options
+[coveralls-image]: http://img.shields.io/coveralls/gulpjs/resolve-options/master.svg
+
+[gitter-url]: https://gitter.im/gulpjs/gulp
+[gitter-image]: https://badges.gitter.im/gulpjs/gulp.png
diff --git a/node_modules/resolve-options/index.js b/node_modules/resolve-options/index.js
new file mode 100644
index 0000000..21ef429
--- /dev/null
+++ b/node_modules/resolve-options/index.js
@@ -0,0 +1,111 @@
+'use strict';
+
+var normalize = require('value-or-function');
+
+var slice = Array.prototype.slice;
+
+function createResolver(config, options) {
+  // TODO: should the config object be validated?
+  config = config || {};
+  options = options || {};
+
+  var resolver = {
+    resolve: resolve,
+  };
+
+
+  // Keep constants separately
+  var constants = {};
+
+  function resolveConstant(key) {
+    if (constants.hasOwnProperty(key)) {
+      return constants[key];
+    }
+
+    var definition = config[key];
+    // Ignore options that are not defined
+    if (!definition) {
+      return;
+    }
+
+    var option = options[key];
+
+    if (option != null) {
+      if (typeof option === 'function') {
+        return;
+      }
+      option = normalize.call(resolver, definition.type, option);
+      if (option != null) {
+        constants[key] = option;
+        return option;
+      }
+    }
+
+    var fallback = definition.default;
+    if (option == null && typeof fallback !== 'function') {
+      constants[key] = fallback;
+      return fallback;
+    }
+  }
+
+
+  // Keep requested keys to detect (and disallow) recursive resolution
+  var stack = [];
+
+  function resolve(key) {
+    var option = resolveConstant(key);
+    if (option != null) {
+      return option;
+    }
+
+    var definition = config[key];
+    // Ignore options that are not defined
+    if (!definition) {
+      return;
+    }
+
+    if (stack.indexOf(key) >= 0) {
+      throw new Error('Recursive resolution denied.');
+    }
+
+    option = options[key];
+    var fallback = definition.default;
+    var appliedArgs = slice.call(arguments, 1);
+    var args = [definition.type, option].concat(appliedArgs);
+
+    function toResolve() {
+      stack.push(key);
+      var option = normalize.apply(resolver, args);
+
+      if (option == null) {
+        option = fallback;
+        if (typeof option === 'function') {
+          option = option.apply(resolver, appliedArgs);
+        }
+      }
+
+      return option;
+    }
+
+    function onResolve() {
+      stack.pop();
+    }
+
+    return tryResolve(toResolve, onResolve);
+  }
+
+
+  return resolver;
+}
+
+
+function tryResolve(toResolve, onResolve) {
+  try {
+    return toResolve();
+  } finally {
+    onResolve();
+  }
+}
+
+
+module.exports = createResolver;
diff --git a/node_modules/resolve-options/package.json b/node_modules/resolve-options/package.json
new file mode 100644
index 0000000..4018395
--- /dev/null
+++ b/node_modules/resolve-options/package.json
@@ -0,0 +1,89 @@
+{
+  "_from": "resolve-options@^1.1.0",
+  "_id": "resolve-options@1.1.0",
+  "_inBundle": false,
+  "_integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
+  "_location": "/resolve-options",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "resolve-options@^1.1.0",
+    "name": "resolve-options",
+    "escapedName": "resolve-options",
+    "rawSpec": "^1.1.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.1.0"
+  },
+  "_requiredBy": [
+    "/vinyl-fs"
+  ],
+  "_resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+  "_shasum": "32bb9e39c06d67338dc9378c0d6d6074566ad131",
+  "_spec": "resolve-options@^1.1.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\vinyl-fs",
+  "author": {
+    "name": "Gulp Team",
+    "email": "team@gulpjs.com",
+    "url": "http://gulpjs.com/"
+  },
+  "bugs": {
+    "url": "https://github.com/gulpjs/resolve-options/issues"
+  },
+  "bundleDependencies": false,
+  "contributors": [
+    {
+      "name": "Blaine Bublitz",
+      "email": "blaine.bublitz@gmail.com"
+    }
+  ],
+  "dependencies": {
+    "value-or-function": "^3.0.0"
+  },
+  "deprecated": false,
+  "description": "Resolve an options object based on configuration.",
+  "devDependencies": {
+    "eslint": "^1.10.3",
+    "eslint-config-gulp": "^2.0.0",
+    "expect": "^1.20.2",
+    "istanbul": "^0.4.3",
+    "istanbul-coveralls": "^1.0.3",
+    "jscs": "^2.4.0",
+    "jscs-preset-gulp": "^1.0.0",
+    "mocha": "^3.2.0"
+  },
+  "engines": {
+    "node": ">= 0.10"
+  },
+  "files": [
+    "LICENSE",
+    "index.js"
+  ],
+  "homepage": "https://github.com/gulpjs/resolve-options#readme",
+  "keywords": [
+    "options",
+    "functions",
+    "resolver",
+    "type",
+    "configuration",
+    "config",
+    "opts",
+    "opt",
+    "default"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "resolve-options",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/gulpjs/resolve-options.git"
+  },
+  "scripts": {
+    "cover": "istanbul cover _mocha --report lcovonly",
+    "coveralls": "npm run cover && istanbul-coveralls",
+    "lint": "eslint index.js test/ && jscs index.js test/",
+    "pretest": "npm run lint",
+    "test": "mocha --async-only"
+  },
+  "version": "1.1.0"
+}
